新增nginx作為系統服務

2021-07-16 13:39:33 字數 2834 閱讀 8770

建立乙個指令碼,該指令碼將改變nginx守護程序,讓nginx以系統服務的形式啟動,守護程序以後將由標準的命令控制且在系統啟動時自動啟動。

大多數基於linux的作業系統,使用的是system-v風格的init守護程序,啟動程序由init程序管理。

守護程序遵循執行級別的原則(run level),系統執行級別表示當前計算機狀態。

執行級別狀態0

系統停止

1單使用者模式(援救模式)

2多使用者模式(不支援nfs)

3完整的多使用者模式

4沒有使用

5圖形介面按模式

6重啟系統

關閉系統:

[root@localhost ~]# telinit 0

重啟系統:

[root@localhost ~]# telinit 6

對於每乙個執行級別的轉換都會有一組服務被執行,系統停止時它的執行級別為0,一旦開啟將轉換到預設啟動級別,系統預設啟動級別是在etc/inittab檔案下配置的。

對於每乙個執行級別,在/etc/rc.d目錄都包含要執行的指令碼:

rco.d-rc6.d並不是真實的檔案,他們的符號鏈結會指向/etc/init目錄下的指令碼名,服務的啟動指令碼儲存在/etc/init目錄下。

init指令碼是作為系統啟動服務的指令碼,指令碼必須接收兩個命令:start和stop,在系統啟動時,如果該服務的啟動計畫級別正是系統執行級別,那麼init守護程序將執行該指令碼。

手動執行指令碼:

[root@localhost rc.d]# service nginx start

或系統未提供service命令:

[root@localhost rc.d]# /etc/init.d/nginx start

目錄/etc/init.d實際上是/etc/rc.d/init.d的符號鏈結,因此在/etc/init.d目錄下新建檔案nginx(需要root許可權):

[root@localhost rc.d]# vi /etc/init.d/nginx

指令碼內容如下:

#!/bin/bash

## chkconfig: - 85 15

# description: nginx is a world wide web server.

# processname: nginx

nginx=/usr/local/nginx/sbin/nginx

conf=/usr/local/nginx/conf/nginx.conf

case

$1in

start)

echo -n "starting nginx"

$nginx -c $conf

echo

" done"

;;stop)

echo -n "stopping nginx"

killall -9 nginx

echo

" done"

;;test)

$nginx -t -c $conf

;;reload)

echo -n "reloading nginx"

ps auxww | grep nginx | grep master | awk '' | xargs kill -hup

echo

" done"

;;restart)

$0 stop

$0 start

;;show)

ps -aux|grep nginx

;;*)

echo -n "usage: $0 "

;;esac

授予該指令碼可執行許可權:

[root@localhost rc.d]# chmod +x /etc/init.d/nginx

然後就可以開啟nginx:

[root@localhost init.d]# service nginx start

或:[root@localhost init.d]# /etc/init.d/nginx start

最後一步是設定該指令碼在適當的執行級別開機自啟,這依賴於作業系統,主要針對廣泛使用的兩種作業系統家族:基於debain的debain/ubuntu/other家族和基於red hat的red hat/fedora/centos/other家族。

一條命令即可完成系統級別初始化指令碼:

# update-rc.d -f nginx defaults

該命令將在預設系統執行級別上建立鏈結,預設級別是指重啟(reboot)和關閉(shutdown)級別,對於這兩種級別,該指令碼會執行stop引數,對於其他級別,則傳遞start引數而執行。

新增服務:

# chkconfig –add nginx

檢驗該服務的執行級別:

ntsysv列出了所有能夠計畫在系統啟動時執行的服務,可以開啟它們,也可以禁用它們。

# yum install ntsysv -y

使用ntsysv:

windows安裝nginx作為系統服務

nginx一般用於linux unix系統作為web伺服器,但是不會linux unix系統的同學想要除錯nginx,例如做一些 靜態壓縮,快取等等,就需要在windows下使用nginx,一般是通過nginx根目錄命令列啟動,但是太麻煩,想把它 作為乙個系統自啟動服務 以winsw 2.2.0 b...

新增nginx為系統服務

使用nginx時候,肯定會操作到啟動,停止,重啟等操作。然後就寫到程序裡面,就很快操作了。直接上檔案。nginx檔案 1 在 etc init.d 目錄下編寫指令碼,名為nginx 然後最重要的三步。1 cp nginx etc init.d 2 service nginx stop 3 servi...

linux新增nginx系統服務

在linux上安裝好nginx後,除了通常需要配置的nignx conf檔案外,將nginx 加入service 系統服務可以更便捷的管理nginx 服務。具體操作很簡單,網上一搜一大把,這裡把我整理的方法總結一下,做個備忘。在 etc init.d 目錄下新建 nginx 檔案,將下面指令碼寫入 ...