# 安装OpenJDK(以Ubuntu为例)
sudo apt update
sudo apt install openjdk-11-jdk
# 验证安装
java -version
# 下载Tomcat(以9.0版本为例)
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz
# 解压
tar -xzvf apache-tomcat-9.0.68.tar.gz
sudo mv apache-tomcat-9.0.68 /opt/tomcat
# 创建tomcat用户
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
# 设置权限
sudo chown -R tomcat: /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh
# 创建systemd服务文件
sudo nano /etc/systemd/system/tomcat.service
将以下内容添加到tomcat.service文件中:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
# 检查状态
sudo systemctl status tomcat
sudo ufw allow 8080
# Ubuntu/Debian
sudo apt install nginx
# CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# 检查状态
sudo systemctl status nginx
sudo ufw allow 'Nginx Full'
sudo nano /etc/nginx/conf.d/tomcat.conf
添加以下内容(根据实际域名修改):
server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo nginx -t
sudo systemctl reload nginx
# 编辑tomcat-users.xml
sudo nano /opt/tomcat/conf/tomcat-users.xml
在<tomcat-users>
标签内添加:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="securepassword" roles="manager-gui,admin-gui"/>
# 编辑context.xml文件
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
注释掉或修改Valve
部分以限制IP访问:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1|192\.168\.1\.\d+|your.public.ip" />