服务器环境要求:
工具准备:
ssh username@server_ip
# 输入密码登录
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk
# CentOS/RHEL
sudo yum install java-11-openjdk-devel
# 验证安装
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
# 设置环境变量
echo 'export CATALINA_HOME="/opt/tomcat"' >> ~/.bashrc
source ~/.bashrc
# 修改Tomcat用户配置
sudo nano /opt/tomcat/conf/tomcat-users.xml
# 在<tomcat-users>标签内添加:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="yourpassword" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
# 允许远程访问管理界面
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
# 注释掉或修改Valve配置:
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
使用SFTP工具将WAR文件上传到服务器,例如上传到/opt/tomcat/webapps/
目录。
或者使用命令行:
scp yourproject.war username@server_ip:/opt/tomcat/webapps/
# 启动
/opt/tomcat/bin/startup.sh
# 停止
/opt/tomcat/bin/shutdown.sh
# 查看日志
tail -f /opt/tomcat/logs/catalina.out
默认情况下,WAR文件部署后可以通过以下URL访问:
http://your_server_ip:8080/yourproject
如果WAR文件名为ROOT.war,则可以直接通过:
http://your_server_ip:8080
sudo nano /opt/tomcat/conf/server.xml
# 找到<Connector port="8080" ...> 修改为80或其他端口
编辑项目配置文件(通常在WEB-INF/classes目录下),配置数据库连接信息。
# 创建服务文件(Systemd)
sudo nano /etc/systemd/system/tomcat.service
# 添加以下内容:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
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
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
# 启用服务
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat
端口冲突:
netstat -tulnp | grep 8080
权限问题:
sudo chown -R tomcat:tomcat /opt/tomcat
应用无法访问:
sudo ufw allow 8080/tcp
tail -f /opt/tomcat/logs/catalina.out
内存不足:
/opt/tomcat/bin/catalina.sh
,添加:
bash
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=256m"
通过以上步骤,您应该能够在Linux服务器上成功部署WAR项目。根据实际项目需求,可能还需要进行额外的配置。