apache + niginx共存 老旧兼容 + php7编译参数

来源:互联网 发布:淘宝供销平台 我的申请 编辑:程序博客网 时间:2024/05/17 08:26

   由于老站是apache与老版本的php,如今有需求把一些老站合并到同一台服务器上。因为老站没有多少流量 ,占一台服务器确实比较浪费。 

老版的代码环境在PHP7是不能够兼容的,大家都知道php7已经不对mysql_系统的函数支持了,全面被弃。没办法只能低版本兼容了。

 nginx 与apache 都是web服务,要共存也非常简单。nginx把所有老站请求反向代理到 apache就可以了

比如:

   location / {
    proxy_pass      http://127.0.0.1:7081;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
    }

  然后apache只需要listen 7081端口就可以了。

假如我需要反向代理多个站点到apache怎么办,那也非常简单,apache可以listen多个端口,再加一个端口的兼听就行,比如 listen 7080 7081 708....

这可以让老站所有环境不被破坏的无缝迁移了。


php7的编译做个记录,我用的编译参数是:

./configure  --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-jpeg-dir --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib --with-libxml-dir --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-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --disable-fileinfo

应该主流的组件都在里面了。

编译后,make && make install 

下面需要对php-fpm做一下配置.

cd  到你的PHP7源码文件夹

cp php.ini-production /usr/local/php/etc/php.ini  做一个生产环境的基本配置

 cp sapi/fpm/init.d.php-fpm    /etc/init.d/php-fpm  复制一份到启动项

ln -s /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf  做个PHP-FPM配置的软件链接

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

还需要优参数的自己去改了。。。。哈哈

先搞个默认的配置。

添加个环境变量,PHP换成7了。

echo -e '\nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH\n' >> /etc/profile && source /etc/profile

添加到服务里面 

 chmod +x /etc/init.d/php-fpm
 chkconfig --add php-fpm
 chkconfig php-fpm on

php-fpm -t (测试一下配置) 

到这里,你就可以启动php-fpm。




  

1 0