我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统下为Nginx安装多版本PHP

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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的方法,希望对大家有用

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统下为Nginx安装多版本PHP

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统下为Nginx安装多版本PHP

我们在安装配置服务器LNPM环境时应该考虑到php多版本并存的问题,下面是实现linux系统下为Nginx安装多版本PHP的实现方法 linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5
2022-06-04

Windows系统下怎么安装Nginx+PHP

这篇“Windows系统下怎么安装Nginx+PHP”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Windows系统下怎么安
2023-07-06

Linux下怎么安装多个Python版本

这篇“Linux下怎么安装多个Python版本”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux下怎么安装多个Pyth
2023-06-28

Linux下多个Python版本安装教程

因为环境或学习的需要,我们可能需要在服务器上安装多个python版本,安装一个更新的python版本后,使用软链来进行共存。 这个时候需要进行源码编译安装。 当然后续开发项目可以直接跑在虚拟环境下隔离开来,就不再需要在服务器上安装多个不同版
2022-06-04

Linux系统下怎么安装Git分布式版本控制系统

这篇文章主要讲解了“Linux系统下怎么安装Git分布式版本控制系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统下怎么安装Git分布式版本控制系统”吧!Git 是一个开源的分
2023-06-27

linux如何安装多个版本php并切换

今天小编给大家分享一下linux如何安装多个版本php并切换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装Apache
2023-07-06

Linux下二进制方式安装mysql5.7版本和系统优化

本文主要介绍MySQL二进制软件包的安装/启动/关闭过程。也许有人要问为什么要选择二进制的安装方式呢?其实答案很简单,官方版本中已经把所有功能都配置好了,我们可以很方便地拿来使用。官方MySQL有四个版本:GA版本、DMR版本、RC版本和Beta版本。一般情况
Linux下二进制方式安装mysql5.7版本和系统优化
2016-07-01

Linux下为不同版本python安装第三方库

问题背景目前的linux发行版上,有很多安装了两个版本的python。我的机器上默认的版本为python 2.x。且在使用easy_install安装第三方库时,也默认安装到了2.x的版本上,在3.x版本下则无法import安装的库。环境:
2022-06-04

怎么在Linux系统上安装Nginx和PHP模块

这篇文章主要介绍“怎么在Linux系统上安装Nginx和PHP模块”,在日常操作中,相信很多人在怎么在Linux系统上安装Nginx和PHP模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在Linux系
2023-07-06

Linux系统下多版本php共存的解决方案(超简单)

自php7问世,身为最新版本控的我马上升级体验,但是由于服务器上还有旧程序在运行,只好部署一个php多版本共存环境。 现有环境是lnmp - CentOS 6.7 - nginx 1.10.1 - mariadb-10.0.26 -
2022-06-04

编程热搜

目录