1. 安裝Nginx:http://www.cnblogs.com/vurtne-lu/p/7010065.html
php+vue、2. 編譯安裝
[root@zabbix opt]# wget http://cn2.php.net/get/php-5.5.35.tar.gz/from/this/mirror
[root@zabbix opt]# mv mirror php-5.5.35.tar.gz
[root@zabbix opt]# tar -zxvf php-5.5.35.tar.gz
[root@zabbix opt]# cd php-5.5.35
[root@zabbix php-5.5.35]# ./configure \
--prefix=/usr/local/product/php-5.5.35 \
--with-config-file-path=/usr/local/product/php-5.5.35/etc \
--with-bz2 \
--with-curl \
--enable-ftp \
--enable-sockets \
--disable-ipv6 \
--with-gd \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--with-freetype-dir=/usr/local \
--enable-gd-native-ttf \
--with-iconv-dir=/usr/local \
--enable-mbstring \
--enable-calendar \
--with-gettext \
--with-libxml-dir=/usr/local \
--with-zlib \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql=mysqlnd \
--enable-dom \
--enable-xml \
--enable-fpm \
--with-libdir=lib64 \
--enable-bcmath
[root@zabbix php-5.5.35]# make && make install
[root@zabbix php-5.5.35]# ln -s /usr/local/product/php-5.5.35 /usr/local/php
[root@zabbix php-5.5.35]# cp php.ini-production /usr/local/php/etc/php.ini
[root@zabbix php-5.5.35]# cd /usr/local/php/etc/
[root@zabbix php-5.5.35]# cp php-fpm.conf.default php-fpm.conf
3. 啟動php-fpm
[root@zabbix etc]# /usr/local/product/php-5.5.35/sbin/php-fpm
[root@zabbix etc]# netstat -tunlp
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 26086/php-fpm
4. 添加service管理,編寫啟動腳本:
[root@zabbix ~]# vim /etc/rc.d/init.d/php-fpm
#! /bin/sh### BEGIN INIT INFO
# Provides: php-fpm
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts php-fpm
# Description: starts the PHP FastCGI Process Manager daemon
### END INIT INFOprefix=/usr/local/php
exec_prefix=${prefix}php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_CONF=${prefix}/etc/php-fpm.conf
php_fpm_PID=${prefix}/var/run/php-fpm.pidphp_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"wait_for_pid () {try=0while test $try -lt 35 ; docase "$1" in'created')if [ -f "$2" ] ; thentry=''breakfi;;'removed')if [ ! -f "$2" ] ; thentry=''breakfi;;esacecho -n .try=`expr $try + 1`sleep 1done
}case "$1" instart)echo -n "Starting php-fpm "$php_fpm_BIN --daemonize $php_optsif [ "$?" != 0 ] ; thenecho " failed"exit 1fiwait_for_pid created $php_fpm_PIDif [ -n "$try" ] ; thenecho " failed"exit 1elseecho " done"fi;;stop)echo -n "Gracefully shutting down php-fpm "if [ ! -r $php_fpm_PID ] ; thenecho "warning, no pid file found - php-fpm is not running ?"exit 1fikill -QUIT `cat $php_fpm_PID`wait_for_pid removed $php_fpm_PIDif [ -n "$try" ] ; thenecho " failed. Use force-quit"exit 1elseecho " done"fi;;status)if [ ! -r $php_fpm_PID ] ; thenecho "php-fpm is stopped"exit 0fiPID=`cat $php_fpm_PID`if ps -p $PID | grep -q $PID; thenecho "php-fpm (pid $PID) is running..."elseecho "php-fpm dead but pid file exists"fi;;force-quit)echo -n "Terminating php-fpm "if [ ! -r $php_fpm_PID ] ; thenecho "warning, no pid file found - php-fpm is not running ?"exit 1fikill -TERM `cat $php_fpm_PID`wait_for_pid removed $php_fpm_PIDif [ -n "$try" ] ; thenecho " failed"exit 1elseecho " done"fi;;restart)$0 stop$0 start;;reload)echo -n "Reload service php-fpm "if [ ! -r $php_fpm_PID ] ; thenecho "warning, no pid file found - php-fpm is not running ?"exit 1fikill -USR2 `cat $php_fpm_PID`echo " done";;*)echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"exit 1;;
esac
5. 添加啟動權限
[root@zabbix ~]# chmod +x /etc/rc.d/init.d/php-fpm
6. 添加到chkconfig管理,設置隨系統啟動
[root@zabbix ~]# chkconfig --add php-fpm #php-fpm加入服務
[root@zabbix ~]# chkconfig php-fpm on #php-fpm 234級別下設置為啟動
[root@zabbix ~]# chkconfig --list php-fpm
php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off # 查看php-fpm服務當前配置
7. service使用方法
[root@zabbix ~]# service php-fpm start # 啟動
[root@zabbix ~]# service php-fpm stop # 關閉
[root@zabbix ~]# service php-fpm restart # 重啟
[root@zabbix ~]# service php-fpm reload # 重載
[root@zabbix ~]# service php-fpm configtest #檢查配置文件
8. 配置測試站點
[root@zabbix ~]# mkdir /data/web/zabbix.lifec.com -p
[root@zabbix ~]# mkdir /data/logs/nginx/ -p
[root@zabbix ~]# mkdir /data/logs/zabbix
[root@zabbix ~]# vim /data/web/zabbix.lifec.com/info.php
<?php phpinfo();
?>
9. 配置nginx.conf配置文件
[root@zabbix conf]# cat nginx.confuser nginx;
worker_processes 1;#error_log logs/error.log warning;
#error_log logs/error.log notice;
#error_log logs/error.log info;pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;include extra/*.conf;}
10. 編輯nginx虛擬主機
[root@zabbix conf]# pwd
/usr/local/product/nginx-1.9.15/conf
[root@zabbix conf]# mkdir extra
[root@zabbix conf]# cd extra
[root@zabbix conf]# vim nginx.conf
server {
listen 8027;
server_name zabbix.lifec.com;
access_log /data/logs/zabbix/zabbix.lifec.com.access.log main;
index index.html index.php index.html;
root /data/web/zabbix.lifec.com;location /{try_files $uri $uri/ /index.php?$args;
}location ~ ^(.+.php)(.*)$ {fastcgi_split_path_info ^(.+.php)(.*)$;include fastcgi.conf;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param PATH_INFO $fastcgi_path_info;
}}
注:配置提示
nginx將會連接回環地址9000端口執行PHP文件,需要使用tcp/ip協議,速度比較慢。
建議大家換成使用socket方式連接:將fastcgi_pass 127.0.0.1:9000;改成fastcgi_pass unix:/var/run/phpfpm.sock;
10. 配置主機域名訪問
[root@zabbix ~]# echo "192.168.10.175 zabbix.lifec.com" >> vim /etc/hosts
11. 重啟Nginx
[root@zabbix conf]# service nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
?12. 訪問測試
Nginx頁面
PHP頁面
?