• Linux环境Nginx安装多版本PHP


    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
    # 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。

    1. ; Note: This value is mandatory.  
    2. listen = 127.0.0.1:9001  

    启动php-fpm
    php安装成功查看进程

    #ps aux|grep php

    这样就已经起好php-fpm了。

    配置Nginx

    增加一段新的端口8054的配置并指向到9001以及指定目录即可:

    server {
            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_index index.php;
    include fastcgi_params;
    }
     
        }

    nginx的配置文件nginx.conf在

    # cd /usr/local/nginx/conf

     

     

     

    1. #user  nobody;  
    2. worker_processes  4;  
    3.   
    4. #error_log  logs/error.log;  
    5. #error_log  logs/error.log  notice;  
    6. #error_log  logs/error.log  info;  
    7.   
    8. #pid        logs/nginx.pid;  
    9.   
    10.   
    11. events {  
    12.     worker_connections  1024;  
    13. }  
    14.   
    15.   
    16. http {  
    17.     include       mime.types;  
    18.     default_type  application/octet-stream;  
    19.   
    20.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
    21.     #                  '$status $body_bytes_sent "$http_referer" '  
    22.     #                  '"$http_user_agent" "$http_x_forwarded_for"';  
    23.   
    24.     #access_log  logs/access.log  main;  
    25.   
    26.     sendfile        on;  
    27.     #tcp_nopush     on;  
    28.   
    29.     #keepalive_timeout  0;  
    30.     keepalive_timeout  65;  
    31.   
    32.     #gzip  on;  
    33.   
    34.     server {  
    35.         listen       80;  
    36.         server_name  localhost;  
    37.   
    38.         #charset koi8-r;  
    39.   
    40.         #access_log  logs/host.access.log  main;  
    41.   
    42.         location / {  
    43.             #root   html;  
    44.             root /usr/www;  
    45.             index  index.html index.htm;  
    46.         }  
    47.   
    48.         #error_page  404              /404.html;  
    49.   
    50.         # redirect server error pages to the static page /50x.html  
    51.         #  
    52.         error_page   500 502 503 504  /50x.html;  
    53.         location = /50x.html {  
    54.             root   html;  
    55.         }  
    56.   
    57.         # proxy the PHP scripts to Apache listening on 127.0.0.1:80  
    58.         #  
    59.         #location ~ .php$ {  
    60.         #    proxy_pass   http://127.0.0.1;  
    61.         #}  
    62.   
    63.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
    64.         #  
    65.         #location ~ .php$ {  
    66.         #    root           html;  
    67.         #    fastcgi_pass   127.0.0.1:9000;  
    68.         #    fastcgi_index  index.php;  
    69.         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
    70.         #    include        fastcgi_params;  
    71.         #}  
    72.   
    73.         location ~ .php$ {  
    74.         root html;  
    75.         fastcgi_pass 127.0.0.1:9000;  
    76.         fastcgi_index index.php;  
    77.         include fastcgi_params;  
    78.         fastcgi_param SCRIPT_FILENAME /usr/www$fastcgi_script_name;  
    79.         }  
    80.    
    81.         # deny access to .htaccess files, if Apache's document root  
    82.         # concurs with nginx's one  
    83.         #  
    84.         #location ~ /.ht {  
    85.         #    deny  all;  
    86.         #}  
    87.     }  
    88.       
    89.     server {  
    90.         listen       8054;  
    91.         server_name  localhost;  
    92.   
    93.         location / {  
    94.             #root   html;  
    95.             root /usr/www5.4.44;  
    96.             index  index.html index.htm;  
    97.         }  
    98.   
    99.         error_page   500 502 503 504  /50x.html;  
    100.         location = /50x.html {  
    101.             root   html;  
    102.         }  
    103.   
    104.         location ~ .php$ {  
    105.         root html;  
    106.         fastcgi_pass 127.0.0.1:9001;  
    107.         fastcgi_index index.php;  
    108.         include fastcgi_params;  
    109.         fastcgi_param SCRIPT_FILENAME /usr/www5.4.44$fastcgi_script_name;  
    110.         }  
    111.    
    112.     }  
    113.   
    114.   
    115.       
    116.     # another virtual host using mix of IP-, name-, and port-based configuration  
    117.     #  
    118.     #server {  
    119.     #    listen       8000;  
    120.     #    listen       somename:8080;  
    121.     #    server_name  somename  alias  another.alias;  
    122.   
    123.     #    location / {  
    124.     #        root   html;  
    125.     #        index  index.html index.htm;  
    126.     #    }  
    127.     #}  
    128.   
    129.   
    130.     # HTTPS server  
    131.     #  
    132.     #server {  
    133.     #    listen       443 ssl;  
    134.     #    server_name  localhost;  
    135.   
    136.     #    ssl_certificate      cert.pem;  
    137.     #    ssl_certificate_key  cert.key;  
    138.   
    139.     #    ssl_session_cache    shared:SSL:1m;  
    140.     #    ssl_session_timeout  5m;  
    141.   
    142.     #    ssl_ciphers  HIGH:!aNULL:!MD5;  
    143.     #    ssl_prefer_server_ciphers  on;  
    144.   
    145.     #    location / {  
    146.     #        root   html;  
    147.     #        index  index.html index.htm;  
    148.     #    }  
    149.     #}  
    150.   
    151. }  

     

    重启nginx

     

    防火墙配置

     

    注意如果你希望在本地机器例如xp访问虚拟机的网页,如果是centos6需要修改防火墙启动80端口

     

    修改iptables文件,或者直接用vim编辑

     

    添加下面一行,打开防火墙80端口:

     

    重启防火墙
    # /etc/init.d/iptables restart

     

    测试是否成功,查看phpinfo()

    用知识的力量武装,把生活的绚烂点亮!
  • 相关阅读:
    Kubernetes集群部署篇
    JVM0
    RocketMQ之消费者启动与消费流程
    CSS Houdini:用浏览器引擎实现高级CSS效果
    推荐系统协同过滤在Spark中的实现
    vivo官网APP全机型UI适配方案
    工作流引擎在vivo营销自动化中的应用实践 | 引擎篇03
    idea的maven插件
    RabbitMQ 在Spring Boot上的使用
    java,jvm的oracle官方文档
  • 原文地址:https://www.cnblogs.com/try-better-tomorrow/p/4930634.html
Copyright © 2020-2023  润新知