systemctl 添加openresty nginx 的啟動腳本

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
\# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
\# SELinux context. This might happen when running `nginx -t` from the cmdline.
\# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /usr/local/openresty/nginx/logs/nginx.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t
ExecStart=/usr/local/openresty/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target

解讀

Systemed 默認目錄在 /etc/systemd/system/
但是里面存放的都是符號鏈接棱烂,指向目錄 /usr/lib/systemd/system/ 真正的配置文件在這個目錄里面
systemctl enable 命令用于打開服務,在兩個目錄之間建立符號鏈接關系辩撑。 相當于激活開機啟動
配置文件分成幾個區(qū)塊,每個區(qū)塊的第一行纬向,是用方括號表示的區(qū)別名燕偶,比如 [Unit] 。配置文件的區(qū)塊名和字段名汰现,都是大小寫敏感的。鍵值對的等號兩側不能有空格二拐。

配置文件的區(qū)塊

[Unit] 區(qū)塊通常是配置文件的第一個區(qū)塊服鹅,用來定義 Unit 的元數據凳兵,以及配置與其他 Unit 的關系百新。它的主要字段如下。
Description:簡短描述
Documentation:文檔地址
Requires:當前 Unit 依賴的其他 Unit庐扫,如果它們沒有運行饭望,當前 Unit 會啟動失敗
Wants:與當前 Unit 配合的其他 Unit,如果它們沒有運行形庭,當前 Unit 不會啟動失敗
BindsTo:與Requires類似铅辞,它指定的 Unit 如果退出,會導致當前 Unit 停止運行
Before:如果該字段指定的 Unit 也要啟動萨醒,那么必須在當前 Unit 之后啟動
After:如果該字段指定的 Unit 也要啟動斟珊,那么必須在當前 Unit 之前啟動
Conflicts:這里指定的 Unit 不能與當前 Unit 同時運行
Condition...:當前 Unit 運行必須滿足的條件,否則不會運行
Assert...:當前 Unit 運行必須滿足的條件富纸,否則會報啟動失敗
[Install] 通常是配置文件的最后一個區(qū)塊囤踩,用來定義如何啟動,以及是否開機啟動晓褪。它的主要字段如下堵漱。
WantedBy:它的值是一個或多個 Target,當前 Unit 激活時(enable)符號鏈接會放入/etc/systemd/system目錄下面以 Target 名 + .wants后綴構成的子目錄中
RequiredBy:它的值是一個或多個 Target涣仿,當前 Unit 激活時勤庐,符號鏈接會放入/etc/systemd/system目錄下面以 Target 名 + .required后綴構成的子目錄中
Alias:當前 Unit 可用于啟動的別名
Also:當前 Unit 激活(enable)時,會被同時激活的其他 Unit
[Service] 區(qū)塊用來 Service 的配置好港,只有 Service 類型的 Unit 才有這個區(qū)塊愉镰。它的主要字段如下。
Type:定義啟動時的進程行為钧汹。它有以下幾種值丈探。
Type=simple:默認值,執(zhí)行ExecStart指定的命令崭孤,啟動主進程
Type=forking:以 fork 方式從父進程創(chuàng)建子進程类嗤,創(chuàng)建后父進程會立即退出
Type=oneshot:一次性進程糊肠,Systemd 會等當前服務退出,再繼續(xù)往下執(zhí)行
Type=dbus:當前服務通過D-Bus啟動
Type=notify:當前服務啟動完畢遗锣,會通知Systemd货裹,再繼續(xù)往下執(zhí)行
Type=idle:若有其他任務執(zhí)行完畢,當前服務才會運行
ExecStart:啟動當前服務的命令
ExecStartPre:啟動當前服務之前執(zhí)行的命令
ExecStartPost:啟動當前服務之后執(zhí)行的命令
ExecReload:重啟當前服務時執(zhí)行的命令
ExecStop:停止當前服務時執(zhí)行的命令
ExecStopPost:停止當其服務之后執(zhí)行的命令
RestartSec:自動重啟當前服務間隔的秒數
Restart:定義何種情況 Systemd 會自動重啟當前服務精偿,可能的值包括always(總是重啟)弧圆、on-success、on-failure笔咽、on-abnormal搔预、on-abort、on-watchdog
TimeoutSec:定義 Systemd 停止當前服務之前等待的秒數
Environment:指定環(huán)境變量

Unit 配置文件的完整字段清單叶组,請參考官方文檔拯田。

