您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
nginx-反向代理实现nginx+apache动静分离
发布时间:2017-11-23 12:31:23编辑:雪饮阅读()
nginx+apache用反向代理实现动静分离其实就是nginx自己不解析php而是交给apache来处理,而静态则由自己来处理。
先将apache放在80端口确保php的gd功能和mysql功能:
make clean
./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
配置好mysql的sock
apache需要配置的工作:
(1)、httpd.conf的<IfModule mime_module>模块中添加php支持
AddType application/x-httpd-php .php
引入虚拟主机配置文件
Include conf/extra/httpd-vhosts.conf
设置端口为8080(后面配置nginx反向代理的代理地址将指向该端口)
Listen 8080
主目录允许访问
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
(2)在extra/httpd-vhosts.conf中
设置虚拟主机端口为8080
NameVirtualHost *:8080
删除多余的虚拟主机只留第一个(防止被其它虚拟主机影响),并配置第一个如:
端口设置为8080
根目录设置为nginx的根目录”/usr/local/nginx/html”(为了配合nginx做动静分离)
域名设置为192.168.101.108(nginx反向代理地址)
错误日志文件设置的比较特殊些,如logs/192.168.101.108apache-error_log
这样在遇到错误时你就可以直接到你定义的错误日志文件中查看错误详情。
nginx配置工作:
nginx.conf中将处理php的location修改为:
location ~ \.php$ {
proxy_pass http://192.168.101.108:8080;
}
开启nginx,mysql,apache并访问nginx的ecshop项目同时在nginx和apache中分别查看访问日志就可以确定动静分离是否成功。如果nginx的日志中请求的都是静态文件,apache的日志中请求的都是动态文件则动静分离成功。
关键字词:nginx,反向代理,apache,动静分离
下一篇:nginx-服务器集群搭建