反向代理【俗称动静分离】, nginx不自己处理php的相关请求,而是把php的相关请求转发给apache来处理.
配置方式:
一、先去修改php,使得 php 成为 apache 的一个模块。
cd /usr/local/src/
src》cd php-5.6.30
php-5.6.30》make clean
php-5.6.30》./configure –prefix=/usr/local/php –with-mysql=mysqlnd –enable-mysqlnd –with-gd –enable-gd-native-ttf –enable-gd-jis-conv –with-apxs2=/usr/local/httpd/bin/apxs
php-5.6.30》ls /usr/local/php/lib/php.ini #查看 php 有没有生成 ini 文件
php-5.6.30》/usr/local/httpd/bin/apachectl stop
php-5.6.30》/usr/local/httpd/bin/apachectl start ///重启 apache 使其加载 php
二、修改 apache 相关配置。
cd /usr/local/httpd/
httpd》vim conf/httpd.conf
listen 8080 //修改 apache 端口为 8080
Include conf/extra/http-vhosts.conf //引入虚拟域名配置文件
修改以下两个位置。
wq # 保存配置
httpd》vim conf/extra/httpd-vhosts.conf
///配置虚拟主机,只留下这一个域名即可。
httpd》./bin/apachectl start //开启 apache 服务器
./bin/apachectl restart //重启 apache 服务器
三、修改 nginx 配置。
cd /usr/local/nginx/
nginx》vim conf/nginx.conf
location ~ \.php${ #这个 location 段修改成这样【碰到请求 php】
proxy_set_header X-Forwarded-For $remote_addr; #将访问者 ip 带给处理 php 的服务器。
proxy_pass http://192.168.1.200:8080; #交给 apache 去处理
}
nginx》./sbin/nginx -s reload #重启nginx