Nginx Linux系統安裝以及反向代理的配置
- 簡介
- 優點
- nginx 環境
- 安裝
- 常用Nginx 命令
- nginx 文件服務器搭建
簡介
Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,公開版本1.19.6發布于2020年12月15日。
其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、簡單的配置文件和低系統資源的消耗而聞名。2022年01月25日,nginx 1.21.6發布。
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上nginx的并發能力在同類型的網頁服務器中表現較好。
優點
Nginx 可以在大多數 Unix Linux OS 上編譯運行,并有 Windows 移植版。 Nginx 的1.20.0穩定版已經于2021年4月20日發布,一般情況下,對于新建站點,建議使用最新穩定版作為生產版本,已有站點的升級急迫性不高。Nginx 的源代碼使用 2-clause BSD-like license。
Nginx 是一個很強大的高性能Web和反向代理服務,它具有很多非常優越的特性:
在連接高并發的情況下,Nginx是Apache服務不錯的替代品:Nginx在美國是做虛擬主機生意的老板們經常選擇的軟件平臺之一。能夠支持高達 50,000 個并發連接數的響應,感謝Nginx為大家選擇了 epoll and kqueue作為開發模型。
Nginx作為負載均衡服務:Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為 HTTP代理服務對外進行服務。Nginx采用C進行編寫,不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多。
處理靜態文件,索引文件以及自動索引;打開文件描述符緩沖。
無緩存的反向代理加速,簡單的負載均衡和容錯。
FastCGI,簡單的負載均衡和容錯。
模塊化的結構。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服務器處理單頁中存在的多個 SSI,則這項處理可以并行運行,而不需要相互等待。
支持 SSL 和 TLSSNI。
Nginx代碼完全用C語言從頭寫成,已經移植到許多體系結構和操作系統,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函數庫,并且除了zlib、PCRE和OpenSSL之外,標準模塊只使用系統C庫函數。而且,如果不需要或者考慮到潛在的授權沖突,可以不使用這些第三方庫。
代理服務器
作為郵件代理服務:Nginx 同時也是一個非常優秀的郵件代理服務(最早開發這個產品的目的之一也是作為郵件代理服務器),Last.fm 描述了成功并且美妙的使用經驗。
Nginx 是一個安裝非常的簡單、配置文件非常簡潔(還能夠支持perl語法)、Bug非常少的服務。Nginx 啟動特別容易,并且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。如果還能夠不間斷服務的情況下進行軟件版本的升級。
nginx 環境
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
Nginx下載地址
如果支持rz 命令的畫 可以輸入rz命令
如果不支持的話可以使用 wget 命令
右鍵圖一 你所需要的版本(我這邊選擇的是 tar.gz) 然后 選擇復制連接(谷歌瀏覽器)
wget https://nginx.org/download/nginx-1.17.0.tar.gz
安裝
運行以下命令
解壓
tar -zxvf nginx-1.17.0.tar.gz
進入nginx 目錄
cd nginx-1.17.0
配置 編譯后的文件路徑
./configure --prefix=/usr/nginx
編譯
make && make install
編譯過后就可以看到 多了一個nginx 文件夾
下面是nginx 文件夾 的目錄結構
進入nginx 目錄
cd /usr/nginx
檢查nginx 是否安裝成功
./sbin/nginx -t
常用Nginx 命令
nginx # 啟動 Nginx
nginx -s reload # 重新載入配置文件
nginx -s reopen # 重啟 Nginx
nginx -s stop # 停止 Nginx
nginx 文件服務器搭建
autoindex on; # 顯示目錄
autoindex_exact_size on; # 顯示文件大小
autoindex_localtime on; # 顯示文件時間
charset utf-8; # 中文名的文件不亂碼.
-----------------------
http {autoindex on; # 顯示目錄autoindex_exact_size on; # 顯示文件大小autoindex_localtime on; # 顯示文件時間charset utf-8; # 中文名的文件不亂碼. server {listen 80 # 監聽端口;server_name localhost # 地址charset utf-8; # 中文名的文件不亂碼. location / { # 訪問首頁路徑root /xxx/xxx/ # 根目錄index index.html index.htm # 默認文件} error_page 500 504 /50x.html # 當出現以上狀態碼時從新定義到50x.htmllocation = /50x.html { # 當訪問50x.html時root /xxx/xxx/html # 50x.html 頁面所在位置} }
}