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的测试页面。

                  Nginx反向代理配置_nginx           

  6. 客户端配置,这里我使用的是windows,修改hosts文件

添加主机记录 172.16.0.63 xuegod63.cn

7.     访问测试:

Nginx反向代理配置_其他_02

注意;


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