插件窝 干货文章 在Linux服务器上部署War项目教程

在Linux服务器上部署War项目教程

Tomcat opt sudo manager 723    来源:    2025-04-01

Linux服务器上部署WAR项目教程

准备工作

  1. 服务器环境要求

    • Linux服务器(推荐CentOS/Ubuntu)
    • Java JDK 1.8或更高版本
    • Tomcat 8.x或更高版本
    • 数据库(如MySQL,可选)
  2. 工具准备

    • SSH客户端(如PuTTY或终端)
    • SFTP工具(如FileZilla或WinSCP)
    • 项目WAR包

详细部署步骤

1. 连接服务器

ssh username@server_ip
# 输入密码登录

2. 安装必要软件

安装Java JDK

# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk

# CentOS/RHEL
sudo yum install java-11-openjdk-devel

# 验证安装
java -version

安装Tomcat

# 下载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

3. 配置Tomcat

# 修改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" /> -->

4. 上传WAR文件

使用SFTP工具将WAR文件上传到服务器,例如上传到/opt/tomcat/webapps/目录。

或者使用命令行:

scp yourproject.war username@server_ip:/opt/tomcat/webapps/

5. 启动Tomcat

# 启动
/opt/tomcat/bin/startup.sh

# 停止
/opt/tomcat/bin/shutdown.sh

# 查看日志
tail -f /opt/tomcat/logs/catalina.out

6. 访问应用程序

默认情况下,WAR文件部署后可以通过以下URL访问:

http://your_server_ip:8080/yourproject

如果WAR文件名为ROOT.war,则可以直接通过:

http://your_server_ip:8080

高级配置

1. 修改Tomcat端口

sudo nano /opt/tomcat/conf/server.xml
# 找到<Connector port="8080" ...> 修改为80或其他端口

2. 配置数据库连接

编辑项目配置文件(通常在WEB-INF/classes目录下),配置数据库连接信息。

3. 设置开机自启动

# 创建服务文件(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

常见问题解决

  1. 端口冲突

    • 检查端口是否被占用:netstat -tulnp | grep 8080
    • 修改Tomcat端口或停止占用端口的服务
  2. 权限问题

    • 确保Tomcat用户有足够权限:sudo chown -R tomcat:tomcat /opt/tomcat
  3. 应用无法访问

    • 检查防火墙设置:sudo ufw allow 8080/tcp
    • 检查Tomcat日志:tail -f /opt/tomcat/logs/catalina.out
  4. 内存不足

    • 修改Tomcat内存设置:编辑/opt/tomcat/bin/catalina.sh,添加: bash export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=256m"

通过以上步骤,您应该能够在Linux服务器上成功部署WAR项目。根据实际项目需求,可能还需要进行额外的配置。