這(zhè)幾天需要(yào)做(zuò→♠$)一(yī)個(gè)項目,用(yòng)到≥✘↓(dào)了(le)websocket,開(kāi)始嘗試了(le)很(hěn)多(duō)✔>方式都(dōu)不(bù)能(néng)啓動,通(tōng)過幾個σ≤÷"(gè)小(xiǎo)時(shí)的(de)不(bù)斷測試,發現(xiàn)了(le)解決問(€βγ wèn)題的(de)辦法!
如(rú)果你(nǐ)想在每次開(kāi)機(jī)時(shí)←©自(zì)動運行(xíng)一(yī)個(gè)名為(wèi)start_linux.sh的(d→₽e)腳本,你(nǐ)可(kě)以按照(zhào)以下(xià)步驟進行(x ©íng)設置:
方法一(yī):使用(yòng)rc.local
1. 打開(kāi)終端,輸入以下(xià)命令進入rc.local文(wén)件(jiàn ∏Ω):
sudo nano /etc/rc.local
2. 在文(wén)件(jiàn)中找到(dào)"exit 0"一(yī)行(xí☆•ng),在這(zhè)行(xíng)之前添加以下(xià)內(nèi)容:
# 運行(xíng)start_linux.sh腳本
/path/to/start_linux.sh
請(qǐng)确保将"/path/to/start_linux.sh"替換為(wèi)實際的(de∏σ)腳本路(lù)徑。
3. 按Ctrl + X保存文(wén)件(jiàn)并退出。
4. 重新啓動計(jì)算(suàn)機(jī),腳本将自∑★(zì)動在開(kāi)機(jī)時(shí)運行(xí→Ωng)。
方法二:使用(yòng)cron
1. 打開(kāi)終端,輸入以下(xià)命令進入crontab'™©文(wén)件(jiàn):
crontab -e
2. 如(rú)果是(shì)第一(yī)次使用(yòng)cron,會(huì)要(yào↔γ↕π)求選擇一(yī)個(gè)編輯器(qì),選擇你(nǐ)喜歡的(de)編輯器(qì)↔≥。
3. 在文(wén)件(jiàn)末尾添加以下(xià)內(nèi)容:
@reboot /path/to/start_linux.sh
請(qǐng)确保将"/path/to/start_l★∞€inux.sh"替換為(wèi)實際的(de)腳本路(lù)徑。
4. 按Ctrl + X保存文(wén)件(jiàn)并退出。
5. 重新啓動計(jì)算(suàn)機(jī),腳本将自(zì)動在開(✘kāi)機(jī)時(shí)運行(xíng)。
請(qǐng)注意,以上(shàng)方法适用(yòng)₽↕Ωδ于基于Linux的(de)系統,如(rú)Ubuntu、Debian等。如(rú)果你(nǐα♠)使用(yòng)的(de)是(shì)其他(tā)操作(zuò)系統,請∏←(qǐng)參考其它方式進行(xíng)設置。另外(wài),确保你(nǐ)有(yǒu ∏)足夠的(de)權限來(lái)編輯這(zh↑♥è)些(xiē)文(wén)件(jiàn)。
其他(tā)答(dá)案
設置每次開(kāi)機(jī)自(zì)動運行(xíng)stλ₽×art_linux.sh可(kě)以通(tōng)過修改₽ελ₹啓動程序的(de)方式實現(xiàn)。以下(xià)是(shì)在Linux系統中實現(xià₹πλn)此功能(néng)的(de)幾種方法:
方法一(yī):使用(yòng)/etc/rc.local文(wén)件(jiàn)
1. 打開(kāi)終端,并使用(yòng)sudo訪問(wèn)/root文(wén)件(jΩαiàn)夾中的(de)/etc/rc.local文(wén)件(jiàn):sudo nano ✘≥€≥/etc/rc.local
2. 在文(wén)件(jiàn)的(de)末尾添加以下(xià)命令來(lá¥↔i)運行(xíng)start_linux.€♣sh腳本:
/path/to/start_linux.sh &
注意将"/path/to/start_linux.sh"替換為(¶₽wèi)實際的(de)腳本路(lù)徑。
3. 保存文(wén)件(jiàn)并退出。
方法二:使用(yòng)crontab
1. 打開(kāi)終端,并使用(yòng)crontab命令編輯cron定時(shíε≠σ)任務列表:crontab -e
2. 在打開(kāi)的(de)文(wén)件(jiàn)中添加以下(xià)行(xíng↕∞")來(lái)運行(xíng)start_linux.sh腳本:
@reboot /path/to/start_linux.sh
注意将"/path/to/start_linux.sh"替換為(wèi)實際的(de)腳本路(l ™ù)徑。
3. 保存文(wén)件(jiàn)并退出©。
方法三:使用(yòng)systemd
1. 打開(kāi)終端,并使用(yòng)sudo權限≤™編輯一(yī)個(gè)新的(de)systemd服務單元文(wén)件(jiàn•≤):sudo nano /etc/syste÷δ★¶md/system/start_linux.service
2. 在文(wén)件(jiàn)中添加以下(xià)內→∏ε✘(nèi)容:
[Unit]
Description=Start Linux Script
After=network.target
[Service]
ExecStart=/path/to/start_lin•≤ux.sh
[Install]
WantedBy=default.target
注意将"/path/to/start_linux.sh"替換為(wè↔≥i)實際的(de)腳本路(lù)徑。
3. 保存文(wén)件(jiàn)并退出。
4. 運行(xíng)以下(xià)命令來(lái)啓用(yòn∞±§g)和(hé)運行(xíng)新的(de)systemd服務單元文($♣<wén)件(jiàn):
sudo systemctl enable start_linux.≈α☆service
sudo systemctl start start_linux¶ε.service
這(zhè)些(xiē)方法中,你(nǐ)可(kě)以選擇其中一(yī)種适合你(nǐ)的(∑αde)系統和(hé)需求的(de)方法來(lái)實現(xiàn)♠πε每次開(kāi)機(jī)自(zì)動運行(•₩¥≤xíng)start_linux.sh腳本。
最後分(fēn)享一(yī)下(xià)我的(de)經驗:
第一(yī)步:
etc/rc.d
進入這(zhè)個(gè)目錄後,創建一(yī×>)個(gè)啓動腳本文(wén)件(jiàn)
websocket.sh
然後腳本文(wén)件(jiàn)內(nèi)容
#!/bin/sh
# chkconfig: 2345 10 90
÷∑&
# websocket
php /你(nǐ)的(de)存儲 Ω✘目錄/wwwroot/page/think websocket start
然後進入系統任務目錄挂在任務crontab
crontab -e
進入後按一(yī)下(xià) inser₩λ$$t鍵進入編輯狀态
在以下(xià)面一(yī)行(xíng)加入啓動腳本命令
@reboot /etc/rc.d/websocket.sh
最後ESC,:wq 保存退出,reboot重啓§↓←✘服務器(qì)查看(kàn)是(shì)否啓動成功
- 上(shàng)一(yī)篇:寶塔面闆不(bù)能(néng)自(zì)動開(kāi)機(jī✘>∞$)啓動nginx的(de)解決辦法!
- 下(xià)一(yī)篇:PHP 非常實用(yòng)下(xià)載遠(yuǎn)程圖片