Linux系统下如何为Nginx安装多版本PHP
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍"Linux系统下如何为Nginx安装多版本PHP",在日常操作中,相信很多人在Linux系统下如何为Nginx安装多版本PHP问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年02月05日Linux系统下如何为Nginx安装多版本PHP
这篇文章主要介绍"Linux系统下如何为Nginx安装多版本PHP",在日常操作中,相信很多人在Linux系统下如何为Nginx安装多版本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安全错误
数据库的锁怎样保障安全
丛台盘古网络技术有限公司
第五维度网络技术
薪资高的数据库
聊天软件开发的市场分析
服务器硬盘使用率安全范围
bat批量操作两个数据库
苏州物联网智慧园区软件开发
广州配资系统软件开发
网络安全宣传周的新闻稿
辽宁在线软件开发
湘西软件开发职校
软件开发任务分解工具
尚志手机软件开发
网络安全意识培训的目的
隐藏页面查数据库
烟囱设计软件开发
传奇单机不能连接服务器
现代计算机网络技术及应用教材
网络安全证去哪里考
从网络安全的角度来看丢失手机
长沙软件开发专科哪个学校好
软件开发接口设计类型
严密防范网络安全问题心得
上海网络技术服务生产过程
数据库统计空
馆藏外文期刊数据库
最好的软件开发
江西省网络安全研究院面试
开一家软件开发公司需要什么人
黄浦区一站式软件开发咨询热线