您好(hǎo),歡迎來(lái)到(dào)溫江區帝啓網絡工作室官方網站₹₹©(zhàn)!ZJJCL.CN
新聞動态
您現(xiàn)在的(de)位置:首頁 > 技(jì)術(shù)文(wén)摘
解決不(bù)能(néng)自(zì)動開(kāi)機(jī∏"≈>)啓動websocket的(de)問(wèn)題方案!
來(lái)源:創立工(gōng)作(zuò¶→<)室 作(zuò)者:馮軍 發布時(shí)間(jiān):20★ו24-06-04 10:18:37 閱讀(dú) 18 •γπ94 次

這(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 /()(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ì)否啓動成功