- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
Nginx主程序使用介紹
在首次運行Nginx之前,了解此應用程序的性質很重要。 有兩種類型的計算機應用程序 ? 那些需要用戶輸入,因此在前臺運行,另一種在后臺運行。 Nginx是后一種類型,通常稱為守護進程。 守護進程名稱通常帶有尾隨的“d”,這里可以提到幾個例子 – httpd,HTTP服務器守護進程,是幾個Linux發行版下給Apache的名稱; named,域名解析服務器守護進程; 或crond任務調度器 – 當Nginx從命令行啟動時,守護進程立即返回終端,并且在大多數情況下,甚至不會輸出任何數據到終端。
了解Nginx的進程架構,特別是其各種進程運行的用戶和組是非常重要的。由于用戶或組的錯誤配置 ,可能導致Nginx出現權限之類的錯誤,你最終會得到403 Forbidden HTTP錯誤,Nginx不能訪問請求的文件。
有兩個級別的進程,可能具有不同的權限集:
Nginx主進程:這應該以root身份啟動。 在大多數類Unix系統中,使用root帳戶啟動的進程允許在任何端口上打開TCP套接字,而其他用戶只能在1024以上的端口上打開偵聽套接字。如果您不以root身份啟動Nginx,則標準端口 80或443將無法訪問。
Nginx工作進程:這些由主進程在您配置文件中使用user指令指定的帳戶下自動生成。 配置設置優先于您在編譯時指定的配置選項。 如果您沒有指定任何這些,工作進程將作為用戶nobody和組nobody(或nogroup,取決于您的操作系統)啟動。
Nginx二進制接受命令行參數以執行各種操作,包括控制后臺進程。 要獲取完整的命令列表,可以使用以下命令輸出幫助信息:
[alex@example.com ~]$ cd /usr/local/nginx/sbin
[alex@example.com sbin]$ ./nginx -h
你可以不用指令任何參數來啟動Nginx。 如果守護程序已在運行,將顯示一條消息,套接字已在偵聽端口上偵聽:
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) […]
[emerg]: still could not bind().
除此之外,您可以通過停止,重新啟動守護程序或簡單地重新加載它的配置來控制守護程序。 通過使用nginx -s命令向進程發送信號來控制進程。
nginx –s stop:立即停止守護進程(使?TERM信號)。
nginx –s quit:正常停止守護程序(使用QUIT信號)。
nginx –s reopen:重新打開日志文件。
nginx –s reload:重新加載配置。
在以上命令無法停止nginx的情況下,終止進程的另一種方法是使用具有root權限的kill vs killall命令:
[root@example.com ~]# killall nginx
測試Nginx配置文件的命令為:
[alex@example.com ~]$ /usr/local/nginx/sbin/nginx –t
也可以測試指定的配置文件:
[alex@example.com sbin]$ ./nginx –t –c /home/alex/test.conf
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP