第1章 Nginx 1.1 nginx的概念 Nginx("engine x")是一個開源的、支持高性能、高併發的WWW服務和代理服務軟體,具有高開發(特別是靜態資源),占用系統資源少等特性。 Nginx可以運行在Unix、Linux、BSD、Mac OSX、Solaris,以及Microsoft ...
第1章 Nginx
1.1 nginx的概念
Nginx("engine x")是一個開源的、支持高性能、高併發的WWW服務和代理服務軟體,具有高開發(特別是靜態資源),占用系統資源少等特性。
Nginx可以運行在Unix、Linux、BSD、Mac OSX、Solaris,以及Microsoft Windows等操作系統中,隨著Nginx在國內很多大型網站的穩定高效運行,近兩年也逐漸被越來越多的中小型網站所使用,當前流行的Nginx Web組合被稱為LNMP或LEMP(即Linux+Nginx+MySQL+PHP)
http://oldboy.blog.51cto.com/2561410/775056
https://www.unixhot.com/page/ops
https://www.unixhot.com/page/cache
1.2 Nginx的重要特性及應用場合
1.2.1 ***Nginx的重要特性
01. 支持高併發:能支持幾萬併發連接(特別是靜態小文件業務環境)
02. 資源消耗少:在3萬的併發連接下,開啟10個Nginx線程消耗的記憶體不到200MB
03. 可以做HTTP反向代理及加速緩存,即負載均衡功能[OSI 4-7層]
內置對RS節點伺服器健康檢查功能,相當於專業的Haproxy軟體或LVS[4層]功能
04. 具備Squid等數據緩存軟體等的緩存功能(mencache/redis)
05. 支持非同步網路I/O事業模型epoll(Linux 2.6+)
1.3 Nginx軟體的主要企業功能應用
01.作為web服務支持網站頁面請求處理功能
02.支持反向代理或負載均衡功能
03.前端業務數據緩存服務(擴展)
第2章 編譯安裝Nginx
服務端配置:
2.1 ①檢查軟體的安裝環境
1 cat /etc/redhat-release #查看軟體系統環境 2 3 uname -r
2.2 ②安裝nginx的依賴包
1 yum install -y pcre-devel openssl-devel 2 3 rpm -qa pcre pcre-devel openssl openssl-devel #yum安裝操作後檢查安裝結果
擴展:
pcre:相容perl相容正則表達式,perl compatible regular expressions
rewirte模塊 參數信息(perl方式定義正則表達式)
openssl:ssh---openssh/openssl---https
2.3 ③下載nginx軟體
2.3.1 配置阿裡雲yum源
1 01.備份 2 mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 3 4 02.下載新的CentOS-Base.repo 到/etc/yum.repos.d/ 5 # CentOS 6: 6 wget-O /etc/yum.repos.d/CentOS-Base.repo 7 # CentOS 7: 8 wget-O /etc/yum.repos.d/CentOS-Base.repo 9 10 03.之後運行yummakecache生成緩存
2.3.2 添加Epel源
1 01.備份(如有配置其他epel源) 2 mv/etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup 3 mv/etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup 4 5 02.下載新repo 到/etc/yum.repos.d/ 6 # epel(RHEL 7): 7 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 8 # epel(RHEL 6): 9 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
2.3.3 放在統一目錄下併進行安裝
1 mkdir -p /server/tools 2 3 cd /server/tools 4 5 wget http://nginx.org/download/nginx-1.10.2.tar.gz
說明:更多的Nginx版本詳見http://nginx.org/選擇安裝Stable version(穩定版本)
2.3.4 解壓nginx軟體包
1 tar xf nginx-1.10.2.tar.gz
2.3.5 創建虛擬用戶www管理nginx
1 useradd www -s /sbin/nologin -M 2 3 id www
2.4 ④編譯安裝軟體步驟
配置[.configure]-->做菜[編譯make]-->上菜[安裝make stall])
2.4.1 配置軟體(預設安裝在/usr/local)
1 mkdir -p /server/tools/nginx-1.10.2 2 3 cd /server/tools/nginx-1.10.2 4 5 ./configure --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module #啟動相應模塊
說明:--prefix:表示指定軟體安裝到哪個目錄中,指定目錄不存在會自動創建
--user/--group:表示nginx工作進程利用哪個用戶/用戶組運行管理
--with-http_stub_status_module:啟動nginx狀態模塊功能(用戶訪問nginx的網路信息)
--with-http_ssl_module:啟動https功能模塊
1 echo $?
說明:軟體編譯過程中,利用返回值判斷操作是否正確
2.4.1.1 指定的參數及簡單說明
編譯Nginx軟體時,可以使用./configure --help查看相關參數幫助
1 --prefix=PATH #<---設置安裝路徑 2 --user=USER #<---進程用戶許可權 3 --group=GROUP #<---進程用戶組許可權 4 --with-http_stub_status_module #<---激活狀態信息 5 --with-http_ssl_module #<---激活ssl功能
2.4.2 編譯安裝軟體(順序顛倒會報錯)
1 make #編譯軟體--轉換成二進位軟體包使電腦能夠識別 2 3 make install #編譯安裝
2.4.3 創建目錄的軟鏈接
1 cd /application/ 2 3 ln -s /application/nginx-1.10.2/ /application/nginx
作用:將Nginx安裝路徑通過軟連接的方式更改為/application/nginx,便於程式代碼調用nginx程式時無需跟隨版本名稱重置。
2.4.4 啟動nginx程式進程
1 /application/nginx/sbin/nginx
2.4.5 檢查服務進程埠信息
1 ps -ef |grep nginx 2 3 root 4142 1 0 21:32 ? 00:00:00 nginx: master process /application/nginx/sbin/nginx #主進程 4 www 4143 4142 0 21:32 ? 00:00:00 nginx: worker process #處理用戶請求
客戶端進行測試:
2.4.6 檢查Nginx啟動的實際效果
在Windows下通過瀏覽器檢測的方式如下:
打開瀏覽器輸入:http://10.0.0.8/ (10.0.0.8為安裝Nginx伺服器的IP地址)→回車
說明:這裡不能使用功能變數名稱訪問,如果想通過功能變數名稱訪問,需要修改本地hosts文件(不能使用自帶IE瀏覽器)
在linux下通過瀏覽器檢測的方式如下:
1 [root@web01 ~]# wget 127.0.0.1 2 3 --2017-01-15 17:35:35-- http://127.0.0.1/ 4 正在連接 127.0.0.1:80... 已連接。 5 已發出 HTTP 請求,正在等待回應... 200 OK 6 長度:612 [text/html] 7 正在保存至: “index.html” 8 9 100%[================================================================================>] 612 --.-K/s in 0s 10 11 2017-01-15 17:35:35 (120 MB/s) - 已保存 “index.html” [612/612])
說明:廣大讀者請註意,執行上述操作需關閉iptables防火牆及selinux