centos 7的服務systemctl指令碼存放在:/usr/lib/systemd/,
有系統(system)和使用者(user)之分,像需要開機不登陸就能執行的程式,
還是存在系統服務裡吧,即:/usr/lib/systemd/system目錄下
每乙個服務以.service結尾,一般會分為3部分:[unit]、[service]和[install]
在centos7中新增開機自啟服務非常方便,只需要兩條命令(以jenkins為例):
systemctl enable jenkins.service #設定jenkins服務為自啟動服務
sysstemctl start jenkins.service #啟動jenkins服務
1.建立服務檔案
檔案路徑
vim /usr/lib/systemd/system/nginx.service
服務檔案內容
1.nginx.service
[unit]
description=nginx - high performance web server
after=network.target remote-fs.target nss-lookup.target
[service]
type=forking
execstart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
execreload=/usr/local/nginx/sbin/nginx -s reload
execstop=/usr/local/nginx/sbin/nginx -s stop
[install]
wantedby=multi-user.target
2.mysql.service
[unit]
description=mysql
after=network.target remote-fs.target nss-lookup.target
[service]
type=forking
execstart=/usr/local/mysql/support-files/mysql.server start
#execreload=/usr/local/mysql/support-files/mysql.server restart
#execstop=/usr/local/mysql/support-files/mysql.server stop
#privatetmp=true
[install]
wantedby=multi-user.target
3.php-fpm.service
[unit]
description=php
after=network.target remote-fs.target nss-lookup.target
[service]
type=forking
execstart=/usr/local/php/sbin/php-fpm
[install]
wantedby=multi-user.target
4.redis.service
[unit]
description=redis
after=network.target remote-fs.target nss-lookup.target
[service]
type=forking
execstart=/usr/local/bin/redis-server /etc/redis.conf
execstop=kill -int `cat /tmp/redis.pid`
user=www
group=www
[install]
wantedby=multi-user.target
5.supervisord.service
[unit]
description=process monitoring and control daemon
after=rc-local.service
[service]
type=forking
execstart=/usr/bin/supervisord -c /etc/supervisord.conf
sysvstartpriority=99
[install]
wantedby=multi-user.target
檔案內容解釋[unit]:服務的說明
description:描述服務
after:描述服務類別
[service]服務執行引數的設定
type=forking是後台執行的形式
execstart為服務的具體執行命令
execreload為重啟命令
execstop為停止命令
privatetmp=true表示給服務分配獨立的臨時空間
注意:啟動、重啟、停止命令全部要求使用絕對路徑
[install]服務安裝的相關設定,可設定為多使用者
2.儲存目錄
以754的許可權儲存在目錄:
/usr/lib/systemd/system/
3.設定開機自啟動
任意目錄下執行
systemctl enable nginx.service
4.其他命令
啟動nginx服務
systemctl start nginx.service
設定開機自啟動
systemctl enable nginx.service
停止開機自啟動
systemctl disable nginx.service
檢視服務當前狀態
systemctl status nginx.service
重新啟動服務
systemctl restart nginx.service
檢視所有已啟動的服務
systemctl list-units --type=service
在centos7中增加指令碼有兩種常用的方法,以指令碼autostart.sh為例:
#!/bin/bash
#description:開機自啟指令碼
/usr/local/tomcat/bin/startup.sh #啟動tomcat
1、賦予指令碼可執行許可權(/opt/script/autostart.sh是你的指令碼路徑)
chmod +x /opt/script/autostart.sh
2、開啟/etc/rc.d/rc.local檔案,在末尾增加如下內容
/opt/script/autostart.sh
3、在centos7中,/etc/rc.d/rc.local的許可權被降低了,所以需要執行如下命令賦予其可執行許可權
chmod +x /etc/rc.d/rc.local
service httpd start 其實是啟動了存放在/etc/init.d目錄下的指令碼。
1、將指令碼移動到/etc/rc.d/init.d目錄下
mv /opt/script/autostart.sh /etc/rc.d/init.d
2、增加指令碼的可執行許可權
chmod +x /etc/rc.d/init.d/autostart.sh
3、新增指令碼到開機自動啟動專案中
cd /etc/rc.d/init.d
chkconfig --add autostart.sh
chkconfig autostart.sh on
centos7 新增開機啟動服務 指令碼
在centos7中新增開機自啟服務非常方便,只需要兩條命令 以jenkins為例 systemctl enable jenkins.service 設定jenkins服務為自啟動服務 sysstemctl start jenkins.service 啟動jenkins服務在centos7中增加指令碼...
CentOS 7新增開機啟動服務 指令碼
一 新增開機自啟服務 在centos7 中新增開機自啟服務非常方便,只需要兩條命令 以jenkins為例 systemctl enable jenkins.service 設定jenkins服務為自啟動服務 sysstemctl start jenkins.service 啟動jenkins服務 二...
CentOS 7新增開機啟動服務 指令碼
一 新增開機自啟服務 在centos 7中新增開機自啟服務非常方便,只需要兩條命令 以jenkins為例 systemctl enable jenkins.service 設定jenkins服務為自啟動服務 systemctl start jenkins.service 啟動jenkins服務 li...