Nginx反向代理配置
实验环境:
相关服务都调试包报错(Iptables ,selinux,ntpdate,network,hostname ,hosts 、date)都调试好
正向代理服务器: 172.16.0.63 centos 6.5
客户端测试: 172.16.0.173 centos 6.5
一. 配置服务端:
[root@xuegod63 ~]# vim/usr/local/nginx/conf/nginx.conf
worker_processes 1;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#负责压缩数据流
gzip on;
gzip_min_length 1000;
gzip_types text/plain text/cssapplication/x-javascript;
#设定负载均衡的服务器列表
#weigth参数表示权值,权值越高被分配到的几率越大
upstream xuegod63.cn{
server 172.16.0.173:8080 weight=1;
server 172.16.0.174:8080 weight=1;
}
server {
#侦听的80端口
listen 80;
server_name localhost;
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://xuegod63.cn; #在这里设置一个代理,和upstream的名字一样
access_log/usr/local/nginx/logs/www.xuegod63.cn_access.log; #运行日志
#以下是一些反向代理的配置可删除
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服务器传
}
}
}
[root@xuegod63 ~]#nginx -t #查看配置是否正确
nginx: theconfiguration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configurationfile /usr/local/nginx/conf/nginx.conf test is successful
[root@xuegod63 ~]# nginx -s reload #重新加载配置项目
二. Web服务器配置:
由于客户端是用的tomcat,详细安装跑配置我会在其他位置详细说明。
安装tomcat
1. 使用默认的jdk (不用修改环境变量)
2. 安装tomcat(不用修改变变量),解压 运行、bin startup.sh即可
3. 调整tomcat访问界面,做页面测试修改发布的内容
[root@webserver2webapps]# mkdir www2
[root@webserver2 ~]#vim apache-tomcat-8.0.36/conf/server.xm
<Context path=""docBase="/usr/webapps/www2" reloadable="false"/>
4. 创建发布内容:
[root@webserver2 ~]# cdapache-tomcat-8.0.36/webapps/www2/
[root@webserver2 www2]#vim tomcat2.jsp
<html>
<body>
<h1>TOMCAT_2 JSPTest Page</h1>
<%=newjava.util.Date()%>
</body>
</html>
5.测试tomcat
经过测试 可以正常访问,tomcat的测试页面。
6. 客户端配置,这里我使用的是windows,修改hosts文件
添加主机记录 172.16.0.63 xuegod63.cn
7. 访问测试:
注意;
1. 这里我访问的是xuegod63.cn 但是取到的数值结果 却是172.16.0.173 tomcat的数值结果!!
2. 还可以通过刷新界面查看172.16.0.173上面tomcat的访问记录查看出是否是从173web1服务器去获取tomcat值。
结果:[root@webserver1 logs]# taillocalhost_access_log.2016-06-30.txt
[root@webserver1 logs]# taillocalhost_access_log.2016-06-30.txt
172.16.0.63 - - [30/Jun/2016:15:11:30 +0800]"GET /www/tomcat.jsp HTTP/1.0" 200 94
172.16.0.63 - - [30/Jun/2016:15:11:31 +0800]"GET /www/tomcat.jsp HTTP/1.0" 200 94
172.16.0.63 - - [30/Jun/2016:15:11:32 +0800]"GET /www/tomcat.jsp HTTP/1.0" 200 94
说明:访问的结果是从173 web1服务器上取到的结果
文章参考:http://www.cnblogs.com/sixiweb/p/3988805.html
http://blog.sina.com.cn/s/blog_14e8c64ca0102w3tj.html