最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx源碼編譯安裝全過程

 更新時間:2026年01月29日 09:40:13   作者:姐姐,我還可以  
Nginx是一個高性能的HTTP和反向代理服務(wù)器,具有異步非阻塞機(jī)制和輕量級的特點(diǎn),它適用于多種場景,如Web網(wǎng)站服務(wù)、虛擬主機(jī)、反向代理、負(fù)載均衡和Web緩存服務(wù)器,Nginx的配置簡潔,使用方便,具有較高的穩(wěn)定性和抗并發(fā)能力

Nginx

Nginx的特點(diǎn)

最核心的區(qū)別在于Nginx 采用異步非阻塞機(jī)制 ,多個連接可以對應(yīng)一個進(jìn)程;Apache 采用的是同步阻塞+多進(jìn)程/線程模型,一個連接對應(yīng)一個進(jìn)程

  • Nginx 抗并發(fā)能力更高
  • Nginx 更輕量,內(nèi)存、CPU資源消耗更少
  • Nginx 配置簡潔,使用場景多,穩(wěn)定性高

Nginx的使用場景

  1. 用作Web網(wǎng)站服務(wù),處理http靜態(tài)頁面請求
  2. 用作虛擬主機(jī),實(shí)現(xiàn)一個服務(wù)器用于做多個網(wǎng)站站點(diǎn)
  3. 用作反向代理、負(fù)載均衡,可以作為網(wǎng)關(guān)代理服務(wù)器接收客戶端的請求轉(zhuǎn)發(fā)給后端節(jié)點(diǎn)服務(wù)器集群
  4. 用作web緩存服務(wù)器

Nginx 有哪些進(jìn)程

  • master進(jìn)程:管理worker進(jìn)程,加載配置文件
  • worker進(jìn)程:處理請求連接

root 和 alias 指定路徑的區(qū)別

root(根目錄)

處理方式: root路徑+location路徑

例:

#nginx.conf 配置示例
location /abc {
    root /var/www;
}



url訪問:
http://<IP>/abc/kfc/test.html


test.html文件存放在
/var/www/abc/kfc/test.html



http://IP地址/abc/kfc/test.html ------>> /var/www/abc/kfc/test.html

alias(別名目錄、虛擬目錄)

alias路徑替換location路徑

例:

#nginx.conf 配置示例
location /abc {
    alias /var/www;
}



url訪問:
http://<IP>/abc/kfc/test.html


test.html文件存放在
/var/www/kfc/test.html



http://IP地址/abc/kfc/test.html ------>> /var/www/kfc/test.html

使用源碼編譯安裝Nginx

準(zhǔn)備工作

  • 關(guān)閉安全防護(hù)系統(tǒng)
systemctl disable firewalld.service --now

setenforce 0

	SELINUX=enforcing		-->			SELINUX=0 

  • 下載源碼安裝包,并上傳至/opt目錄下

Nginx官網(wǎng)

Nginx下載頁面

當(dāng)前我選擇 Nginx1.25.5,以便等會進(jìn)行平滑升級到最新版本 Nginx1.26.0

使用XFTP進(jìn)行文件傳輸——上傳到/opt目錄下

  • 解壓文件到當(dāng)前目錄
cd /opt

tar xf nginx-1.25.5.tar.gz

ll

  • 創(chuàng)建運(yùn)行用戶、組
useradd -M -s /sbin/nologin nginx

id nginx

安裝依賴包

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

編譯安裝Nginx

cd /opt/nginx-1.25.5/

./configure \
--prefix=/usr/local/nginx \							#指定nginx的安裝路徑
--user=nginx \										#指定用戶名
--group=nginx \										#指定組名
--with-http_stub_status_module						#啟用 http_stub_status_module 模塊以支持狀態(tài)統(tǒng)計

make && make install		


ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/		#讓系統(tǒng)識別nginx的操作命令

檢查、啟動、重啟、停止 nginx服務(wù)

  • 檢查nginx服務(wù)配置
nginx -t								#檢查配置文件是否配置正確

  • 啟動nginx服務(wù)
/usr/local/nginx/sbin/nginx	

netstat -lntp | grep 80

  • 查看PID進(jìn)程號
cat /usr/local/nginx/logs/nginx.pid

##只有在運(yùn)行時才能查看PID號

  • 停止nginx服務(wù)
