Nginx做前端,Apache做后端的配置实例
2014-05-15 22:36
288 查看
Nginx做前端,Apache做后端的配置实例,供大家学习参考。Nginx做前端处理静态文件,Apache做后端服务器。
Nginx做前端,Apache做后端的配置实例,供大家学习参考。
Nginx做前端处理静态文件,Apache做后端服务器。
一、基础知识
1.1、反向代理过程
Nginx前端,Apache后端过程其实很简单,首先用户访问的是80端口的nginx,然后nginx将静态内容留给自己,其余的转发给非80端口的apache,apache处理完毕后再回传给nginx。
1.2、Nginx location 基础
详细见 Nginx 中的 Location 指令基础,在不同的 Location 位置添加反向代理,Nginx 前端就充当了完全不一样的角色。
二、编辑 Nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf
2.1、添加"proxy_set_header"指令
编辑Nginx配置文件,在"http"字段内添加相应代码,发送发送真实IP到后端。
vim /usr/local/nginx/conf/nginx.conf
# 向后端服务器发起请求时添加指定的header头信息
proxy_set_header Host $host;
# 向后端服务器发送真实 IP
proxy_set_header X-Real-IP $remote_addr;
#让后端如php能直接通过变量获取真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
2.2、添加"proxy_pass"指令
在相应 ”location" 字段添加如下反向代理语句。这部分是难点,也是国内教程都没有提及的地方。
方法一:
将所有请求都转发给后端 apache 处理,但由于 "~*" 优先级高于 "/" ,所以图片、JS、CSS例外,"expires" 用于设置缓存时间。
复制代码代码如下:
location / {
proxy_pass http://127.0.0.1:8080;
}
location ~* \.(jpg|jpeg|gif|png)$ {
access_log off;
expires 30d;
}
location ~* \.(js|css)$ {
access_log off;
expires 1d;
}
方法二:
只将.php后缀的文件,交由后端 apache 处理
复制代码代码如下:
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
}
2.3、添加高级选项(选做)
#请求连接后端服务器超时时间。即在规定时间,后端必须响应前端握手请求。
proxy_connect_timeout 30;
#后端服务器响应时间。即连接成功,在后端排队等候处理不能超过的时间。
proxy_read_timeout 60;
#后端数据回传时间。即在规定时间,后端服务器必须将所有数据回传完毕。
proxy_send_timeout 30;
#从后端服务器读取的头信息的缓冲区大小。
proxy_buffer_size 4k;
#从后端服务器读取的头信息的缓冲区数目和大小
proxy_buffers 4 32k;
如果服务器繁忙,可申请的proxy_buffers大小
proxy_busy_buffers_size 64k;
#代理缓存临时文件大小
proxy_temp_file_write_size 64k;
#代理最大缓存临时文件大小
proxy_max_temp_file_size 128m;
三、编辑 Apache 配置文件(选做)
注意:mod_rpaf 模块不是必须安装,除非你需要开启 Apache 日志,但有多此一举之嫌,因为已经有 Nginx 日志了,再开 Apache 日志话就出现重复了。
Apache rpaf 模块作用是获取Nginx转发过来的真实IP,否则在Apache日子中来访IP全部为127.0.0.1。
复制代码代码如下:
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/www/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
vim /usr/local/apache/conf/httpd.conf LoadModule rpaf_module modules/mod_rpaf-2.0.so
复制代码代码如下:
RPAFenable On
RPAFproxy_ips 127.0.0.1
RPAFsethostname On
RPAFheader X-Forwarded-For
Nginx做前端,Apache做后端的配置实例,供大家学习参考。
Nginx做前端处理静态文件,Apache做后端服务器。
一、基础知识
1.1、反向代理过程
Nginx前端,Apache后端过程其实很简单,首先用户访问的是80端口的nginx,然后nginx将静态内容留给自己,其余的转发给非80端口的apache,apache处理完毕后再回传给nginx。
1.2、Nginx location 基础
详细见 Nginx 中的 Location 指令基础,在不同的 Location 位置添加反向代理,Nginx 前端就充当了完全不一样的角色。
二、编辑 Nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf
2.1、添加"proxy_set_header"指令
编辑Nginx配置文件,在"http"字段内添加相应代码,发送发送真实IP到后端。
vim /usr/local/nginx/conf/nginx.conf
# 向后端服务器发起请求时添加指定的header头信息
proxy_set_header Host $host;
# 向后端服务器发送真实 IP
proxy_set_header X-Real-IP $remote_addr;
#让后端如php能直接通过变量获取真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
2.2、添加"proxy_pass"指令
在相应 ”location" 字段添加如下反向代理语句。这部分是难点,也是国内教程都没有提及的地方。
方法一:
将所有请求都转发给后端 apache 处理,但由于 "~*" 优先级高于 "/" ,所以图片、JS、CSS例外,"expires" 用于设置缓存时间。
复制代码代码如下:
location / {
proxy_pass http://127.0.0.1:8080;
}
location ~* \.(jpg|jpeg|gif|png)$ {
access_log off;
expires 30d;
}
location ~* \.(js|css)$ {
access_log off;
expires 1d;
}
方法二:
只将.php后缀的文件,交由后端 apache 处理
复制代码代码如下:
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
}
2.3、添加高级选项(选做)
#请求连接后端服务器超时时间。即在规定时间,后端必须响应前端握手请求。
proxy_connect_timeout 30;
#后端服务器响应时间。即连接成功,在后端排队等候处理不能超过的时间。
proxy_read_timeout 60;
#后端数据回传时间。即在规定时间,后端服务器必须将所有数据回传完毕。
proxy_send_timeout 30;
#从后端服务器读取的头信息的缓冲区大小。
proxy_buffer_size 4k;
#从后端服务器读取的头信息的缓冲区数目和大小
proxy_buffers 4 32k;
如果服务器繁忙,可申请的proxy_buffers大小
proxy_busy_buffers_size 64k;
#代理缓存临时文件大小
proxy_temp_file_write_size 64k;
#代理最大缓存临时文件大小
proxy_max_temp_file_size 128m;
三、编辑 Apache 配置文件(选做)
注意:mod_rpaf 模块不是必须安装,除非你需要开启 Apache 日志,但有多此一举之嫌,因为已经有 Nginx 日志了,再开 Apache 日志话就出现重复了。
Apache rpaf 模块作用是获取Nginx转发过来的真实IP,否则在Apache日子中来访IP全部为127.0.0.1。
复制代码代码如下:
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/www/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
vim /usr/local/apache/conf/httpd.conf LoadModule rpaf_module modules/mod_rpaf-2.0.so
复制代码代码如下:
RPAFenable On
RPAFproxy_ips 127.0.0.1
RPAFsethostname On
RPAFheader X-Forwarded-For
相关文章推荐
- 配置Nginx前端Apache后端服务器
- 配置Nginx前端Apache后端服务器LNMPA-与LNMP,HHVM性能比拼
- centos7 nginx前端 apache后端 及多站点简单配置
- 配置Nginx前端 + Apache后端服务器环境
- ceonts6.8 nginx做前端代理apache做后端服务架构配置
- 配置Nginx前端Apache后端服务器
- 配置NGINX前端APACHE后端服务器
- Nginx前端设置反向代理,后端Apache如何获取访客的真实IP,结合PHP
- nginx配置tomcat负载均衡+nginx服务器+apache后端服务器
- 端口转发:nginx做后端,Apache做前端
- 前端Nginx,后端Apache获取用户真实IP地址
- Ansible 一键配置安装Keepalived+Nginx作为前端,httpd+php作为后端
- Nginx做前端时,后端Apache获得真实IP的做法
- Nginx配合Apache或Tomcat的动静分离基本配置实例
- 用nginx做前端,后端apache能获得真实IP的方法
- 安装配置Nginx作为Apache和Tomcat服务器的前端服务器
- 前端Nginx,后端Apache获取用户真实IP地址
- nginx配置tomcat负载均衡+nginx服务器+apache后端服务器
- nginx前端,tomcat后端服务器获取客户的真实IP,包括tomcat访问日志获取真实IP的配置
- nginx做前端,apache作为后端的方案