發佈日期:
如何在Ubuntu 22.04‧開機時設定腳本(script)去啟動LAMPP伺服器
01. AWS EC2雖則號稱只有0.1%-0.2%停機時間,但測試了幾年使用EC2的經驗,新設定的Ubuntu伺服器,差不多2、3個星期,就會無源無故的重啟(Restart)。再使用多長一點時間,就會連重啟也不成功,要人手關閉EC2個體電源(Power off)再開。
02. 問題是,重啟後我要先停用預設的Apache伺服器,再執行LAMPP伺服器。但測試多次,開機執行腳本(startup script),但就是未能執行LAMPP伺服器。
03. 反覆測試一下,問題是源於開機執行腳本的『Service』位置。假設我設置了執行腳本名稱為『startup.service』。
sudo nano /etc/systemd/system/startup.service
04. 加入以下內容:
[Unit] After=network.service Description=Stop Apache and start LAMPP [Service] Type=forking ExecStart=/opt/startup.sh TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
05. 之後在/opt/startup.sh檔案,簡單設定停用Apache伺服器,再執行LAMPP伺服器就可以。
sudo nano /opt/startup.sh
06. 加入以下內容。要注意頭一句『#!/bin/bash』是必需的,否則在埶行腳本時,系統就不知道要用那個編釋器(interpreter)去執行腳本。
#!/bin/bash service apache2 stop /opt/lampp/lampp start
07. 更改後,重新載入執行腳本。
sudo systemctl reenable startup.service
08. 再啟動執行腳本。
sudo systemctl start startup.service
09. 需要時可檢查執行腳本狀態。
sudo systemctl status startup.service
發佈留言