㈠ CentOS 7 添加開機啟動項
此處只介紹通過Systemctl管理的,添加自定義服務到系統服務的開機啟動方式。
Centos 7 系統開機啟動服務文件集中存放在遲早如下目錄廳數,可以在扮旦首該目錄中新建自定義啟動項配置文件:
正式添加啟動項前,學習一下啟動項服務文件如何編寫:
以 elasticsearch.service、elasticsearch-head.service、kibana.service為例:
完成文件編寫後,可通過下列命令將服務添加到開機啟動項:
㈡ Centos 7關於rc.local腳本命令開機不執行及指定用戶啟動的解決方法
1.開機不啟動
在實際核前生產場景中,我們喜歡在安裝了一些軟體服務後,將軟銷備件設置為開機自啟動,設置為開機自啟動有兩種方法:
1) 設置為chkconfig,可以編寫腳本,查看設置開機自啟動的命令 –add表示添加程序自啟動, --list表示查看。
以後的程序如果需要使用chkconfig開機自啟動,改斗清那麼需要在啟動程序中加入三行:
# chkconfig:2345 20 80
#description: Saves and restores system entropy pool for \
# higher quality random numbergeneration.
第一行中的20,80是啟動級別,不能與其他程序一樣,因此,需自定義設置。
2) 配置在/etc/rc.local文件中。直接將軟體服務的啟動命令寫在rc.local文件
注意:編輯完rc.local文件後,一定要給rc.local文件執行許可權,否則開機時不會執行rc.local文件中腳本命令
chmod+x /etc/rc.d/rc.local
注意此處,是/etc/rc.d/rc.local,而不是/etc/rc.local,如果給/etc/rc.local執行許可權是無效的,因為/etc/rc.local是軟鏈接,真正的文件是/etc/rc.d/rc.local
2.關於在rc.local文件中指定用戶執行腳本命令
使用su命令即可,命令格式:
su - username -c 「your-cammand」 ,如:
[jiakeke@mongodb ~]$ cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemdservices or udev rules
# to run scripts ring boot instead of using thisfile.
#
# In constrast to previous versions e to parallelexecution ring boot
# this script will NOT be run after all otherservices.
#
# Please note that you must run 'chmod +x/etc/rc.d/rc.local' to ensure
# that this script will be executed ring boot.
touch /var/lock/subsys/local
/bin/systemctl start iptables.service
#startup mongodb
/bin/su - xiaoyao -c "/mnt/mongodb/bin/mongod --config/mnt/mongodb/bin/mongodb.conf"
注意:指定用戶執行的腳本(程序)目錄,該用戶必須有管理該腳本(程序)目錄(文件)的許可權。
最好將該腳本(程序)目錄的所有權給該用戶:
chown -R xiaoyao.xiaoyao /mnt/mongodb
㈢ CentOS7開機自動執行命令
1.在/etc/profile內添加執行命令
2.添加crontab定時任務
3.在/etc/rc.local內添加執行命令。
場景:開機以普通用戶身份執行腳本
針對以上場景可以用到 「su」 命令
注意:默認/etc/rc.local沒有執行許可權,需要手動添加一個執行許可權 chmod +x /etc/rc.d/rc.local。
至於為什麼不用其他兩種方法,大家可以自行了解一下
㈣ CENTOS7開機自啟動腳本
1、因為在centos7中 /etc/rc.d/rc.local 的許可權被降低了,所以需要猜棚賦予其可執行權
2、賦予腳本可執行許可權
假設 /usr/local/script/autostart.sh 是你的腳本路徑,給予執行許可權
3、打開 /etc/rc.d/rc.local 文件,在末尾增加如下內容
1、將腳本移動到 /etc/rc.d/init.d 目錄下
2、增加腳本的可執行許可權
3、添加腳本到開機自動啟動項目中
chkconfig啟動腳本規范 在腳本開頭加入下面內容:
說明:chkonfig後面是啟動級別和優先順序,description後面是服務描述。如上面腳本意思是羨派,
服務必須在運行級2,3,4,5下被啟動或關閉,啟動的優先順序是90,停止的優先順序是10。
優先順序范圍是0-100,數字越大,優先順序越低。
Linux啟動優先順序
運行級別就是操作系統當前正在運行的功能級別。這個級別從0到6 ,具有不同的功能。
這些級別在/etc/inittab文件里指定。這個文件是init程序尋找的主要文件,最兄兆賀先運行的服務是那些放在/etc/rc.d 目錄下的文件。
不同的運行級定義如下:(可以參考Linux裡面的/etc/inittab)
㈤ centos7.x設置nginx開機自啟動
第一步:進入到/lib/systemd/system/目錄
第二步:創建nginx.service文件,並編輯
Description:描述服務
After:描述服務類別
[Service]服務運行參數的設置
Type=forking是後台運行的形式
ExecStart為服務的具體運行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]的啟動、重啟、停止命令全此源部要求使核絕用絕對路徑
[Install]運行級別下服務安裝的相關設置,可設置為多用戶,即系統運行級別為3
保存退出。
:wq
第三步:加入開機自啟動
第四步:服務的啟動/停止/刷新配置文件/查看狀態
第五步 查看開改扒姿機啟動項目
一個常見的錯誤
Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.
直接按照提示執行命令systemctl daemon-reload 即可。
㈥ 配置Centos7開機自動進入命令行界面
如果你的Centos7安裝的有圖形界面,但是又不想開機自動圖形界面,可按如下配置
首先可以檢查當前默認的開機狀態:
systemctl get-default
修改為命令行:
#ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
或者
#systemctl set-default multi-user.target 可能不起作用,可測試。
修改啟動模式為圖形界面:
systemctl set-default graphical.target 修改啟動模式為圖形界面