Nginx的簡介
Nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器;同時也是一個IMAP、POP3、SMTP代理服務器;Nginx可以作為一個HTTP服務器進行網站的發布處理,另外Nginx可以作為反向代理進行負載均衡的實作,
Nginx的常用功能
1、反向代理
這是 Nginx 作為 Web 服務器的主要功能之一,客戶端向服務器發送請求時,首先會經過 Nginx 服務器,由服務器將請求分發到相應的 Web 服務器;正向代理是代理客戶端,而反向代理則是代理服務器;Nginx 在提供反向代理服務方面,通過使用正則運算式進行相關配置,采取不同的轉發策略,配置相當靈活,而且在配置后端轉發請求時,不需要關心網路環境,可以指定任意的IP地址和埠號,或其他型別的連接、請求等,
2、負載均衡
這也是 Nginx 最常用的功能之一,負載均衡,一方面是將單一的重負載分擔到多個網路節點上做并行處理,每個節點處理結束后將結果匯總回傳給用戶,這樣可以大幅度提高網路系統的處理能力;另一方面將大量的前端并發請求或資料流量分擔到多個后端網路節點分別處理,這樣可以有效減少前端用戶等待相應的時間,而 Nginx 負載均衡都是屬于后一方面,主要是對大量前端訪問或流量進行分流,已保證前端用戶訪問效率,并可以減少后端服務器處理壓力,
3、Web快取
在很多優秀的網站中,Nginx 可以作為前置快取服務器,它被用于快取前端請求,從而提高 Web服務器的性能,Nginx 會對用戶已經訪問過的內容在服務器本地建立副本,這樣在一段時間內再次訪問該資料,就不需要通過 Nginx 服務器向后端發出請求,減輕網路擁堵,減小資料傳輸延時,提高用戶訪問速度,
Nginx的安裝
Nginx下載地址:http://nginx.org/en/download.html

開發版本主要用于 Nginx 軟體專案的研發,穩定版本說明可以作為 Web 服務器投入商業應用,在這里我選擇的是穩定版:nginx-1.20.1
安裝依賴包并創建用戶
[root@localhost ~]# yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
解壓nginx包
[root@localhost ~]# tar xf nginx-1.20.1.tar.gz
進入nginx目錄并開始編譯
[root@localhost ~]# cd nginx-1.20.1/
[root@localhost nginx-1.20.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-stream --with-pcre --with-http_stub_status_module;make;make install
優化執行路徑
[root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
啟動nginx
[root@localhost ~]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
[root@localhost sbin]# netstat -lnpt | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7330/nginx: master
訪問80埠

設定nginx開機自啟—自行修改腳本中的安裝路徑
[root@localhost ~]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@localhost ~]# systemctl enable nginx && systemctl start nginx
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/291996.html
標籤:其他
上一篇:【詳細】WebSocket傳遞物件(sendObject方法)報錯解決方案
下一篇:小程式除錯技術導讀
