第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
此筆記是本人學習摘記整理而成,此為初稿(尚有諸多不完善之處),原創作品允許轉載,轉載時請務必以超鏈接形式標明文章原始出處,作者信息和本聲明,否則將追究法律責任。http://www.cnblogs.com/bananaaa/