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

相关文章
|
4月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
748 5
|
10月前
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
7月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
239 56
|
8月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
568 27
|
8月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
1088 18
|
8月前
|
存储 安全 应用服务中间件
将下载的Nginx证书转换为Tomcat证书格式
好,可以看到,将Nginx证书转换为Tomcat证书的过程就像在烘焙一块蛋糕。你需要准备材料(证书),配备工具(OpenSSL, keytool),按照一定的步骤慎重制作,最后你就拥有了一块可以在浏览器中呈现出漂亮的安全状态的HTTPS蛋糕。就这么简单,明了,没有任何复杂的理论知识,就像在家庭厨房里烘焙的快乐一样。
374 16
|
8月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
519 11
|
8月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
270 21
|
8月前
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
259 14
|
8月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
352 11