记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

nginx与tomcat使用同一台主机,nginx服务使用80端口,转发数据到后端tomcat 8080端口。

先安装nginx软件。

下载 ngx_cache_purge_2.3源码包,并解压到当前目录。

[root@lnmp soft]# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

[root@lnmp soft]# tar zxvf ngx_cache_purge-2.3.tar.gz 

 解压LuNamp包自带的zlib源码到当前目录。

[root@lnmp soft]# tar zxvf zlib-1.2.5.tar.gz 

现在可以下载nginx-1.16.1最新软件包了。

[root@lnmp soft]#  wget http://mirrors.sohu.com/nginx/nginx-1.16.1.tar.gz

然后解压源包,这里就不写了。

当然还需要安装perl相关依赖包。

[root@lnmp soft]# yum install perl-devel perl-ExtUtils-Embed perl zlib zlib-devel

源码包编译安装,还是像上面的一样,把几个软件包解压后,执行编译命令,

[root@lnmp soft]#  ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.43 --with-openssl=../openssl-1.1.1d --add-module=../ngx_cache_purge-2.3 --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

[root@lnmp soft]#  make 

[root@lnmp soft]#  make install


现在可以修改tomcat 配置文件了

nginx 修改配置信息将80端口转换成tomcat的8080端口。
        location / {
          proxy_pass http://192.168.137.13:8080;
          proxy_redirect off;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }


可以启动nginx程序了,别的配置不用修改。

/usr/local/nginx/sbin/nginx -t        //检查当前配置是否正确
/usr/local/nginx/sbin/nginx -s reload    //重新加载配置


然后安装tomcat7,直接下载官网软件,解压后运行就行,不再说了。


    如何设置负载均衡后的Tomcat能获取用户真实IP了?
    编辑 tomcat/conf/server.xml文件

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />

前面有负载均衡的时候,获取真实IP可以使用下面的配置
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%{X-Forwarded-For}i %h %l %u %t %r %s %b" /


启动tomcat后,分别访问nginx的80端口与tomcat的8080端口,查看tomcat的访问日志,

就会发现日志中的IP会不一样。




转载请标明出处【nginx1.16.1+tomcat7部署,获取前端真实IP信息】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论