本人的操作系統(tǒng)是centos 7钧大,在此環(huán)境下學(xué)習(xí)安裝。
1.下載地址:http://nginx.org/en/download.html(根據(jù)自己需要下載對(duì)應(yīng)的版本即可)
2.解壓? ? (根據(jù)自己需要解壓到指定目錄)
$:tar -zxvf nginx-1.xx.xx.tar.gz -C ./?
3.預(yù)先安裝所需的一類類庫(kù)
$:yum -y install gcc gcc-c++ ncurses-devel perl pcre pcre-devel zlib gzip zlib-devel
4.nginx編譯
$:cd? /home/gaoyuan/softwares/nginx-1.16.1(解壓后的目錄)
$:./configure --prefix=/usr/local/nginx (將nginx編譯到/usr/local/nginx 目錄下)
5.安裝nginx
$:make & make install
6.查看安裝文件
$:cd?/usr/local/nginx
$:ll
conf? ?存放配置文件
html? 網(wǎng)頁(yè)文件
logs? ?日志文件
sbin? ?shell啟動(dòng)泣懊、停止腳本
7.啟動(dòng)nginx
$:cd sbin
$:./nginx
8.直接在瀏覽器中訪問(wèn)ip地址即可看的nginx的歡迎頁(yè),默認(rèn)端口80
9.停止nginx
$:ps -ef | grep?
$:kill -INT 9999? (直接殺死進(jìn)程號(hào))
$:./nginx -s stop (是快速關(guān)閉,不管有沒(méi)有正在處理的請(qǐng)求)
$:./nginx -s quit? (優(yōu)雅的關(guān)閉,nginx在退出前完成已經(jīng)接受的連接請(qǐng)求)
10.重新讀取配置文件
$:nginx -s reload
11.檢查配置文件是否正確
$:./nginx -t? ? ? ? (?如果出現(xiàn)下面圖片中的錯(cuò))
$:./nginx -c /usr/local/nginx/conf/nginx.conf? ? (需要指定一下nginx的配置文件? -c 的參數(shù)意思就是指定配置文件的位置)
12.nginx的信號(hào)控制
nginx支持2種進(jìn)程模式Single和Master-Worker悯仙,single是單進(jìn)程,一般不適用吠卷。master-worker是主進(jìn)程和工作進(jìn)程模型運(yùn)行锡垄,主進(jìn)程對(duì)工作進(jìn)程管理。nginx允許我們通過(guò)新信號(hào)來(lái)控制主進(jìn)程祭隔,用信號(hào)的方式可以達(dá)到不影響現(xiàn)有連接的目的货岭。
信號(hào)類型
INT? ? ? ? TREM? ? ? ?快速關(guān)閉信號(hào)
QUIT? ? ? ? ? ? ? ? ? ? ? ?從容關(guān)閉信號(hào)
HUP? ? ? ? ? ? ? ? ? ? ? ? 從容重啟信號(hào),一般用于修改配置文件后疾渴,重啟
USR1? ? ? ? ? ? ? ? ? ? ? 重讀日志千贯,一般用于日志的切割
USR2? ? ? ? ? ? ? ? ? ? ? ?平滑升級(jí)信號(hào)
WINCH? ? ? ? ? ? ? ? ? ? ?從容關(guān)閉舊進(jìn)程
具體語(yǔ)法:
kill? ? -信號(hào)選項(xiàng)? ? ? ? ? ? ? nginx的主進(jìn)程號(hào)
例如:
$:kill -INT? 99999
$:kill -HUP 99999
第一種從容優(yōu)雅的停止
# kill -QUIT master 進(jìn)程號(hào)
# nginx服務(wù)可以正常地處理完成當(dāng)前所有請(qǐng)求再停止服務(wù)
#步驟:首先會(huì)關(guān)閉監(jiān)聽(tīng)端口,停止接收新的連接搞坝,然后把當(dāng)前正在處理的連接全部處理完搔谴,最后再退出進(jìn)程。
第二種快速停止
# kill -TERM master進(jìn)程號(hào)
# kill -INT master 進(jìn)程號(hào)
# 快速停止服務(wù)時(shí)桩撮,worker進(jìn)程與master進(jìn)程再收到信號(hào)后會(huì)立刻跳出循環(huán)己沛,退出進(jìn)程慌核。
第三種強(qiáng)制停止
# pkill -9 nginx? ?系統(tǒng)強(qiáng)殺nginx進(jìn)程。