Linux系统下为Nginx安装多版本PHP
发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,我们在安装配置服务器LNPM环境时应该考虑到PHP多版本并存的问题,下面是实现Linux系统下为Nginx安装多版本PHP的实现方法linux版本:64位CentOS 6.4Nginx版本:nginx
千家信息网最后更新 2024年10月21日Linux系统下为Nginx安装多版本PHP
我们在安装配置服务器LNPM环境时应该考虑到PHP多版本并存的问题,下面是实现Linux系统下为Nginx安装多版本PHP的实现方法
linux版本:64位CentOS 6.4
Nginx版本:nginx1.8.0
php版本:php5.5.28 & php5.4.44
注意假如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# 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。
; Note: This value is mandatory.listen = 127.0.0.1:9001
启动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.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配置如下:
#user nobody;worker_processes 4; #error_log logs/error.log;#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; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { #root html; root /usr/www; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/www$fastcgi_script_name; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } server { listen 8054; server_name localhost; location / { #root html; root /usr/www5.4.44; index 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; } } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
重启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
测试是否成功,查看phpinfo()
以上即是Linux系统下为Nginx安装多版本PHP的方法,希望对大家有用
版本
配置
端口
防火墙
防火
目录
系统
成功
文件
方法
不同
一行
指向
有用
服务器
机器
环境
网页
进程
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库怎么改性别
网络技术画板
格力软件开发是哪个部门
mes一般保留几年数据库
新联华网络技术服务工作室
无法连接地平线4服务器
视频服务器怎么设置
山西it 软件开发哪家强
国家信息网络安全评级
web数据库模型
超大csv 数据库
重大活动网络安全保障方案
计算机网络技术专业资格考试
底格里斯服务器怎么样
软件开发专业的在职研究生
vb和数据库的连接数据库
开展网络安全++自查报告
上海服务器管理培训机构
黄浦区推广软件开发报价方案
数据库学习自律壁纸
软件开发与编译器哪个好
电信通话无法连接到服务器
蜀山区品牌网络技术诚信合作
软件开发行业对学历的要求很高吗
访问服务器内部地址失败
mc服务器平台
ice服务器损失十万是真的吗
广州网络安全运维费用
海陵区环保网络技术价格表格
饥荒什么服务器好