PHP init script to go with nginx?
Phillip B Oldham
phill at theactivitypeople.co.uk
Fri Jun 13 13:52:46 MSD 2008
Thanks Volodymyr.
How would one add in PHP_FCGI_MAX_REQUESTS to such scripts?
Volodymyr Kostyrko wrote:
> Phillip B Oldham wrote:
>> Hi all
>>
>> I'm running PHP5 & nginx on a number of servers now, and I'm really
>> happy with everything... except one item which is starting to bug me.
>>
>> Basically, on all the servers I run PHP5 by issuing the following
>> command from a shell script:
>>
>> sudo -u nginx sh -c 'PHP_FCGI_MAX_REQUESTS=50 PHP_FCGI_CHILDREN=4
>> /usr/local/bin/php-cgi -b 10005 &'
>>
>> Which works fine, other than it doen't start php on boot. Its getting
>> annoying because if the server reboots I have to manually start PHP.
>>
>> Has anyone got a happy php-fastcgi install which doesn't use spawn-fcgi?
>
> Here are some examples. They do create named sockets per user.
>
> Linux:
>
> #!/bin/ash
> #
> # chkconfig: 234 25 75
> # description: php FastCGI daemon
>
> case $1 in
> restart)
> /etc/init.d/phpFcgid stop
> /etc/init.d/phpFcgid start
> ;;
> start)
> users="www"
> www_childs='2'
> for user in ${users}; do
> socketdir="/tmp/.fastcgi.${user}"
> mkdir -p ${socketdir}
> chown ${user}:nobody ${socketdir}
> chmod 0750 ${socketdir}
> eval export PHP_FCGI_CHILDREN=\${${user}_childs}
> su -m ${user} -c "/opt/php5/bin/php-cgi -b
> ${socketdir}/socket&"
> done
> ;;
> stop) /usr/bin/pkill php-cgi ;;
> esac
>
> FreeBSD:
>
> #!/bin/sh
>
> # PROVIDE: phpFcgid
> # REQUIRE: LOGIN
> # KEYWORD: shutdown
>
> . /etc/rc.subr
>
> name="phpFcgid"
> rcvar=`set_rcvar`
>
> load_rc_config $name
> : ${phpFcgid_enable="NO"}
> : ${phpFcgid_users="www"}
> : ${phpFcgid_children="2"}
>
> start_cmd=phpFcgid_start
> stop_cmd=phpFcgid_stop
>
> phpFcgid_start() {
> echo "Starting $name."
> export PHP_FCGI_CHILDREN=${phpFcgid_children}
> for user in ${phpFcgid_users}; do
> socketdir="/tmp/.fastcgi.${user}"
> mkdir -p ${socketdir}
> chown ${user}:www ${socketdir}
> chmod 0750 ${socketdir}
> su -m ${user} -c "/usr/local/bin/php-cgi -b
> ${socketdir}/socket&"
> done
> }
>
> phpFcgid_stop() {
> echo "Stopping $name."
> pids=`pgrep php-cgi`
> pkill php-cgi
> wait_for_pids $pids
> }
>
> run_rc_command "$1"
>
--
*Phillip B Oldham*
The Activity People
phill at theactivitypeople.co.uk <mailto:phill at theactivitypeople.co.uk>
------------------------------------------------------------------------
*Policies*
This e-mail and its attachments are intended for the above named
recipient(s) only and may be confidential. If they have come to you in
error, please reply to this e-mail and highlight the error. No action
should be taken regarding content, nor must you copy or show them to anyone.
This e-mail has been created in the knowledge that Internet e-mail is
not a 100% secure communications medium, and we have taken steps to
ensure that this e-mail and attachments are free from any virus. We must
advise that in keeping with good computing practice the recipient should
ensure they are completely virus free, and that you understand and
observe the lack of security when e-mailing us.
------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: phill.vcf
Type: text/x-vcard
Size: 261 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx/attachments/20080613/8234c550/attachment.vcf>
More information about the nginx
mailing list