配置NGINX前端APACHE后端服务器

最近使用nginx做前端,apache后端,就是让nginx处理静态文件,把动态的转交给apache处理,现在把配置方式整理如下

1.1、反向代理过程
Nginx前端,Apache后端过程其实很简单,首先用户访问的是80端口的nginx,然后nginx将静态内容留给自己,
其余的转发给非80端口的apache,apache处理完毕后再回传给nginx。

二、编辑 Nginx 配置文件
2.1、添加”proxy_set_header”指令
proxy_redirect off;
proxy_set_header Host $host;# 向后端服务器发起请求时添加指定的header头信息
proxy_set_header X-Real-IP $remote_addr;# 向后端服务器发送真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#让后端如php能直接通过变量获取真实IP

2.2、添加”proxy_pass”指令
方法一:
将所有请求都转发给后端 apache 处理,但由于 “~*” 优先级高于 “/” ,所以图片、JS、CSS例外,”expires” 用于设置缓存时间。
location / {
proxy_pass <!– m –><a class=“postlink” href=“http://127.0.0.1:8080;”>http://127.0.0.1:8080;</a><!– m –>
}
location ~* /.(jpg|jpeg|gif|png)$ {
access_log off;
expires 30d;
}
location ~* /.(js|css)$ {
access_log off;
expires 1d;
}

方法二:
只将.php后缀的文件,交由后端 apache 处理
location ~ /.php$ {
proxy_pass <!– m –><a class=“postlink” href=“http://127.0.0.1:8080;”>http://127.0.0.1:8080;</a><!– m –>
}

方法三:
首先nginx判断是否存在文件,如果不存在都转交给apache处理
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
if (!-f $request_filename) {
proxy_pass <!– m –><a class=“postlink” href=“http://127.0.0.1:8080;”>http://127.0.0.1:8080;</a><!– m –>
}
2.3、添加高级选项(选做)
proxy_connect_timeout 30; #请求连接后端服务器超时时间。即在规定时间,后端必须响应前端握手请求。
proxy_read_timeout 60; #后端服务器响应时间。即连接成功,在后端排队等候处理不能超过的时间。
proxy_send_timeout 30; #后端数据回传时间。即在规定时间,后端服务器必须将所有数据回传完毕。
proxy_buffer_size 4k; #从后端服务器读取的头信息的缓冲区大小。
proxy_buffers 4 32k; #从后端服务器读取的头信息的缓冲区数目和大小
proxy_busy_buffers_size 64k; #如果服务器繁忙,可申请的proxy_buffers大小
proxy_temp_file_write_size 64k; #代理缓存临时文件大小
proxy_max_temp_file_size 128m; #代理最大缓存临时文件大小
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值