centosredis開機啟動腳本
❶ 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 設置開機自啟動腳本
兩種實現方式:
方法一: (rc.local)
1、因為在 centos7 中 /etc/rc.d/rc.local 的許可權被降低了,所以需要賦予其可執行權
2、賦予腳本可執行許可權
假設 /usr/local/sca/start.sh 是你的腳本路徑,給予執行許可權
3、打開 /etc/rc.d/rc.local 文件,在末尾增加如下內容
方法二: (chkconfig)
1、將腳本移動到 /etc/rc.d/init.d 目錄下
2、增加腳本的可執行許可權
3、添加腳本到開機自動啟動項目中
chkconfig 啟動腳本規范 在腳本開頭加入下面內容:
注意:不添加以上內容的話添加啟動項時會提示service myservice does not support chkconfig
Linux啟動優先順序:
❸ 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
❹ Redis 如何在系統啟動時設置為開機自啟
將單擊版的reids的默認的6379埠設置為防火牆的永久性打開
0linux(centOS7)防火牆如何對埠的處理
redis的開機啟動的操作
redis事先已經make好找到自動啟動的配置文件redis_init_script
redis的開機啟動的操作
將redis_init_script放到目標文件夾/etc/rc.d/init.d/的目錄下並名好名為redis
redis的開機啟動的操作
打開/etc/rc.d/init.d/redis的文件並配置
redis的開機啟動的操作
打開redis.conf的配置文件
redis的開機啟動的操作
修改此處位置
redis的開機啟動的操作
通過指令就服務添加的到啟動項中
redis的開機啟動的操作
啟動的級別認識
redis的開機啟動的操作
❺ CentOS7設置Redis開機啟動
記下坑的流水賬
安裝都完成了,redis我安裝在單獨的redis用戶里;
所以安裝目錄就是/home/redis/redis-6.0.8/
配置文件的方式來做開機啟動;
/home/redis/redis-6.0.8/utils/redis_init_script 使用redis自己的啟動腳本,將該腳本cp到/etc/init.d/中,順便改名redisd,d結尾的表示自啟動服務(大概);
腳本裡面部分內容需要做修改:
EXEC= 是伺服器程序位置+程序名稱,位置改成自己的:
/home/redis/redis-6.0.8/src/redis-server
CLIEXEC= 是客頌飢戶端的,同樣有必要的話就修改/home/redis/redis-6.0.8/src/redis-cli
CONF=配置文件位置,的安裝目錄里redis.conf到這里指定的位置,順便改名字成敗櫻絕默認埠號,或者設置自己想要的目錄也行:/etc/redis/6379.conf。
配置文件內容要改,比如:
是否守護進程daemonize no改成yes
屏蔽 bind 127.0.0.1
這圖
chkconfig --list 查看自啟動服務
chkconfig --add redisd 把redis加入其中
chkconfig redisd on 開
reboot 重啟
ps -ef|grep redis看看成功沒察姿有
service redisd start 直接開起服務
service redisd stop 關閉redis
有設置密碼會報錯(error) NOAUTH Authentication required
那麼網上有教:在啟動腳本里改一下加入密碼變數
那麼,就是不安全,自己練習機無所謂了
❻ 求教關於Centos 7開機自動啟動腳本 問題。
Centos 7 中 /etc/rc.d/rc.local 這個文件許可權降低了。你可以看下 ll /etc/rc.d/rc.local 看他的許可權。
你可以試著加下許可權。
chmod +x /etc/rc.d/rc.local