contos7 lnmpa 装多版本php

contos7 lnmpa 装多版本php

背景

由于服务器前期安装了lnmpa php5.4 ,有项目在线运行。
后面开发了一个新项目要放到这个服务器上运行,但要求php版本不能低于7 。
在lnmp.org 官网上找了一下,lnmpa 没有直接安装多版本php的脚本 。 只能自己动手解决了。

1. 上传php7安装包

可以直接到官网下载,或者再lnmp安装包里面找

2. 执行编译php7

解压并进入进入人php安装包,主要注意路径不要覆盖原来的php文件就好,不一定要叫/usr/local/php71,你想把php安装到别目录,可以直接替换/usr/local/php71这个路径成为你自己的路径。

./configure --prefix=/usr/local/php71 --with-config-file-path=/usr/local/php71/etc --with-config-file-scan-dir=/usr/local/php71/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl

3. 安装php

make ZEND_EXTRA_LIBS='-liconv'
make install

4. 在源码包,复制配置文件

cp -R ./sapi/fpm/php-fpm.conf /usr/local/php71/etc/php-fpm.conf
cp php.ini-development /usr/local/php71/lib/php.ini
cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm71

5. 改配置文件

5.1 配置文件:vim /usr/local/php71/etc/php-fpm.conf

[global]
pid = /usr/local/php71/var/run/php-fpm.pid
error_log = /usr/local/php71/var/log/php-fpm.log
log_level = notice

5.2配置文件:vim /usr/local/php71/etc/php-fpm.d/www.conf

listen = /tmp/php71-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1:9001
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 40
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log

6. 启动php-fpm

/etc/init.d/php-fpm71

6.1 php安装成功查看进程:


ps aux|grep php

执行结果:
root       2161  0.0  0.3 266396  7096 ?        Ss   17:00   0:00 php-fpm: master process (/usr/local/php71/etc/php-fpm.conf)
www        2162  0.0  0.3 266396  6500 ?        S    17:00   0:00 php-fpm: pool www
www        2163  0.0  0.3 266396  6500 ?        S    17:00   0:00 php-fpm: pool www
www        2164  0.0  0.3 266396  6500 ?        S    17:00   0:00 php-fpm: pool www
www        2165  0.0  0.3 266396  6500 ?        S    17:00   0:00 php-fpm: pool www
www        2166  0.0  0.3 266396  6504 ?        S    17:00   0:00 php-fpm: pool www
www        2167  0.0  0.3 266396  6504 ?        S    17:00   0:00 php-fpm: pool www
www        2168  0.0  0.3 266396  6504 ?        S    17:00   0:00 php-fpm: pool www
www        2169  0.0  0.3 266396  6504 ?        S    17:00   0:00 php-fpm: pool www
www        2170  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2171  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2172  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2173  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2174  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2175  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2176  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2177  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2178  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2179  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2180  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
www        2181  0.0  0.3 266396  6508 ?        S    17:00   0:00 php-fpm: pool www
root       2245  0.0  0.0 112728   988 pts/0    S+   17:01   0:00 grep --color=auto php

7. php-fpm 开机启动

 vim /etc/rc.local
/etc/init.d/php-fpm71

8. nginx项目配置

server
    {
        listen 80;
        #listen [::]:80;
        server_name 2.yunlianip.my 1231232.yunlianip.my;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/2.yunlianip.my/public;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
        
        # tp5 pathinfo 配置
        location / {
           if (!-e $request_filename) {
               rewrite  ^(.*)$  /index.php?s=$1 last;
               break;
           }
         }
         
		##  这里才是关键  -- start
        location ~ \.php(.*)$ {
            fastcgi_pass unix:/tmp/php71-cgi.sock;
            #fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
        ##  这里才是关键 -- end


        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log /home/wwwlogs/2.log;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值