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