环境配置 – Tomcat9安装及多实例多应用配置(CentOS 8)
1. Tomcat9安装
使用wget获取:
wget https://mirrors.aliyun.com/apache/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz
下载之后如果没有进入别的文件夹,压缩包一般是在/root下面。进入/root下面进行解压:
tar xzf apache-tomcat-9.0.41.tar.gz
然后复制到指定的文件夹下(在/data/apps下面创建了一个tomcat的文件夹):
mkdir -p /data/apps
mv apache-tomcat-9.0.41 /data/apps/tomcat
然后配置jvm内存参数(也可以不用配置):
vim /data/apps/tomcat/bin/setenv.sh
在setenv.sh中写入如下语句:
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms512m -Xmx1024m -Dfile.encoding=UTF-8'
开放端口
#开放8080端口
firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload
#重新加载防火墙规则
firewall-cmd --reload
启动/停用
#启动
cd /data/apps/tomcat/bin && sh startup.sh
#停用
cd /data/apps/tomcat/bin && sh shutdown.sh
通过浏览器访问 【ip】:8080
2. Tomcat多实例配置
Tomcat多实例部署的好处在于升级方便,配置及安装文件间互不影响。
安装路径 实例位置
【CATALINA_HOME】 【CATALINA_BASE】
|————bin <-------------|
|————lib <-------------|
|————(conf,webapps,logs,temp,work)
创建一个实例存放路径
mkdir -p /data/runtime/tomcat-instance
新建两个tomcat实例,把安装路径下的conf,webapps,logs,temp,work
文件拷贝到实例中:
cd /data/runtime/tomcat-instance
mkdir tomcat1 tomcat2
#
cd /data/apps/tomcat/
cp conf/ webapps/ temp/ logs/ work/ -rt /data/runtime/tomcat-instance/tomcat1
cp conf/ webapps/ temp/ logs/ work/ -rt /data/runtime/tomcat-instance/tomcat2
新建 Tomcat实例启动/停止脚本
cd /data/runtime/tomcat-instance
vim tomcat1.sh
vim tomcat2.sh
tomcat1.sh
#!/bin/bash
. /etc/rc.d/init.d/functions
source /etc/profile
export CATALINA_BASE=/data/runtime/tomcat-instance/tomcat1
export CATALINA_HOME=/data/apps/tomcat
export CATALINA_PID=$CATALINA_BASE/CATALINA_PID
export JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
sname=tomcat1
mark=$CATALINA_BASE/temp
pid=`ps -ef | grep "$mark" | grep -v "grep $mark" | awk -F " " '{print $2}'`
function start()
{
if [ -f "$CATALINA_PID" ]; then
rm -rf $CATALINA_PID
fi
echo "$sname start ......"
$CATALINA_HOME/bin/catalina.sh start 2>/dev/null
pid=`ps -ef | grep "$mark" | grep -v "grep $mark" | awk -F " " '{print $2}'`
echo "PID: $pid"
}
function stop()
{
echo "$sname stop ......"
if [ $pid ]; then
kill -9 $pid
rm -f $CATALINA_PID
fi
}
function status()
{
if [ $pid ]; then
echo "$sname run ......"
else
echo "$sname stop ......"
fi
echo `ps -ef | grep "$CATALINA_BASE" | grep -v "grep $CATALINA_BASE"`
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Option in (start|stop|restart|status)"
;;
esac
tomcat2.sh参考tomcat1.sh
赋予权限
chmod 777 tomcat1.sh tomcat2.sh
配置实例server.xml
端口
- Server Port:该端口用于监听关闭tomcat的shutdown命令,默认为8005
- Connector Port:该端口用于监听HTTP的请求,默认为8080
- AJP Port:该端口用于监听AJP( Apache JServ Protocol )协议上的请求,通常用于整合Apache Server等其他HTTP服务器,默认为8009
- Redirect Port:重定向端口,出现在Connector配置中,如果该Connector仅支持非SSL的普通http请求,那么该端口会把 https 的请求转发到这个Redirect Port指定的端口,默认为8443;
这里tomcat1
实例保持默认,把tomcat2
实例的Server Port
改为了8006
,Connector Port
改为了 8081
:
cd /data/runtime/tomcat-instance/tomcat2
vim conf/server.xml
# 8081端口
firewall-cmd --add-port=8081/tcp --permanent && firewall-cmd --reload
分别在 tomcat1、tomcat2 的 webapps/ROOT 目录下放入了页面文件。
启动两个实例
cd /data/runtime/tomcat-instance
./tomcat1.sh start
./tomcat2.sh start
通过浏览器:【ip】:8080/
,【ip】:8081/
,如:192.168.2.100:8080
3. nginx使用https代理tomcat
修改nginx配置文件,在server中添加如下内容:
location /tomcat1/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Scheme $scheme;
}
location /tomcat2/ {
proxy_pass http://127.0.0.1:8081/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Scheme $scheme;
}
通过浏览器访问:【ip】/tomcat1/
,【ip】/tomcat2/
,如:192.168.2.100/tomcat1/
- tips:
Tomcat
默认上传到服务器中文件的权限是- -rw-r-----
640权限,其他人不可读。 到Tomcat
中bin
目录下面,修改catalina.sh
中UMASK="0027"
为UMASK="0022"
。
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0022"
fi
umask $UMASK
END .
相关系列文章
- 环境配置 -- 本地开发环境配置笔记
- 环境配置 -- PHP多版本共存
- 环境配置 -- 记一次生产事故引发的FastDFS图片迁移
- 环境配置 -- Centos 8 私人Git服务器搭建(Gogs)
- 环境配置 -- 使用Nexus搭建Maven私服(CentOS 8)
- 环境配置 -- Tomcat9安装及多实例多应用配置(CentOS 8)
- 环境配置 -- CentOS 8 安装和配置 NFS 服务器
- 环境配置 -- Centos8 安装 FastDFS 6.06
- 环境配置 -- CentOS 8 常用软件安装(MySQL Nginx SVN Redis)
- 环境配置 -- Centos8安装部署Node+MongDB+YApi(接口管理)
- 环境配置 -- 物理机安装CentOS 8