OberonCore https://forum.oberoncore.ru/ |
|
O3-Waf + Linux https://forum.oberoncore.ru/viewtopic.php?f=114&t=5130 |
Страница 1 из 1 |
Автор: | Иван Денисов [ Среда, 21 Май, 2014 22:18 ] |
Заголовок сообщения: | O3-Waf + Linux |
Пётр, поделись, пожалуйста, чем ты крутил Services.Actions, когда запускал вот этот сервер на VPS. https://bitbucket.org/petryxa/o3-waf (бранч lun) |
Автор: | Пётр Кушнир [ Среда, 21 Май, 2014 22:39 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Да в общем примерно так. Код: MODULE ConsInit; VAR n: LONGINT; PROCEDURE Idle (a, b, c: INTEGER); BEGIN Services.actionHook.Step END Idle; PROCEDURE Cycle (VAR par: ANYREC); BEGIN Dialog.Call("Config.Setup", " ", res); LOOP IF n=MAX(LONGINT) THEN n:=0 ELSE INC(n) END; IF ((n MOD 100) = 0) THEN Kernel.Collect END; IF (n MOD 50) = 0 THEN Kernel.FastCollect END; LinLibc.usleep(1000); Kernel.Try(Idle, 0, 0, 0); END; END Cycle; PROCEDURE Init; BEGIN n:=0; Kernel.Start(Cycle); Kernel.Quit(0); END Init; BEGIN Init END ConsInit. Модуль должен быть загружен при старте консольного ББ вместо ConsInterp кажется. Там еще нужны всякие заглушки, которые вы разработали для ББ под линукс. Заглушки для логов, и прочее. |
Автор: | Иван Денисов [ Четверг, 22 Май, 2014 16:56 ] | ||
Заголовок сообщения: | Re: O3-Waf + Linux | ||
Спасибо Пётр, запустил. http://o3.blackboxframework.org/ эта демка крутится на Debian 7 (32 бита) через прокси Nginx на хостинге международного Центра в Цюрихе. Вот конфигурация Nginx для этого сайта. Код: upstream bbweb { server 127.0.0.1:8080; } server { listen 80; server_name o3.blackboxframework.org; root /home/bbweb/Linux_O3; access_log /var/log/nginx/o3.access.log; error_log /var/log/nginx/o3.error.log; index index.html; location / { try_files $uri @bbweb; } location @bbweb { proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://bbweb; } } Коды получившегося сервера прикладываю к сообщению.
|
Автор: | Пётр Кушнир [ Четверг, 22 Май, 2014 17:44 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Круто. |
Автор: | Иван Денисов [ Пятница, 23 Май, 2014 06:15 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Есть идея сделать простую CMS на базе открытого примера. Там уже есть авторизация и редактирование базы данных. Надо будет попробовать как это дело совмещается с драйвером для MySQL. |
Автор: | Иван Денисов [ Пятница, 23 Май, 2014 08:04 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Только этот Init сильно грузит процессор все равно. Увеличил аргумент в usleep в 10 раз, но все равно это пока очень сырое решение получается. Код: MODULE Init;
IMPORT SYSTEM, Kernel, Services, LinLibc, HostConsole (* Console.SetHook *) , HostFonts (* Fonts.SetHook; required for Texts *), HostWindows (* Windows.SetHook *), HostDates (* Dates.SetHook *), HostDialog (* Dialog.SetShowHook *), StdInterpreter (* Dialog.SetCallHook *) , StdDialog (* Views.SetViewHook *), StdLog, ConsLog, (* Log.Hook *) Log, (* , LinLog, *) (* Converters (* .odc *), *) Dialog, AppStartup; CONST gc = 1000; VAR c: INTEGER; n: LONGINT; PROCEDURE Idle (a, b, c: INTEGER); BEGIN Services.actionHook.Step END Idle; PROCEDURE Cycle*; VAR res: INTEGER; BEGIN Dialog.Call("Config.Setup", " ", res); Dialog.Call("O3bbStartup.Start","",res); AppStartup.Start; LOOP IF n=MAX(LONGINT) THEN n:=0 ELSE INC(n) END; IF ((n MOD 100) = 0) THEN Kernel.Collect END; IF (n MOD 50) = 0 THEN Kernel.FastCollect END; LinLibc.usleep(10000); Kernel.Try(Idle, 0, 0, 0); END; END Cycle; PROCEDURE Init; BEGIN n:=0; Kernel.Start(Cycle); Kernel.Quit(0) END Init; BEGIN Init END Init. |
Автор: | Пётр Кушнир [ Пятница, 23 Май, 2014 10:30 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Да, у меня тоже грузит, где-то 5-8% постоянно, но я как-то не парюсь. Вроде обсуждали уже это. |
Автор: | Роман М. [ Пятница, 23 Май, 2014 11:46 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Иван Денисов писал(а): Для демонстрации слишком примитивно. Было бы круче работать с составными документы через веб-интерфейс.
|
Автор: | Роман М. [ Пятница, 23 Май, 2014 11:50 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Иван Денисов писал(а): Только этот Init сильно грузит процессор все равно. Увеличил аргумент в usleep в 10 раз, но все равно это пока очень сырое решение получается. Не это ли грузит: Цитата: IF ((n MOD 100) = 0) THEN Kernel.Collect END;
IF (n MOD 50) = 0 THEN Kernel.FastCollect END; |
Автор: | Иван Денисов [ Пятница, 23 Май, 2014 12:20 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Роман М. писал(а): Не это ли грузит: Цитата: IF ((n MOD 100) = 0) THEN Kernel.Collect END; IF (n MOD 50) = 0 THEN Kernel.FastCollect END; Пробовал увеличивать эти числа, но это незаметно влияет на загрузку CPU. |
Автор: | Иван Денисов [ Пятница, 23 Май, 2014 12:22 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Роман М. писал(а): Иван Денисов писал(а): Для демонстрации слишком примитивно. Было бы круче работать с составными документы через веб-интерфейс.Сейчас задача сделать простенькую CMS средствами O³-waf. Демонстрация имеет своей целью показать Центру, что O³-waf может легко жить вместе с другими сайтами на нашем хостинге. Это не демонстрация каких-то новых прорывных технологий. |
Автор: | Иван Денисов [ Пятница, 13 Июнь, 2014 13:41 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Похоже ребята из EDIS настроили против него firewall причем как-то очень умно, так что я не могу понять по какому критерию. Буду писать в тех поддержку... Сервер запускается, соединения устанавливает, но ничего не передает теперь в ответ на запросы. |
Автор: | Иван Денисов [ Понедельник, 21 Июль, 2014 22:00 ] |
Заголовок сообщения: | Re: O3-Waf + Linux |
Да, а демка опять работает. В чем было дело я так и не понял. http://o3.blackboxframework.org/ |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |