Skip to content

Instantly share code, notes, and snippets.

@cea2k
Created October 26, 2011 21:59
Show Gist options
  • Save cea2k/1318020 to your computer and use it in GitHub Desktop.
Save cea2k/1318020 to your computer and use it in GitHub Desktop.

Revisions

  1. cea2k revised this gist Oct 26, 2011. No changes.
  2. cea2k created this gist Oct 26, 2011.
    75 changes: 75 additions & 0 deletions php_cgi
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,75 @@
    #!/bin/sh
    #
    # php-cgi - php-fastcgi swaping via spawn-fcgi
    #
    # chkconfig: - 85 15
    # description: Run php-cgi as app server
    # processname: php-cgi
    # config: /etc/sysconfig/phpfastcgi (defaults RH style)
    # pidfile: /var/run/php_cgi.pid
    # Note: See how to use this script :
    # http://www.cyberciti.biz/faq/rhel-fedora-install-configure-nginx-php5/
    # Source function library.
    . /etc/rc.d/init.d/functions

    # Source networking configuration.
    . /etc/sysconfig/network

    # Check that networking is up.
    [ "$NETWORKING" = "no" ] && exit 0

    spawnfcgi="/usr/bin/spawn-fcgi"
    php_cgi="/usr/bin/php-cgi"
    prog=$(basename $php_cgi)
    server_ip=127.0.0.1
    server_port=9000
    server_user=nginx
    server_group=nginx
    server_childs=5
    pidfile="/var/run/php_cgi.pid"

    # do not edit, put changes in /etc/sysconfig/phpfastcgi
    [ -f /etc/sysconfig/phpfastcgi ] && . /etc/sysconfig/phpfastcgi

    start() {
    [ -x $php_cgi ] || exit 1
    [ -x $spawnfcgi ] || exit 2
    echo -n $"Starting $prog: "
    daemon $spawnfcgi -a ${server_ip} -p ${server_port} -u ${server_user} -g ${server_group} -P ${pidfile} -C ${server_childs} -f ${php_cgi}
    retval=$?
    echo
    return $retval
    }

    stop() {
    echo -n $"Stopping $prog: "
    killproc -p ${pidfile} $prog -QUIT
    retval=$?
    echo
    [ -f ${pidfile} ] && /bin/rm -f ${pidfile}
    return $retval
    }

    restart(){
    stop
    sleep 2
    start
    }

    rh_status(){
    status -p ${pidfile} $prog
    }

    case "$1" in
    start)
    start;;
    stop)
    stop;;
    restart)
    restart;;
    status)
    rh_status;;
    *)
    echo $"Usage: $0 {start|stop|restart|status}"
    exit 3
    esac