您好(hǎo),歡迎來(lái)到(dào)盤龍區華¶'銘誠泰網絡工作室官方網站(zhàn)!ZJJCL.CN
新聞動态
您現(xiàn)在的(de)位置:首頁 > 技(jì)術(shù)文(wén)摘
解決不(bù)能(néng)自(zì)動開(kāi)機(jī)啓動websβ÷ocket的(de)問(wèn)題方案!
來(lái)源:創立工(gōng)作(zuò)室 作(zuò)者:•π馮軍 發布時(shí)間(jiān):2024-06-04 1♣φΩ☆0:18:37 閱讀(dú) 1983 次

這(zhè)幾天需要(yào)做(zuò)一(yī)個(gè)項目,用★>€(yòng)到(dào)了(le)websocket,開γ¶↔ (kāi)始嘗試了(le)很(hěn)多(d &uō)方式都(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的(de)腳本,你(nǐ)可(kě)以按照(z±±hào)以下(xià)步驟進行(xíng)設∞∑∑‌置:

方法一(yī):使用(yòng)rc.loc↕ $≈al

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ínγ←g)之前添加以下(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à)命令進入cronta₹"b文(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_linu$'​x.sh

請(qǐng)确保将"/path/to/st$"≠art_linux.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的(d‌πγ&e)系統,如(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)start_lγ "≤inux.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)件(₽↕jiàn)夾中的(de)/etc/rc.local文(wén)件(∑★‌αjiàn):sudo nano /etc/rc.loca ←₹≥l

2. 在文(wén)件(jiàn)的(de)末尾添加以下(xi ↕ ↕à)命令來(lái)運行(xíng)star↓•t_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í)任務列表:c ₩™rontab -e

2. 在打開(kāi)的(de)文(wén≥Ω★)件(jiàn)中添加以下(xià)行(xíng)∑&₩‌來(lái)運行(xíng)start_linux.sh腳δπ本:

@reboot /path/to/staΩ rt_linux.sh

注意将"/path/to/start_linuδ♥‌x.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/syε↕stemd/system/start_linux.ser≠→ vice

2. 在文(wén)件(jiàn)中添加∑'以下(xià)內(nèi)容:

[Unit]

Description=Start Linux<ε✘→ Script

After=network.target

[Service]

ExecStart=/path/to/start_l∏¥≠→inux.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òng)和(hé)運行(xí​ ¥ng)新的(de)systemd服務單元文(wén)件(ji↕ àn):

sudo systemctl enable★‍δ start_linux.service

sudo systemctl start start_li♣→nux.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à)我的(dβ±₹"e)經驗:

第一(yī)步:

etc/rc.d

 進入這(zhè)個(gè)目錄後,創建一(yī)個(gè)啓動腳ε 本文(wén)件(jiàn)

websocket.sh

然後腳本文(wén)件(jiàn)內(nèi)Ω♥容

#!/bin/sh
# chkconfig: 234&σ5 10 90

# websock§↓‌et
php /你(nǐ)的(de)存儲✘ §目錄/wwwroot/page/think web£∏™≠socket start

然後進入系統任務目錄挂在任務crontab

crontab -e

進入後按一(yī)下(xià)  ₽→•insert鍵進入編輯狀态

在以下(xià)面一(yī)行(xíng)加入啓動腳本命令

@reboot /etc/rc.d/webs÷ ♠✘ocket.sh

最後ESC,:wq 保存退出,reboot重啓服務器(qì)查看(kàn)↑₹λ∑是(shì)否啓動成功