systemd程式管理工具實戰教程
導讀 | systemd是目前 上主要的系統守護程式管理工具,由於init一方面對於程式的管理是序列化的,容易出現阻塞情況,另一方面init也僅僅是執行啟動 ,並不能對服務本身進行更多的管理。 |
systemd是目前 系統上主要的系統守護程式管理工具,由於init一方面對於程式的管理是序列化的,容易出現阻塞情況,另一方面init也僅僅是執行啟動 ,並不能對服務本身進行更多的管理。所以從 7開始也由systemd取代了init作為預設的系統程式管理工具。
systemd所管理的所有系統資源都稱作Unit,透過systemd 集可以方便的對這些Unit進行管理。比如systemctl、hostnamectl、timedatectl、localctl等 ,這些命令雖然改寫了init時代使用者的命令使用習慣(不再使用chkconfig、service等命令),但確實也提供了很大的便捷性。
1.最新系統都採用systemd管理(RedHat7,CentOS7,Ubuntu15...)
2.CentOS7 支援開機並行啟動服務,顯著提高開機啟動效率
3.CentOS7關機只關閉正在執行的服務,而CentOS6,全部都關閉一次。
4.CentOS7服務的啟動與停止不再使用指令碼進行管理,也就是/etc/init.d下不在有指令碼。
5.CentOS7使用systemd解決原有模式缺陷,比如原有service不會關閉程式產生的子程式。
systemctl [command] [unit](配置的應用名稱) command可選項 · start:啟動指定的unit systemctl start nginx · stop:關閉指定的unit systemctl stop nginx · restart:重啟指定unit systemctl restart nginx · reload:過載指定unit systemctl reload nginx · enable:系統開機時自動啟動指定unit,前提是配置檔案中有相關配置 systemctl enable nginx · disable:開機時不自動執行指定unit systemctl disable nginx · status:檢視指定unit當前執行狀態 systemctl status nginx
- 每一個Unit都需要有一個配置檔案用於告知 systemd對於服務的管理方式
- 配置檔案存放於 /usr/lib/systemd/system/,設定開機啟動後會在 /etc/systemd/system目錄建立軟連結檔案
- 每個Unit的配置檔案配置預設字尾名為.service
- 在 /usr/lib/systemd/system/目錄中分為system和user兩個目錄,一般將開機不登陸就能執行的程式存在系統服務裡,也就是 /usr/lib/systemd/system
- 配置檔案使用方括號分成了多個部分,並且區分大小寫
實戰 原始碼編譯安裝nginx 實現systemd管理控制
安裝nginx編譯環境
yum -y install gcc gcc-c++ openssl-devel pcre-devel gd-devel iproute net-tools telnet wget curl wget tar zxf nginx-1.15.5.tar.gz && cd nginx-1.15.5 ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module make -j 4 && make install
通用方式啟動nginx
/usr/local/nginx/sbin/nginx #啟動 /usr/local/nginx/sbin/nginx -s reload #重啟 /usr/local/nginx/sbin/nginx -s quit #關閉nginx
systemd 管理控制啟動模式
vim /usr/lib/systemd/system/nginx.service [Unit]Description=nginxAfter=network.target [Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true[Install]WantedBy=multi-user.target
引數詳解
systemctl restart nginx systemctl enable nginx systemctl stop nginx
如圖所示實現了systemd 管理控制nginx服務
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2766555/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- systemd程式管理工具
- Systemd 定時器教程定時器
- [轉]Systemd 入門教程:命令篇
- Linux:使用systemd管理程式Linux
- 【React 實戰教程】從0到1 構建 github star管理工具ReactGithub
- Linux守護程式及SystemdLinux
- Systemd設定程式保護
- systemd - yocto linux如何整合&配置systemdLinux
- systemd 和 如何修改和建立一個 systemd service (Understanding and administering systemd)
- 【實戰教程】小程式客服訊息的自動回覆
- systemd - Android系統如何整合&配置systemdAndroid
- 【實戰教程】在小程式中快速生成分享海報
- Flutter Provider 3.0實戰教程FlutterIDE
- python爬蟲實戰教程-Python爬蟲開發實戰教程(微課版)Python爬蟲
- go語言實戰教程:Redis實戰專案應用GoRedis
- SSM實戰教程(小問題)SSM
- Reactive Spring實戰 -- WebFlux使用教程ReactSpringWebUX
- systemd工具集
- systemd的作用
- systemd service unit
- uni-app視訊教程合集|UniApp實戰教程APP
- 安利這套《微信小程式設計基礎與實戰教程》微信小程式程式設計
- 黑馬程式設計師Android實戰影片教程等,超過30程式設計師Android
- 最新Java培訓-NIO實戰教程Java
- SpringBoot事物Transaction實戰講解教程Spring Boot
- Java技術分享:NIO實戰教程!Java
- Selenium實戰教程系列(二)—元素定位
- Selenium實戰教程系列(二)---元素定位
- 技術管理實戰36講教程
- 《ElasticSearch6.x實戰教程》之分詞Elasticsearch分詞
- 微信後臺開發實戰教程
- React Native iOS混合開發實戰教程React NativeiOS
- React Native Android混合開發實戰教程React NativeAndroid
- socket程式設計實戰程式設計
- [20230322]mount systemd.txt
- Systemd簡介與使用
- 使用 systemd 執行 Horizon
- 軟體測試專案實戰之功能測試 千鋒實戰教程