本地開發 (MyEclipse + Tomcat)
│
▼ 打包 WAR / 複製項目目錄
阿里雲 Windows Server 2012 (JDK + Tomcat + MySQL)
│
▼ 配置數據源、端口、防火牆
對外提供服務
JAVA_HOME、PATH。D:\Tomcat,修改 conf/server.xml:<Connector port="8080" address="0.0.0.0" /> 允許外網訪問# 本地 MyEclipse
右鍵項目 → Export → WAR file → 保存為 app.war
# 服務器
複製 app.war 到 D:\Tomcat\webapps\
啟動 Tomcat,自動解壓部署
訪問 https://公網IP:8080/app/
# 本地
項目目錄 (含 WEB-INF/classes, lib, web.xml 等)
# 服務器
複製整個項目目錄到 D:\Tomcat\webapps\myapp\
或修改 server.xml 添加 Context:
<Context docBase="D:/myapp" path="/myapp" reloadable="true" />
<Resource name="jdbc/MyDB"
url="jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC"
username="prod_user"
password="strong_password"
... />
注意:本地用 localhost,服務器同機部署亦用 localhost;若數據庫分離,改為內網 IP。
D:\Tomcat\bin\startup.bat 啟動logs/catalina.out 無錯誤https://公網IP:8080/項目路徑service.bat install 將 Tomcat 註冊為 Windows 服務,設置自動啟動。log4j2.xml 或 logging.properties 按天/大小滾動。set CATALINA_OPTS=-Xms512m -Xmx2g -XX:MetaspaceSize=256m(在 bin/setenv.bat 中)。| 現象 | 原因 | 解決 |
|---|---|---|
| 404 Not Found | 路徑錯誤、未部署、Context path 不匹配 | 檢查 webapps 目錄、server.xml Context 配置、項目名稱 |
| 數據庫連接失敗 | IP/端口/用戶密碼錯、防火牆攔截、驅動版本不匹配 | 測試 telnet 3306、檢查 MySQL 用戶 host 字段、換驅動版本 |
| 中文亂碼 | URI 編碼、數據庫字符集、JVM 文件編碼 | Connector 加 URIEncoding=UTF-8、DB 用 utf8mb4、JVM -Dfile.encoding=UTF-8 |
| 端口被佔用 | 8080 被其他進程占用 | netstat -ano | findstr 8080 找 PID 杀掉、或改端口 |
本地 Tomcat 項目部署到阿里雲 Windows Server,核心流程是:環境一致性 → WAR 包部署 → 配置外部化 (DB/端口) → 防火牆/安全組放行 → 啟動驗證 → 生產優化。無需在服務器安裝 MyEclipse,只需 JDK + Tomcat + MySQL + 項目包。掌握 WAR 部署、Context 配置、JDBC 外部化、Windows 服務註冊、Nginx 反代這五項技能,即可獨立完成 Java Web 專案的生產部署上線。