Linux系统下为Nginx安装多版本PHP
发表于:2022-08-12 作者:安全数据网编辑
编辑最后更新 2022年08月12日,我们在安装配置服务器LNPM环境时应该考虑到PHP多版本并存的问题,下面是实现Linux系统下为Nginx安装多版本PHP的实现方法linux版本:64位CentOS 6.4Nginx版本:nginx
我们在安装配置服务器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的方法,希望对大家有用
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
大兴回收二手服务器价格查询
神话互联网科技
泸州万象汇网络安全周
数据库 ftp
程序设计系统数据库
钢铁行业网络安全技术方案价格
学校网络安全宣传模板
历城区软件开发
思科网络安全技术
excel怎么连接数据库
数据库表转pdf
交互式边缘计算服务器一般多少钱
按网络安全法的发行机构是
官网服务器双核4g
软件开发职高哪家好
太原互联网科技管理有限公司
章丘进销存管理软件开发公司
战地五怎么做自己的服务器
数据库怎么执行语句
语义数据库
郑州免费学习软件开发
九江网络安全资讯线上学习
软件开发期阶段
腾讯云直播推流到自己服务器
网络技术需要注意什么
历城区软件开发
黑科网络技术官方账号
阴阳师会有几个服务器
数据库连接asp
郑州东塔网络安全学院费用多少