Comments 16
Есть предположение, что вместо портов лучше использовать сокеты.
Под FreeBSD:
/usr/local/etc/rc.d/XXX
#!/bin/sh
#
# PROVIDE: XXX
# REQUIRE: LOGIN cleanvar mysql
. /etc/rc.subr
name=«XXX»
rcvar=`set_rcvar`
socket="/var/run/www/${name}.sock" # путь к сокету
pidfile="/var/run/www/${name}.pid" # путь к pid файлу
procname="/usr/local/bin/python" # путь к интерпретатору
command="/путь_к_manage.py"
start_cmd=«echo \»Starting ${name}.\"; su www -c '${procname} ${command} runfcgi method=threaded socket=${socket} daemonize=true pidfile=$ # www тут — юзер от которого работает nginx
timeout=300
load_rc_config $name
run_rc_command "$1"
Вот так всё просто с rc файлом. C nginx всё то же самое, как и в статье.
/usr/local/etc/rc.d/XXX
#!/bin/sh
#
# PROVIDE: XXX
# REQUIRE: LOGIN cleanvar mysql
. /etc/rc.subr
name=«XXX»
rcvar=`set_rcvar`
socket="/var/run/www/${name}.sock" # путь к сокету
pidfile="/var/run/www/${name}.pid" # путь к pid файлу
procname="/usr/local/bin/python" # путь к интерпретатору
command="/путь_к_manage.py"
start_cmd=«echo \»Starting ${name}.\"; su www -c '${procname} ${command} runfcgi method=threaded socket=${socket} daemonize=true pidfile=$ # www тут — юзер от которого работает nginx
timeout=300
load_rc_config $name
run_rc_command "$1"
Вот так всё просто с rc файлом. C nginx всё то же самое, как и в статье.
Если у вас не очень много оперативной памяти, стоит добавить параметр maxchildren для команды ./manage.py runfcgi.
Иначе, под нагрузкой, flup может наплодить кучу питоновских процессов, занять ими всю доступную память и начать жестко свопить.
Например, мой VDS от slicehost, 256mb памяти выдерживал 30 юзеров из jmeter, а при 40 уже уходил в отказ.
Теперь же, при maxchildren=10 мне вообще не удается повались сервер со своего домашнего канала.
Иначе, под нагрузкой, flup может наплодить кучу питоновских процессов, занять ими всю доступную память и начать жестко свопить.
Например, мой VDS от slicehost, 256mb памяти выдерживал 30 юзеров из jmeter, а при 40 уже уходил в отказ.
Теперь же, при maxchildren=10 мне вообще не удается повались сервер со своего домашнего канала.
а можно поподробней о «проблемах с урлами» в lighttpd?
а конгфиги клёвые, длинные! молодец!
пойду попробую разтянуть конфиги своего лайти раза в 4 может дотянусь до такого размера…
а конгфиги клёвые, длинные! молодец!
пойду попробую разтянуть конфиги своего лайти раза в 4 может дотянусь до такого размера…
А почему не mod_wsgi? nginx вроде его уже поддерживает?
И какая именно разница была обнаружена при сравнении с «тяжеловесным» апачем?
И какая именно разница была обнаружена при сравнении с «тяжеловесным» апачем?
в UNIX и POSIX-совместимых ОС создание процесса дешевле создания потока.
Про GIL согласен, а про потоки — спорное утверждение.
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Вот с этим барахлом что делать?
файла то нет, поэтому хотелось бы перенаправление на нормальный 505
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Вот с этим барахлом что делать?
файла то нет, поэтому хотелось бы перенаправление на нормальный 505
В Конфиге nginx последний } — лишний
Sign up to leave a comment.
Развертывание Django-проекта под nginx