錯誤 “Failed to start tomcat.service: Unit is not loaded properly: Bad message” 通常意味著的 tomcat.service
systemd 配置文件存在語法錯誤或配置不正確。為了解決這個問題,一步步檢查和修正這個服務文件。
1. 檢查 tomcat.service
文件
首先,打開并檢查 /etc/systemd/system/tomcat.service
文件的內容,確保它的格式和參數正確無誤。下面是一個標準的 Tomcat systemd 服務文件的示例,您可以根據需要進行調整:
[Unit]
Description=Tomcat 9 servlet container
After=network.target[Service]
Type=forkingUser=tomcat
Group=tomcat
**特別注意這里環境配置是不是和環境中Java環境配置不一樣**
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh[Install]
WantedBy=multi-user.target
確保:
- 所有路徑都正確指向了相應的文件,特別是
ExecStart
和ExecStop
腳本的路徑。 JAVA_HOME
環境變量正確指向您安裝的 Java 路徑。- 確保沒有不可見的特殊字符或格式錯誤。
2. 重新加載并嘗試啟動服務
修改完畢后,保存文件并運行以下命令來重新加載 systemd 配置并嘗試啟動服務:
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
3. 檢查服務狀態
如果服務啟動時仍然遇到問題,使用下面的命令查看更多的錯誤信息:
sudo systemctl status tomcat.service
這個命令會顯示服務的狀態和日志的頭幾行,可能包含導致錯誤的具體原因。
4. 查看日志
如果 systemctl status
的輸出不足以幫助您診斷問題,您可以查看更詳細的系統日志:
journalctl -xe
這個命令會顯示詳細的錯誤信息,有助于確定啟動失敗的原因。
5. 調整和測試
根據日志中的提示,調整您的 tomcat.service
文件中的配置。可能需要幾次嘗試來確認配置完全正確。