### CentOS7自定義系統服務
CentOS7的服務systemctl腳本存放在:/usr/lib/systemd/,有系統(system)和用戶(user)之分,需要開機不登陸就能運行的程序,存在系統服務里,即:/usr/lib/systemd/system目錄下。
CentOS7所編寫的服務的每一個服務以.service結尾,一般會分為3部分:[Unit]、[Service]和[Install]
`[Unit]部分`主要是對這個服務的說明,內容包括Description和After,Description 用于描述服務,After用于描述服務類別
`[Service]部分`是服務的關鍵,是服務的一些具體運行參數的設置.
1. Type=forking是后臺運行的形式,
2. User=users是設置服務運行的用戶,
3. Group=users是設置服務運行的用戶組,
4. PIDFile為存放PID的文件路徑,
5. ExecStart為服務的具體運行命令,
6. ExecReload為重啟命令,
7. ExecStop為停止命令,
8. PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]部分的啟動、重啟、停止命令全部要求使用絕對路徑,使用相對路徑會報錯!
[Install]部分是服務安裝的相關設置,可設置為多用戶的。
首先,使用systemctl start [ 服務名(也是文件名) ] 可測試服務是否可以成功運行,如果不能運行則可以使用systemctl status [ 服務名(也是文件名) ]查看錯誤信息和其他服務信息,然后根據報錯進行修改,直到可以start,如果不放心還可以測試restart和stop命令。
接著,只要使用systemctl enable xxxxx就可以將所編寫的服務添加至開機啟動即可。
實例:用于開機運行的tomcat服務項目:
~~~
#vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=java tomcat project
After=tomcat.service
[Service]
Type=forking
User=users
Group=users
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
~~~
添加可執行權限:
~~~
chmod 754 /usr/lib/systemd/system/tomcat.service
~~~
設置為開機自啟動:
~~~
#systemctl enable tomcat.service
~~~
常用指令(以tomcat服務為例):
1. 啟動某服務
systemctl start tomcat.service
2. 停止某服務
systemctl stop tomcat.service
3. 重啟某服務
service tomcat restart
systemctl restart tomcat.service
使某服務自動啟動(如tomcat服務)
systemctl enable tomcat.service
使某服務不自動啟動
systemctl disable tomcat.service
檢查服務狀態
systemctl status tomcat.service (服務詳細信息)
systemctl is-active tomcat.service(僅顯示是否Active)
顯示所有已啟動的服務
systemctl list-units --type=service
- 目錄
- Linux目錄結構
- 文件和目錄管理
- 創建文件
- touch命令
- ln命令
- 文件列表
- 查看內容
- ls命令
- ll命令
- stat 命令
- 文件查找
- updatedb命令
- locate/slocate命令
- whereis命令
- which命令
- find命令
- 文件壓縮
- tar命令
- 目錄管理
- mkdir命令
- pwd命令
- tail命令
- 監視文件
- 文件復制
- cp命令
- 壓縮解壓
- zip命令
- unzip命令
- 系統管理
- crontab命令
- crontab問題
- crontab日志
- crontab原理
- 系統計劃任務
- 用戶計劃任務
- 調用ThinkPHP控制器
- ntsysv命令
- chkconfig命令
- export命令
- 修改PATH環境變量
- ps命令
- man
- 主要方法
- pstree命令
- service命令
- kill命令
- ulimit命令
- 綜合命令
- 編譯文件
- make命令
- makefile文件
- 設備管理
- mount命令
- 用戶和工作組管理
- groupadd命令
- passwd命令
- useadd命令
- groups命令
- chage命令
- whoami命令
- 查看用戶組下所有用戶
- 軟件安裝
- rpm命令
- 系統監測
- free命令
- 硬件配置
- 系統監控
- top命令
- ps_mem
- pstree
- 文件傳輸
- web服務
- Nginx
- 文件下載
- wget命令
- 系統幫助
- whatis命令
- man命令
- shell命令
- shell變量
- sh命令
- source命令
- test命令
- 表達式
- 邏輯運算符
- date命令
- declare命令
- 軟件安裝
- yum命令
- 安裝
- 系統服務
- systemctl命令
- service
- 環境變量
- Linux 中環境變量設置
- 網絡管理
- iptables命令
- netstat命令
- 查看端口占用
- 常用端口說明
- 系統安全
- getenforce
- 磁盤空間
- df命令