systemd-analyze

# 查看啟動耗時
$ systemd-analyze                                                                                       

# 查看每個服務的啟動耗時
$ systemd-analyze blame

# 顯示瀑布狀的啟動過程流
$ systemd-analyze critical-chain

# 顯示指定服務的啟動流
$ systemd-analyze critical-chain atd.service

hostnamectl

# 顯示當前主機的信息
$ hostnamectl

# 設置主機名。
$ sudo hostnamectl set-hostname rhel7

localectl 查看本地化設置

# 查看本地化設置
$ localectl

# 設置本地化參數甩十。
$ sudo localectl set-locale LANG=en_GB.utf8
$ sudo localectl set-keymap en_GB

timedatectl 查看當前的時區(qū)設置船庇。

# 查看當前時區(qū)設置
$ timedatectl

# 顯示所有可用的時區(qū)
$ timedatectl list-timezones                                                                                   

# 設置當前時區(qū)
$ sudo timedatectl set-timezone America/New_York
$ sudo timedatectl set-time YYYY-MM-DD
$ sudo timedatectl set-time HH:MM:SS

systemctl list-units 查看系統(tǒng)狀態(tài)和單個 Unit 的狀態(tài)。

# 顯示系統(tǒng)狀態(tài)
$ systemctl status

# 顯示單個 Unit 的狀態(tài)
$ sysystemctl status bluetooth.service

# 顯示遠程主機的某個 Unit 的狀態(tài)
$ systemctl -H root@rhel7.example.com status httpd.service

Unit 管理


# 顯示某個 Unit 是否正在運行
$ systemctl is-active application.service

# 顯示某個 Unit 是否處于啟動失敗狀態(tài)
$ systemctl is-failed application.service

# 顯示某個 Unit 服務是否建立了啟動鏈接
$ systemctl is-enabled application.service

# 立即啟動一個服務
$ sudo systemctl start apache.service

# 立即停止一個服務
$ sudo systemctl stop apache.service

# 重啟一個服務
$ sudo systemctl restart apache.service

# 殺死一個服務的所有子進程
$ sudo systemctl kill apache.service

# 重新加載一個服務的配置文件
$ sudo systemctl reload apache.service

# 重載所有修改過的配置文件
$ sudo systemctl daemon-reload

# 顯示某個 Unit 的所有底層參數
$ systemctl show httpd.service

# 顯示某個 Unit 的指定屬性的值
$ systemctl show -p CPUShares httpd.service

# 設置某個 Unit 的指定屬性
$ sudo systemctl set-property httpd.service CPUShares=500
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末侣监,一起剝皮案震驚了整個濱河市鸭轮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌橄霉,老刑警劉巖窃爷,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異姓蜂,居然都是意外死亡按厘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門覆糟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刻剥,“玉大人,你說我怎么就攤上這事滩字≡炻玻” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵麦箍,是天一觀的道長漓藕。 經常有香客問我,道長挟裂,這世上最難降的妖魔是什么享钞? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮诀蓉,結果婚禮上栗竖,老公的妹妹穿的比我還像新娘暑脆。我一直安慰自己,他們只是感情好狐肢,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布添吗。 她就那樣靜靜地躺著,像睡著了一般份名。 火紅的嫁衣襯著肌膚如雪碟联。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天僵腺,我揣著相機與錄音鲤孵,去河邊找鬼。 笑死辰如,一個胖子當著我的面吹牛普监,可吹牛的內容都是我干的。 我是一名探鬼主播丧没,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼鹰椒,長吁一口氣:“原來是場噩夢啊……” “哼锡移!你這毒婦竟也來了呕童?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤淆珊,失蹤者是張志新(化名)和其女友劉穎夺饲,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體施符,經...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡往声,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了戳吝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浩销。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖听哭,靈堂內的尸體忽然破棺而出慢洋,到底是詐尸還是另有隱情,我是刑警寧澤陆盘,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布普筹,位于F島的核電站,受9級特大地震影響隘马,放射性物質發(fā)生泄漏太防。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一酸员、第九天 我趴在偏房一處隱蔽的房頂上張望蜒车。 院中可真熱鬧讳嘱,春花似錦、人聲如沸酿愧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寓娩。三九已至叛氨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棘伴,已是汗流浹背寞埠。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留焊夸,地道東北人仁连。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像阱穗,于是被迫代替她去往敵國和親饭冬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349