Script to spawn php5-cgi to enable Nginx to serve PHP code/pages
Artis Caune
artis.caune at gmail.com
Thu Nov 6 14:16:10 MSK 2008
2008/11/6 Volodymyr Kostyrko <c.kworr at gmail.com>:
> I use FreeBSD at large, but have composed a tiny snippet for some old CentOS
> server:
I like to spawn php processes like jail_* does: :)
# /etc/rc.conf
phpfcgi_enable="YES"
phpfcgi_list="roundcube roundcube2"
#
phpfcgi_roundcube_pid="/home/www/roundcube/pid"
phpfcgi_roundcube_socket="/home/www/roundcube/fcgi"
phpfcgi_roundcube_children="64"
phpfcgi_roundcube_requests="1000
#
phpfcgi_roundcube2_pid="/home/www/roundcube2/pid"
phpfcgi_roundcube2_socket="127.0.0.1:8080"
# /usr/local/etc/rc.d/phpfcgi start
# /usr/local/etc/rc.d/phpfcgi restart roundcube
# /usr/local/etc/rc.d/phpfcgi stop roundcube2
# vim /usr/local/etc/rc.d/phpfcgi
#!/bin/sh
# PROVIDE: phpfcgi
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="phpfcgi"
rcvar=`set_rcvar`
start_cmd="phpfcgi_start"
stop_cmd="phpfcgi_stop"
init_variables()
{
_f="$1"
if [ -z "$_f" ]; then
warn "init_variables: you must specify a phpfcgi"
return
fi
eval _user=\"\$phpfcgi_${_f}_user\"
eval _pid=\"\$phpfcgi_${_f}_pid\"
eval _program=\"\$phpfcgi_${_f}_program\"
eval _socket=\"\$phpfcgi_${_f}_socket\"
eval _children=\"\$phpfcgi_${_f}_children\"
eval _requests=\"\$phpfcgi_${_f}_requests\"
[ -z "${_user}" ] && _user="www"
[ -z "${_program}" ] && _program="/usr/local/bin/php-cgi"
[ -z "${_children}" ] && _children="8"
[ -z "${_requests}" ] && _requests="1000"
if [ -z "${_pid}" ]; then
err 3 "$name: No pid has been defined for ${_f}"
fi
if [ -z "${_socket}" ]; then
err 3 "$name: No socket has been defined for ${_f}"
fi
}
phpfcgi_start() {
echo -n 'Starting phpfcgis: '
for _phpfcgi in ${phpfcgi_list}; do
init_variables $_phpfcgi
echo -n "${_phpfcgi} "
PHP_FCGI_CHILDREN=${_children} \
PHP_FCGI_MAX_REQUESTS=${_requests} \
/usr/sbin/daemon -u ${_user} -p ${_pid} ${_program} -b ${_socket}
done
echo '.'
}
phpfcgi_stop() {
echo -n 'Stopping phpfcgis: '
for _phpfcgi in ${phpfcgi_list}; do
init_variables $_phpfcgi
if [ -f ${_pid} ]; then
echo -n "${_phpfcgi} "
kill -TERM $(cat ${_pid}) && rm -f ${_pid}
fi
done
echo '.'
}
load_rc_config $name
cmd="$1"
if [ $# -gt 0 ]; then
shift
fi
if [ -n "$*" ]; then
phpfcgi_list="$*"
fi
run_rc_command "${cmd}"
--
regards,
Artis Caune
<----. CCNA | BSDA
<----|====================
<----' didii FreeBSD
More information about the nginx
mailing list