手记

nginx+php_php-fpm编译版

背景:

centos6.6_64

nginx-1.11

php5.6.22

依赖:

(nginx)yum install -y gcc pcre openssl make
(php)yum install -y gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel glibc glibc-devel glib2 glib2-devel

安装:

tar xzf nginx-1.11.1.tar.gz ./configure --prefix=/usr/local/nginx --with-http_gzip_static_module  --with-http_stub_status_modulemake && make install
tar xzf php-5.6.22.tar.bz2 ./configure  --prefix=/usr/local/php  --enable-fpmmake && make install

配置:

1.nginx

server {        listen       80;               server_name  localhost;               root /usr/local/nginx/html;               error_page   500 502 503 504  /50x.html;               location = /50x.html {                       root   html;                   }                       location ~ \.php$ {                       root           /usr/local/nginx/html;                       fastcgi_pass   127.0.0.1:9000;                      fastcgi_index  index.php;                       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;                       include        fastcgi_params;                   }     }  # $document_root

2.php-fpm

[www]user = $poolgroup = $poollisten =127.0.0.1:9000listen.backlog = 4096pm = dynamicpm.max_children = 32pm.start_servers = 8pm.min_spare_servers = 8pm.max_spare_servers = 12pm.max_requests = 2048pm.status_path = /$pool_statusping.path = /$pool_pingping.response = $pool_OKaccess.log = /opt/logs/php/$pool.access.logaccess.format = %R - %u %t %n " "  "%m %r%Q%q" " "  %s %f %{mili}d %{kilo}M %C%%slowlog = /opt/logs/php/$pool.slow.logrequest_slowlog_timeout = 5request_terminate_timeout = 30

脚本:

1.nginx

nginx=${NGINX-/opt/yingmoo/nginx/sbin/nginx}prog=`/bin/basename $nginx`conffile=${CONFFILE-/opt/yingmoo/nginx/conf/nginx.conf}lockfile=${LOCKFILE-/var/lock/subsys/nginx}pidfile=${PIDFILE-/opt/yingmoo/nginx/logs/nginx.pid}SLEEPMSEC=${SLEEPMSEC-200000}UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS-5}RETVAL=0start() {    echo -n $"Starting $prog: "    daemon --pidfile=${pidfile} ${nginx} -c ${conffile}    RETVAL=$?    echo    [ $RETVAL = 0 ] && touch ${lockfile}    return $RETVAL}stop() {    echo -n $"Stopping $prog: "    killproc -p ${pidfile} ${prog}    RETVAL=$?    echo    [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}}reload() {    echo -n $"Reloading $prog: "    killproc -p ${pidfile} ${prog} -HUP    RETVAL=$?    echo}upgrade() {    oldbinpidfile=${pidfile}.oldbin    configtest -q || return    echo -n $"Starting new master $prog: "    killproc -p ${pidfile} ${prog} -USR2    echo    for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do        /bin/usleep $SLEEPMSEC        if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then            echo -n $"Graceful shutdown of old $prog: "            killproc -p ${oldbinpidfile} ${prog} -QUIT            RETVAL=$?            echo            return        fi    done    echo $"Upgrade failed!"    RETVAL=1}configtest() {    if [ "$#" -ne 0 ] ; then        case "$1" in            -q)                FLAG=$1                ;;            *)                ;;        esac        shift    fi    ${nginx} -t -c ${conffile} $FLAG    RETVAL=$?    return $RETVAL}rh_status() {    status -p ${pidfile} ${nginx}}# See how we were called.case "$1" in    start)        rh_status >/dev/null 2>&1 && exit 0        start        ;;    stop)        stop        ;;    status)        rh_status        RETVAL=$?        ;;    restart)        configtest -q || exit $RETVAL        stop        start        ;;    upgrade)        rh_status >/dev/null 2>&1 || exit 0        upgrade        ;;    condrestart|try-restart)        if rh_status >/dev/null 2>&1; then            stop            start        fi        ;;    force-reload|reload)        reload        ;;    configtest)        configtest        ;;    *)        echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}"        RETVAL=2esacexit $RETVAL

2.php-fpm

RETVAL=0prog="php-fpm"pidfile=${PIDFILE-/var/run/php-fpm/php-fpm.pid}lockfile=${LOCKFILE-/var/lock/subsys/php-fpm}daemon="/usr/local/php/sbin/php-fpm"configfile="/usr/local/php/etc/php-fpm.conf"start () {	echo -n $"Starting $prog: "	dir=$(dirname ${pidfile})	[ -d $dir ] || mkdir $dir	/usr/local/php/sbin/php-fpm  -g ${pidfile} -y $configfile -D	RETVAL=$?	echo	[ $RETVAL -eq 0 ] && touch ${lockfile}}stop () {	echo -n $"Stopping $prog: "	killproc -p ${pidfile} php-fpm	RETVAL=$?	echo	if [ $RETVAL -eq 0 ] ; then		rm -f ${lockfile} ${pidfile}	fi}restart () {        stop        start}reload () {	echo -n $"Reloading $prog: "	if ! $PHP-FPM --test ; then	        RETVAL=6	        echo $"not reloading due to configuration syntax error"	        failure $"not reloading $prog due to configuration syntax error"	else		killproc -p ${pidfile} php-fpm -USR2		RETVAL=$?	fi	echo}# See how we were called.case "$1" in  start)	start	;;  stop)	stop	;;  status)	status -p ${pidfile} php-fpm	RETVAL=$?	;;  restart)	restart	;;  reload|force-reload)	reload	;;  configtest) 	/usr/sbin/php-fpm --test	RETVAL=$?	;;  condrestart|try-restart)	[ -f ${lockfile} ] && restart || :	;;  *)	echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart|try-restart|configtest}"	RETVAL=2        ;;esacexit $RETVAL


0人推荐
随时随地看视频
慕课网APP