Nginx服務及編譯安裝


第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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM