Linux, WEB, 应用部署

tomcat与nginx配合实现负载均衡集群

一、tomcat介绍

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,用于开发和调试JSP 程序。

二、JDK安装

tomcat依赖djk,所有在使用tomcat前先安装jdk

tar jdk-8u291-linux-x64.tar.gz -C /usr/local
mv /usr/local/jdk-8u291-linux-x64 /usr/local/java
修改JAVA环境:
	vi /etc/profile.d/java.sh
	export JAVA_HOME=/usr/local/java
	export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile.d/java.sh 
验证java是否生效:
which java
java -version 

三、tomcat的安装

tar xvf apache-tomcat-9.0.46.tar.gz -C /usr/local/

mv /usr/local/apache-tomcat-9.0.46/     tomcat9

四、目录及配置说明

目录:

| bin     | 可执行程序,如开启服务startup.sh,关闭服务shutdown.sh,配置文件检测 configtest等 |
| conf    | 配置文件路径,配置文件是:server.xml                         |
| lib     | 库文件                                                       |
| logs    | 日志文件                                                     |
| work    | 存放页面的缓存,访问的jsp都会编译,编译后的文件都会存储在work目录下。 |
| webapps | 文档、样例、网站程序文件                                     |

Tomcat配置文件说明:

| 名称           | 说明                                                         |
| -------------- | ------------------------------------------------------------ |
| context.xml    | Context.xml 是 Tomcat 公用的环境配置,tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。作用:监控资源文件、设定认证方式、连接设置,连接数据库配置设置等。 |

| web.xml文件    | Web应用程序的配置文件,包括配置Servlet过滤器、servlet映射,session会话配置,Wel0come0文件清单等。 |

| server.xml文件 | tomcat的设置,包括外部访问资源,认证资源,默认主机,虚拟主机、端口等。 |

开启tomcat服务器:
/usr/local/tomcat/bin/catalina.sh start
验证tomcat的监听:
[root@T1 tomcat9]# netstat -anlpt | grep  8080
tcp6       0      0 :::8080                 :::*                    LISTEN      4716/java      

添加tomcat开机脚本:

cat /usr/lib/systemd/system/tomcat.service

[Unit]
 Description=Apache Tomcat 9
 After=syslog.target network.target remote-fs.target nss-lookup.target
 [Service]
 Type=forking
Environment=JAVA_HOME=/usr/local/jdk1.7
Environment=JRE_HOME=/usr/local/jdk1.7/jre
# PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/catalina.sh start -DEFOREGRAND
 ExecReload=/bin/kill -s HUP $MAINPID
 ExecStop=/bin/kill -s QUIT $MAINPID
 RemainAfterExit=yes
 [Install]
 WantedBy=multi-user.target

五、Nginx+Tomcat负载均衡

修改nginx配置文件:

​	在http{}这个区间写入,切记不要在server区域内添加

//tomcat负载均衡
	upstream tomcat_cluster{
		server tomcat-1IP:8080 weight=1;
		server tomcat-2IP:8080 weight=1;
	}
///​	把默认的server区域内的location / 修改为一下内容:

  location / {                                 #表示网站的所有页面转发
        proxy_pass http://tomcat_cluster;          #proxy_pass配置代理转发
        proxy_set_header Host $host;                 #设置转发头部信息
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
tomcat的配置文件conf/server.xml修改:
……
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
//增加下面修改文档根的配置行,如不修改默认文档根在webapps/ROOT/
        <Context path="" docBase="/usr/local/nginx/html/wordpress" />   

注意:

1、nginx配置负载均衡转发时,如果设置部分页面转发则需要注意文档根路径的设置,这时候转发的页面文档根由接收端web服务器配置;未转发的文件的文档根在nginx配置文件中设定。

2、Tomcat的默认文档根在webapps/ROOT/

Leave a Reply