Centos 系統服務腳本目錄:
有系統(system)和用戶(user)之分,
如需要開機沒有登陸情況下就能運行的程序,存在系統服務(system)里,即:
反之,用戶登錄后才能運行的程序,存在用戶(user)里
1 /lib/systemd/system 等于 /usr/lib/systemd/system2 /lib/systemd/user 等于 /usr/lib/systemd/user
服務以.service結尾。
這邊以nginx開機運行為例
1.建立服務文件
1 cd /lib/systemd/system/2 cp -p tuned.service httpd.service3 vim httpd.service
1 [Unit] 2 Description=Apache Httpd Serveice 3 After=httpdlog.target 4 5 [Service] 6 Type=forking 7 ExecStart=/usr/local/apache2/bin/apachectl start 8 ExecReload=/usr/local/apache2/bin/apachectl restart 9 ExecStop=/usr/local/apache2/bin/apachectl stop10 PRivateTmp=true11 12 [Install]13 WantedBy=multi-user.target14 ~
[Unit]:服務的說明
Description:描述服務After:描述服務類別
[Service]服務運行參數的設置
Type=forking是后臺運行的形式ExecStart為服務的具體運行命令ExecReload為重啟命令ExecStop為停止命令PrivateTmp=True表示給服務分配獨立的臨時空間注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑
[Install]服務安裝的相關設置,可設置為多用戶
2.保存目錄以754的權限保存在目錄:
任務 | 舊指令 | 新指令 |
使某服務自動啟動 | chkconfig --level 3 httpd on | systemctl enable httpd.service |
使某服務不自動啟動 | chkconfig --level 3 httpd off | systemctl disable httpd.service |
檢查服務狀態 | service httpd status | systemctl statushttpd.service (服務詳細信息)systemctl is-active httpd.service (僅顯示是否 Active) |
顯示所有已啟動的服務 | chkconfig --list | systemctl list-units --type=service |
啟動某服務 | service httpd start | systemctl start httpd.service |
停止某服務 | service httpd stop | systemctl stop httpd.service |
重啟某服務 | service httpd restart | systemctl restart httpd.service |
啟動nginx服務
systemctlstartnginx.service
設置開機自啟動
systemctlenablenginx.service
停止開機自啟動
systemctldisablenginx.service
查看服務當前狀態
systemctlstatusnginx.service
重新啟動服務
systemctlrestartnginx.service
查看所有已啟動的服務
systemctllist-units--type=service
新聞熱點
疑難解答