Установка nginx и php_fastcgi
February 1st, 2009
No comments
Променяли apache на nginx + fastcgi. Замечания:
- наверное должно работать быстрее
- в отличии от апачевских rewrite’ов – в nginx’овских вначале должно стоять ^/, а не просто ^
- красивый конфиг где все понятно
- под php надобно демона запускать, вот скриптик:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #!/bin/sh # # PROVIDE: php_fastcgi # REQUIRE: DAEMON # BEFORE: LOGIN # KEYWORD: shutdown . /etc/rc.subr name="php_fastcgi" rcvar=`set_rcvar` load_rc_config $name : ${php_fastcgi_enable="NO"} : ${php_fastcgi_user="www"} : ${php_fastcgi_bindaddr="127.0.0.1"} : ${php_fastcgi_bindport="9000"} : ${php_fastcgi_children="5"} : ${php_fastcgi_max_requests="1000"} : ${php_fastcgi_allowed_env=""} export PHP_FCGI_CHILDREN=${php_fastcgi_children} export PHP_FCGI_MAX_REQUESTS=${php_fastcgi_max_requests} command="/usr/local/bin/php-cgi" command_args="-q -b ${php_fastcgi_bindaddr}:${php_fastcgi_bindport} &" pidfile="/var/run/${name}.pid" _allowed_env="ORACLE_HOME PATH USER PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS" _allowed_env="${_allowed_env} ${php_fastcgi_allowed_env}" start_precmd="${name}_start_precmd" start_postcmd="ps -U ${php_fastcgi_user} -o 'pid,command'|grep ${command}|head -1|cut -f 1 -d ' ' > ${pidfile}" stop_postcmd=": > ${pidfile}" php_fastcgi_start_precmd() { export USER=${php_fastcgi_user} E= for i in ${_allowed_env}; do eval _val="\$$i" if [ "${_val}_x" != "_x" ]; then eval _add="$i=$_val" E="${E} ${_add}" fi done command="env - ${E} ${command}" } load_rc_config $name run_rc_command "$1" |
