導航:首頁 > 編程系統 > linux自啟動chkconfig

linux自啟動chkconfig

發布時間:2023-08-28 19:10:20

linux服務開機自啟動三種方式,你覺得哪種最優雅

很多時候,我們需要將一些服務在Linux系統啟動時即自動運行,省得每次都要去手動啟動一遍,如Redis, MySQL, Nginx等。本文對CentOS與Ubuntu下開機自啟動的配置方法進行整理,供參考查閱。

rc.local是CentOS以前版本的方式,在CentOS7中仍然以兼容的形式存在,雖仍可用,但不推薦(推薦使用systemd service)。

1、編寫需要開機自啟動的腳本,並添加執行許可權

作為測試,上述腳本列印一個時間到/tmp/test.log文件

2、在/etc/rc.d/rc.local配置文件中添加腳本運行命令(使用絕對路徑)

3、添加/etc/rc.d/rc.local文件的執行許可權

在centos7中,/etc/rc.d/rc.local沒有執行許可權,需要手動授權

以上三步,即可使/root/test_rclocal.sh >/dev/null 2>/dev/null 命令在伺服器系統啟動時自動運行。

1、編寫需要開機自啟動的測試腳本,並添加執行許可權

2、在/etc/rc.d/init.d/目錄下添加一個可執行腳本testchkconfig

上述testchkconfig腳本的頭部必須遵循一定的格式 # chkconfig: 2345 90 10, 其中2345指定服務在哪些執行等級中開啟或關閉,90表示啟動的優先順序(0-100,越大優先順序越低),10表示關閉的優先順序。執行等級包括

3、加入開機啟動服務列表

使用 chkconfig --list 可查看當前加入開機自啟動的服務列表,但如Note部分所述,該命令只顯示SysV服務,不包含原生的systemd服務,查看systemd服務可使用systemctl list-unit-files命令。

以上三步,即可使/root/test_chkconfig.sh >/dev/null 2>/dev/null 命令在伺服器系統啟動時自動運行。

chkconfig的其它命令參考

CentOS7的systemd服務腳本存放在:/usr/lib/systemd/system(系統級)/usr/lib/systemd/user(用戶級)下,以.service結尾。這里以nginx為例

1、在/usr/lib/systemd/system目錄下創建nginx.service文件

其中Service部分的Type包括如下幾種類型:

2、 開啟開機自啟動

以上兩步,就將nginx服務配置成了在操作系統啟動時自動啟動。

其它命令參考

從字面看是PID文件不可讀,查看/var/run/nginx.pid,該文件也確實不存在,查看nginx.conf配置文件,發現是pid /var/run/nginx.pid;這行配置被注釋掉了, 如果不指定pid文件位置,nginx默認會把pid文件保存在logs目錄中。所以出現systemd啟動服務時找不到pid文件而報錯,將nginx.conf中的pid配置注釋去掉,重啟nginx.service即可。

在Ubuntu18.04中,主要也是以systemd服務來實現開機自啟動,systemd默認讀取/etc/systemd/system/下的配置文件,該目錄下的一些文件會鏈接到/lib/systemd/system/下的文件。

因此可以在/etc/systemd/system/目錄下面創建一個自啟動服務配置,以內網穿透服務frp客戶端為例,如

各配置項與CentOS類似。然後將伺服器加到自啟動列表中並啟動服務

其它更多systemctl命令與CentOS類似。

也可以使用/lib/systemd/system/rc-local.service來執行一些開機需要執行的腳本,該文件內容為

從Description看它是為了兼容之前版本的/etc/rc.local的,該服務啟動命名就是/etc/rc.local start,將該文件鏈接到/etc/systemd/system下

創建/etc/rc.local文件,並賦予可執行許可權

作者:半路雨歌
鏈接:https://juejin.cn/post/6844904104515338248

㈡ linux 怎麼把服務設置開機啟動

如果是已經安裝好的服務,需要使用chkconfig設置開機啟動。以MySQL為例,因各發行版不同,以及安裝方式的差異,伺服器的啟動腳本可能會有細微不同,現假設服務腳本文件是/etc/init.d/mysqld。
首先查看服務是否正確注冊
$ service --status-all | grep mysqld | grep -v 'grep'如果有含有mysqld文字的一行返回,則代表已正確注冊;若沒有需執行如下命令:
$ sudo chkconfig add mysqld
第二步設置開機自啟動
$ sudo chkconfig mysqld on
附:查看所有服務及其運行級別的命令
$ chkconfig --list

閱讀全文

與linux自啟動chkconfig相關的資料

熱點內容
手機如何把視頻打包到文件夾裡面 瀏覽:248
excel數據轉vcf文件 瀏覽:585
編程題如何左右翻轉 瀏覽:920
wp10微信安裝不了 瀏覽:793
微軟資料庫密碼怎麼改 瀏覽:627
我們是貴族什麼app可以看 瀏覽:65
哪個app認字免費 瀏覽:964
少兒編程線上教育如何 瀏覽:137
ps3升級檢測不到優盤升級文件 瀏覽:845
vs連接資料庫顯示數據 瀏覽:867
win10的設備和列印機 瀏覽:876
linux最新 瀏覽:970
蘋果6有時候自動重啟 瀏覽:851
nodejs處理500頁面 瀏覽:456
win10u盤格式化失敗怎麼辦啊 瀏覽:113
一個游戲測試你java基礎是否扎實 瀏覽:27
怎樣讓軟體不提示更新系統升級 瀏覽:653
1567密碼是什麼意思 瀏覽:759
手機和電視傳輸文件 瀏覽:844
iphone5美版怎麼樣 瀏覽:852

友情鏈接