kill -3 <PID號>
kill -s QUIT <PID號>
killall -3 nginx
killall -s QUIT nginx

  • 重啟nginx服務(wù)
kill -1 <PID號>
kill -s HUP <PID號>
killall -1 nginx
killall -s HUP nginx

配置 Nginx 系統(tǒng)服務(wù)

方法一

vim /etc/init.d/nginx
	#!/bin/bash
	#chkconfig: - 99 20
	#description:Nginx Service Control Script
	COM="/usr/local/nginx/sbin/nginx"
	PID="/usr/local/nginx/logs/nginx.pid"
	case "$1" in
	start)
	  $COM
	;;
	
	stop)
	  kill -s QUIT $(cat $PID)
	;;
	
	restart)
	  $0 stop
	  $0 start
	;;
	
	reload)
	  kill -s HUP $(cat $PID)
	;;
	
	*)
	echo "Usage: $0 {start|stop|restart|reload}"
	exit 1
	
	esac
	exit 0


chmod +x /etc/init.d/nginx			#添加執(zhí)行權(quán)限
chkconfig --add nginx							#添加為系統(tǒng)服務(wù)


systemctl start nginx

netstat -lntp | grep 80

方法二

vim /lib/systemd/system/nginx.service
	[Unit]
	Description=nginx
	After=network.target
	[Service]
	Type=forking
	PIDFile=/usr/local/nginx/logs/nginx.pid
	ExecStart=/usr/local/nginx/sbin/nginx
	ExecReload=/bin/kill -s HUP $MAINPID
	ExecStop=/bin/kill -s QUIT $MAINPID
	PrivateTmp=true
	[Install]
	WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service


systemctl start nginx.service
systemctl enable nginx.service

說明

[Unit]:服務(wù)的說明
Description:描述服務(wù)
After:依賴,當(dāng)依賴的服務(wù)啟動之后再啟動自定義的服務(wù)

[Service]服務(wù)運(yùn)行參數(shù)的設(shè)置
Type=forking是后臺運(yùn)行的形式,使用此啟動類型應(yīng)同時指定PIDFile=,以便systemd能夠跟蹤服務(wù)的主進(jìn)程。
ExecStart為服務(wù)的具體運(yùn)行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務(wù)分配獨(dú)立的臨時空間
注意:啟動、重啟、停止命令全部要求使用絕對路徑

[Install]服務(wù)安裝的相關(guān)設(shè)置,可設(shè)置為多用戶

訪問Nginx頁面

瀏覽器訪問:

http://<本機(jī)IP>:80

平滑升級Nginx

準(zhǔn)備工作

  • 查看當(dāng)前安裝Nginx的版本及已模塊
nginx -v			#查看當(dāng)前安裝的Nginx版本

nginx -V			#查看當(dāng)前安裝的Nginx已安裝的模塊

  • 下載新版本源碼安裝包,并上傳至/opt目錄下

  • 解壓文件到當(dāng)前目錄

    cd /opt
    
    tar xf nginx-1.26.0.tar.gz
    
    ll
    

編譯安裝新版本Nginx

cd /opt/nginx-1.26.0/

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
--with-http_ssl_module

make


mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old		#備份老版本Nginx

cp objs/nginx /usr/local/nginx/sbin/nginx	#將新版本的Nginx移動到安裝目錄

make upgrade

#要保證當(dāng)前 nginx 進(jìn)程是通過 /usr/local/nginx/sbin/nginx 啟動的,而不是通過查找環(huán)境變量中那個 nginx 命令啟動的
#或者先 killall nginx ,再/usr/local/nginx/sbin/nginx

驗(yàn)證

  • 查看Nginx是否正常啟動
	
	netstat -lntp | grep 80
	

  • 檢查當(dāng)前Nginx的版本
nginx -v

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

小金县| 汕头市| 玉龙| 定南县| 瓦房店市| 新蔡县| 长子县| 昌江| 蕉岭县| 建阳市| 临安市| 张家口市| 凤山市| 梓潼县| 昆山市| 云阳县| 常州市| 宾阳县| 获嘉县| 阿鲁科尔沁旗| 九龙县| 定襄县| 仙居县| 筠连县| 河曲县| 固镇县| 台山市| 西充县| 镇宁| 土默特左旗| 大英县| 五华县| 喀喇沁旗| 丹凤县| 宁明县| 敦化市| 双辽市| 当雄县| 万全县| 保山市| 保山市|