第一步配置多个tomcat->修改tomcat/conf/server.xml中的3个端口号
tomcat的server.xml配置文件端口号作用简单说明及其他
这里我们从tomcat7.0下的conf目录文件下找到server.xml,打开它,发现它配置啦三个端口号,
server1:
8011
9001
8021
server2:
8012
9002
8022
server3:
8013
9003
8023:第一个,我们可以看到这里是tomcat监听的关闭端口号,这里指定端口号为8005,
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>下一部分,connector(连接器)用于监听请求,protocol(协议)HTTP/1.1协议,用于监听浏览器发送过来的请求,如果设置80或者8080端口,可以直接用http/://localhost访问。connectionTimeout连接超时时间,这里是20秒。如果发送的是https(http安全版)就将请求转发到8443端口。Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器。
这个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
下一部分,使用8009接收其他服务器转发的请求,AJP/1.3协议,用来监听其他服务器转发的请求,这里AJP13是定向包协议,因为性能原因,采用二进制格式来传输可读性文本。这个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Web客户访问Tomcat服务器上JSP组件的两种方式如图1所示。tomcat8以后默认编码格式是utf-8;7之前的都是iso8859-1,如果默认情况下,tomcat使用的的编码方式:iso8859-1,修改tomcat下的conf/server.xml文件找到如下代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。
修改完成后:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
第二步:nginx反向代理多个tomcat服务
nginx 异常的处理:
CentOS 7.5下启动Nginx出现如下错误:(由于配置文件的破坏或丢失造成,使用-c重置配置文件)
nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)
解决方法:找到你的nginx.conf的文件夹目录,然后运行类似如下命令
nginx -c /etc/nginx/nginx.conf
再运行nginx -s reload,就可以了
一台Linux服务器有多个tomcat服务,多个端口不容易记忆,可以使用nginx反向代理,用一个端口访问到所有的tomcat服务。只需要安装一个nginx,然后配置反向代理即可。
安装nginx这里不在重复。安装好以后修改配置文件,在conf目录下的nginx.conf文件,server里配置反向代理的tomcat信息:
server {
#监听的端口
listen 10001;
server_name 192.168.1.221;
location / {
root html;
index index.html index.htm;
}
location /aaa{ //配置反向代理的第一个tomcat服务
root html;
proxy_pass http://192.168.1.221:8080/aaa;
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 100m;
index index.html index.htm;
} location /bbb{//配置反向代理的第一个tomcat服务
root html;
proxy_pass http://192.168.1.221:8081/bbb;
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 100m;
index index.html index.htm;
}配置完成以后重启nginx,然后就可以访问了
nginx实现一个端口转发多个服务
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:开源android 三维

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
nginx 同时监听多个端口转发 nginx多进程监听一个端口
上一篇文章介绍了Nginx的基本安装,也看到了最简单的欢迎页面,不禁好奇它的欢迎页面是如何展示出来的?nginx是如何处理来自我的请求的,它内部机制是什么?为什么说nginx性能好能抗住较高的并发?我们常用的tomcat跟nginx为什么是两种使用场景?我对此有佷多的疑惑,带着这些问题我们出发了,不过可能有些地方有错误,佷多理解还不够到位,敬请谅解和避坑。一、Nginx显示默认首页的过程解析上篇文
nginx 同时监听多个端口转发 不同进程 监听不同协议的同一个端口 服务器的端口号和客户进程的端口号 nginx Nginx -
Nginx 实现端口转发
https://www.cnblogs.com/zhaoyingjie/p/7248678.html Nginx 实现端口转发 什么是端口转发 当我们在服务器上搭建
nginx 端口转发 请求转发 配置文件 服务器