参考网址 http://blog.csdn.net/21aspnet/article/details/47658127
关于Linux环境Nginx安装与调试以及PHP安装参考此文即可:http://blog.csdn.net/unix21/article/details/8544922
Linux版本:64位CentOS 6.4
Nginx版本:nginx1.8.0
PHP版本:php5.5.28 & php5.4.44
所谓多版本多版本PHP就是php5.4和5.5以及其他版本在同一台服务器。
假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不同安装目录即可。
安装第二个版本的PHP
# wget http://cn2.php.NET/get/php-5.4.44.tar.gz/from/this/mirror
# tar zxvf php-5.4.44.tar.gz
# cd php-5.4.44
#./configure --prefix=/usr/local/php5.4.44 \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-MySQL \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
===========================
以上命令可能会报以下错误:
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
============================
# make && make install
# cp -R ./sapi/fpm/php-fpm.conf /usr/local/php5.4.44/etc/php-fpm.conf
# cp php.ini-development /usr/local/php5.4.44/lib/php.ini
# cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm5.4.44
修改php-fpm.conf的侦听端口为9001,因为主版本5.5.28是侦听9000。
启动php-fpm
# /etc/init.d/php-fpm5.4.44
注意:这个命令如果不设置开机启动的话,下次运行时会运行不了程序。就要手动启动了!!!
php安装成功查看进程
#ps aux|grep php
这样就已经起好php-fpm了。
配置Nginx
增加一段新的端口8054的配置并指向到9001以及指定目录即可:
server {
listen 8054;
server_name localhost;
location / {
#root html;
root /usr/www5.4.44;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/www5.4.44$fastcgi_script_name;
}
}
nginx的配置文件nginx.conf在
# cd /usr/local/nginx/conf
完整的nginx配置如图:
======nginx conf 配置2====================================================
server {
listen 82;
server_name localhost;
location / {
root /网站根目录/;
index index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME /网站根目录/$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED /网站根目录/$fastcgi_path_info;
include fastcgi_params;
}
}
==========================================================
重启nginx
# /usr/local/nginx/sbin/nginx -s reload
注意需要防火墙增加新端口的开启,不然无法访问:
防火墙配置
=============================================================
注意如果你希望在本地机器例如xp访问虚拟机的网页,如果是centos6需要修改防火墙启动80端口
# cd /etc/sysconfig
修改iptables文件,或者直接用vim编辑
# vim /etc/sysconfig/iptables
添加下面一行,打开防火墙80端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8054 -j ACCEPT
重启防火墙
# /etc/init.d/iptables restart
=======================================================
防火墙端口设置2
systemctlstart firewalld启动防火墙
systemctlenable firewalld将防火墙设为开机启动
firewall-cmd--add-port=80/tcp开放80端口供nginx使用
firewall-cmd--zone=public --add-port=80/tcp --permanent永久性开启80端口
=======================================================
测试是否成功,查看phpinfo()。通过端口来决定访问的是那个php 版本