Nginx反向代理Tomcat的配置方法

简介:

一、Nginx安装

下载nginx源安装包

http://nginx.org/en/linux_packages.html

找到对应Linux版本的连接,这里选CentOS 6,右击复制链接地址http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

wKioL1Vr9ebA2TR_AAD5fhD9jqw240.jpg

linux下下载nginx源的rpm包并安装

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm 

 

通过nginx源安装nginx最新版

yum -y install nginx

 

安装成功,启动nginx

wKiom1Vr9E6hWNdcAABCP_2CIQg352.jpg

用浏览器访问nginx服务器的80端口,显示下图说明Nginx已经正常启动

wKioL1Vr9ebgWy_aAAEzuN9ndhE601.jpg

 

 

二、Tomcat安装

Tomcat官网(http://tomcat.apache.org/)下载Tomcat8

wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz

 

解压缩tomcat

tar xzf apache-tomcat-8.0.23.tar.gz

 

tomcat改名复制两份,分别叫tomcat1,tomcat2

mv apache-tomcat-8.0.23 tomcat1

cp -ar tomcat1 tomcat2


这里是把两个Tomcat Web服务配在了同一台服务器上,所以下边这些端口要修改,两个Tomcat的端口配置不能重复。

 

进入tomcat2/conf,编辑server.xml

把默认的8005改成8006

wKiom1Vr9E-zhKucAAB3npk7cCw841.jpg

把默认的8080改成8081

wKiom1Vr9E_QsSdzAABXkDB7s14689.jpg

把默认的8009改成8010

wKioL1Vr9eey2isSAABQ_j1k3TM621.jpg


tomcat1

tomcat2

shutdown

8005

8006

http

8080

8081

ajp

8009

8010

 

 

tomcat1/webapps/ROOT下创建test.jsp,内容如下

<html>

<body>

<h1>TOMCAT_1 JSP Test Page</h1>

<%=new java.util.Date()%>

</body>

</html>

tomcat2/webapps/ROOT下创建test.jsp,内容如下

<html>

    <body>

    <h1>TOMCAT_2 JSP Test Page</h1>

    <%=new java.util.Date()%>

    </body>

    </html>

 

 

 

启动tomcat1tomcat2

tomcat1/bin, 运行./startup.sh

tomcat2/bin, 运行./startup.sh

 

访问服务器的:8080/test.jsp,打开测试页

wKioL1Vr9qzQ8a2BAABklWXeZN4833.jpg



访问服务器的:8081/test.jsp,打开测试页

wKiom1Vr9RTTgiY-AABppcjt-5M035.jpg

 

 

三、Nginx配置

完整的nginx.conf配置,蓝色代表修改或新增内容

user  nginx;

worker_processes  auto;

worker_rlimit_nofile        100000;

 

error_log  /var/log/nginx/error.log warn;

pid        /var/run/nginx.pid;

 

 

events {

    use epoll;

    multi_accept on;

    worker_connections  10240;

}

 

 

http {

    include       /etc/nginx/mime.types;

    default_type  application/octet-stream;

 

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';

 

    access_log  /var/log/nginx/access.log  main;

 

    sendfile        on;

    #tcp_nopush     on;

 

    keepalive_timeout  65;

 

    #gzip  on;

 

    upstream login_server{

     server 115.159.76.128:8080;

     server 115.159.76.128:8081;

    }

 

    server{

        listen 80;

        server_name mxyx.login;

        index index.jsp;

        root /home/www;

 

        location /

        {

            proxy_set_header HOST $host;

            proxy_pass  http://login_server;

            proxy_set_header    X-Real-IP       $remote_addr;

        }


    }

 

    #include /etc/nginx/conf.d/*.conf;

}


修改好后,重启Nginx即可。

upstream的server后边还可以有后缀参数:
1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

本文转自   zl1030   51CTO博客,原文链接:http://blog.51cto.com/zl1030/1657086

相关文章
|
19天前
|
移动开发 前端开发 JavaScript
前端vue2、vue3去掉url路由“ # ”号——nginx配置(一)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
52 0
|
19天前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
24 0
|
19天前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
54 0
|
4天前
|
应用服务中间件 nginx
nginx配置集群轮训策略
nginx配置集群轮训策略
12 0
|
5天前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
5天前
|
IDE Java 应用服务中间件
JDK1.6.0+Tomcat6.0的安装配置(配置JAVA环境)
JDK1.6.0+Tomcat6.0的安装配置(配置JAVA环境)
18 1
|
6天前
|
网络协议 Java 应用服务中间件
HTTP协议与Tomcat在IJ中配置
本文是对自己学习JavaWeb学习的笔记的总结,添加了一些自己的东西,然后进行一次复盘,并加深一下学习的理解和印象.其中内容主要包括对http协议的详细介绍,java常见服务器的初步介绍,以及IJ旧版和新版的tomcat服务器的配置图解教程
|
6天前
|
域名解析 弹性计算 应用服务中间件
基于nginx反向代理实现OSS固定域名IP访问
本文基于阿里云OSS手册:https://help.aliyun.com/zh/oss/use-cases/use-an-ecs-instance-that-runs-centos-to-configure-a-reverse-proxy-for-access-to-oss,继续深入讨论如何利用nginx反向代理,实现固定的IP/域名访问OSS bucket。官方文档能够解决大部分的反向代理固定IP访问oss bucket的场景,但是对于必须使用域名作为endpoint的系统,会出现signatrue鉴权问题。本文继续在官方文档的基础上,将反向代理需要域名作为endpoint的场景补齐方案。
|
13天前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
52 3
|
15天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
53 2