您的位置:首页 > 运维架构 > 反向代理

nginx配置反向代理示例

2017-07-03 15:58 281 查看
配置nginx:
vim /etc/nginx/conf.d/default.conf

内容:

1 #负责压缩数据流
2 gzip              on;
3 gzip_min_length   1000;
4 gzip_types        text/plain text/css application/x-javascript;
5
6 #设定负载均衡的服务器列表
7 #weigth参数表示权值,权值越高被分配到的几率越大
8 upstream hello{
9     server 192.168.68.43:8080 weight=1;
10     server 192.168.68.45:8080 weight=1;
11 }
12
13 server {
14     #侦听的80端口
15     listen       80;
16     server_name  localhost;
17     #设定查看Nginx状态的地址
18     location /nginxstatus{
19          stub_status on;
20          access_log on;
21          auth_basic "nginxstatus";
22          auth_basic_user_file htpasswd;
23     }
24     #匹配以jsp结尾的,tomcat的网页文件是以jsp结尾
25     location / {
26         index index.jsp;
27         proxy_pass   http://hello;    #在这里设置一个代理,和upstream的名字一样
28         #以下是一些反向代理的配置可删除
29         proxy_redirect             off;
30         #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
31         proxy_set_header           Host $host;
32         proxy_set_header           X-Real-IP $remote_addr;
33         proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;
34         client_max_body_size       10m; #允许客户端请求的最大单文件字节数
35         client_body_buffer_size    128k; #缓冲区代理缓冲用户端请求的最大字节数
36         proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
37         proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
38         proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
39         proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
40         proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
41         proxy_busy_buffers_size    64k; #高负荷下缓冲大小(proxy_buffers*2)
42         proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
43     }
44 }


 

 

#负责压缩数据流
gzip on;
gzip_min_length 1000;
gzip_types text/plain text/css application/x-javascript;

#设定负载均衡的服务器列表
#weigth参数表示权值,权值越高被分配到的几率越大
upstream hello{
server 192.168.68.43:8080 weight=1;
server 192.168.68.45:8080 weight=1;
}

server {
#侦听的80端口
listen 80;
server_name localhost;
#设定查看Nginx状态的地址
location /nginxstatus{
stub_status on;
access_log on;
auth_basic "nginxstatus";
auth_basic_user_file htpasswd;
}
#匹配以jsp结尾的,tomcat的网页文件是以jsp结尾
location / {
index index.jsp;
proxy_pass http://hello; #在这里设置一个代理,和upstream的名字一样
#以下是一些反向代理的配置可删除
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
}
}

启动:

nginx

退出:

nginx -s quit

启动nginx后,访问http://localhost/test/

会被导航到http://192.168.68.43:8080/test/ 和http://192.168.68.45:8080/test/

从而实现了负载均衡和避免单点故障。0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: