centos7中設定nginx的systemctl啟動方式
阿新 • • 發佈:2021-11-22
今天剛用原始碼安裝以一下nginx服務,但突然發現常用的systemctl啟動命令不管用,出現報錯如下圖所示:
一、systemd簡介
centos 7以上是用Systemd進行系統初始化的,Systemd 是 Linux 系統中最新的初始化系統(init),它主要的設計目標是克服 sysvinit 固有的缺點,提高系統的啟動速度。
Systemd服務檔案以.service結尾,比如現在要建立nginx為開機啟動,如果用yum install命令安裝的,yum命令會自動建立nginx.service檔案,可以直接使用systemctl相關命令。而用原始碼編譯安裝的,則需要手動建立nginx.service服務檔案。
二、建立並配置nginx.service檔案
1、配置nginx.service檔案
注意這個路徑是有一個systemd ,一個system
vim /usr/lib/systemd/system/nginx.service #配置檔案內容 [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
配置引數說明:
[Unit]:服務的說明 Description:描述服務 After:描述服務類別 [Service]服務執行引數的設定 Type=forking是後臺執行的形式 ExecStart為服務的具體執行命令 ExecReload為重啟命令 ExecStop為停止命令 PrivateTmp=True表示給服務分配獨立的臨時空間 注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑 [Install]執行級別下服務安裝的相關設定,可設定為多使用者,即系統執行級別為3
2、重新載入systemd
systemctl daemon-reload
三、nginx服務常用操作
#檢視nginx服務狀態
systemctl status nginx.service
#啟動nginx服務
systemctl start nginx.service
#停止nginx服務
systemctl stop nginx.service
#重啟nginx服務
systemctl restart nginx.service
#重新讀取nginx配置(這個最常用, 不用停止nginx服務就能使修改的配置生效)
systemctl reload nginx.service
注意:啟動前停止nginx服務,否則啟動時可能出現報錯