官方中文**
簡介
起源:世界第二大web伺服器軟體,以高併發、低消耗著稱,源自於俄羅斯,建立者 igor(伊戈爾),2023年開源,最早以**伺服器的身份出現,2015成立nginx公司,
2023年以6.7億被f5 networks公司收購。
nginx的基礎特性:
模組化設計,較好的擴充套件性
高可靠性
支援熱部署,不停機更新配置檔案,公升級版本,更換日誌檔案
低記憶體消耗,10000個keep-alive下的非活動連線,僅需2.5m記憶體
event-driven(事件驅動),aio(非同步非阻塞),mmap(記憶體對映),sendfile(****)
基本功能:
靜態資源的web伺服器
http協議的反向**
fastcgi、uwsgi(python)
pop3/imap4郵件反向**
模組化,zip、ssl等模組
nginx程序結構:
master/worker 結構:乙個 master 程序,生成乙個或多個 worker 程序。
master:
讀取nginx配置檔案,驗證有效性和正確性
建立、繫結和關閉socket連線
接受外界指令,比如重啟、開、關服務
不中斷服務,平滑公升級
處理perl指令碼
worker:
接受處理客戶的請求(按模組區分)
i/o呼叫
與後端伺服器通訊
快取資料
傳送請求結果
接受主程式的指令
nginx模組:
核心模組:core module
標準模組:
注:本實驗為單機部署,實驗前確保網路能正常上網
配置檔案及引數
全域性配置檔案:/etc/nginx/nginx.conf
虛擬主機配置:/etc/nginx/conf.d/*.conf
前提條件
關閉selinux
輸入getenforce 獲取當前selinux狀態
enforcing為開啟,disabled為關閉
臨時關閉 # sudo setenforce 0
永久關閉 # sudo vi /etc/sysconfig/selinux
開放nginx的80埠號
firewall-cmd --zone=public --add-port=
80/tcp --permanent
重啟防火牆
firewall-cmd --reload
檢視埠號是否開啟
firewall-cmd --query-port=
80/tcp
.3.檢查是否已安裝rpm包nginx
rpm -q nginx \\檢視是否安裝
nginx安裝和配置:
安裝前提軟體環境
yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel`openssl openssl-devel
複製nginx和快取包到/usr/src,解壓
useradd -s /sbin/nologin nginx
cd /usr/src
tar zxf master.tar.gz
tar zxf ngx_cache_purge-
2.3.tar.gz
tar zxf nginx-
1.12
.0.tar.gz
編譯安裝nginx
&&make&&make install新增nginx系統服務並啟動
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
mkdir -p /var/tmp/nginx/client
chown -r nginx:nginx /var/tmp/nginx
vim /etc/init.d/nginx
新增啟動指令碼
#!
/bin/bash
prog=
"/usr/local/nginx/sbin/nginx"
pidf=
"/usr/local/nginx/logs/nginx.pid"
case "$1"
in start)
netstat -anplt |grep ":80"
&>
/dev/
null
&& pgrep "nginx"
&>
/dev/
null
if[ $?
-eq 0
] then
echo "nginx service already running."
else
$prog -t &
>
/dev/
null
if[ $?
-eq 0
]; then
$prog
echo "nginx service start success."
else
$prog -t
fi fi ;;
stop)
netstat -anplt |grep ":80"
&>
/dev/
null
&& pgrep "nginx"
&>
/dev/
null
if[ $?
-eq 0
] then
kill -s quit $(cat $pidf)
echo "nginx service stop success."
else
echo "nginx service already stop"
fi ;
; restart)
$0 stop
$0 start ;;
status)
netstat -anplt |grep ":80"
&>
/dev/
null
&& pgrep "nginx"
&>
/dev/
null
if[ $?
-eq 0
] then
echo "nginx service is running."
else
echo "nginx is stop."
fi ;
; reload)
netstat -anplt |grep ":80"
&>
/dev/
null
&& pgrep "nginx"
&>
/dev/
null
if[ $?
-eq 0
] then
$prog -t &
>
/dev/
null
if[ $?
-eq 0
]; then
kill -s hup $(cat $pidf)
echo "reload nginx config success."
else
$prog -t
fi else
echo "nginx service is not run."
fi ;;*
) echo "usage: $0 "
exit 1
esac
啟動nginx服務
chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on
service nginx start
netstat -anpt | grep nginx
檢視版本
nginx -v
檢視模組
nginx -v
搭建nginx服務 nginx原始碼包編譯
nginx 給實驗乙個新環境,刪除,重啟vm 1,解壓包 tar zxf nginx 1.14.0.tar.gz 2,修改配置檔案 root nginx 1.14.0 src core nginx.h define nginx ver nginx 這裡就是curl看到的nginx的名字 tengin...
nginx服務搭建
1.安裝nginx前,我們首先要確保系統安裝了g gcc openssl devel pcre devel和zlib devel軟體 cd usr local src tar zxvf pcre 8.21.tar.gz cd pcre 8.21 configure make makeinstall ...
nginx服務傻瓜搭建
安裝步驟 一 先準備好相關原始碼包和程式包,如下圖 所有包都在雲伺服器的 src目錄下。二 安裝 1 安裝nginx伺服器,支援vod stream fileupload cd src tar zxvf pcre 8.36.tar.gz cd pcre 8.36 pcre是乙個非常小的正規表示式庫,...