设为首页 收藏本站
查看: 1046|回复: 0

[经验分享] Linux环境Nginx安装多版本PHP

[复制链接]

尚未签到

发表于 2017-11-22 21:39:31 | 显示全部楼层 |阅读模式
  关于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
  编译过程终于到几个依赖库错误:
  1、configure: error: xml2-config not found. Please check your libxml2 installation :
  yum install libxml2
  yum install libxml2-devel -y
  2、configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
  CentOS
  yum install freetype-devel
  Debian
  apt-get install libfreetype6-dev
  
# 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] view plain copy

  • ; 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
DSC0000.jpg

  这样就已经起好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配置如图:



[cpp] view plain copy

  • #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()
DSC0001.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409666-1-1.html 上篇帖子: Linux下自动备份MySQL数据库并上传到远程FTP服务器 下篇帖子: Centos-7 + Docker-1.12 中 devicemapper + direct_lvm 的 Docker 存储配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表