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

相关文章
|
27天前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
102 1
|
7天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
102 18
|
9天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
111 17
|
11天前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
172 4
|
3月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
129 56
|
1月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
|
2月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
543 10
|
1月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
105 0
|
3月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
259 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
3月前
|
JSON 前端开发 应用服务中间件
配置Nginx根据IP地址进行流量限制以及返回JSON格式数据的方案
最后,记得在任何生产环境部署之前,进行透彻测试以确保一切运转如预期。遵循这些战术,守卫你的网络城堡不再是难题。
188 3