1. 程式人生 > >Linux學習9-CentOS搭建nginx環境

Linux學習9-CentOS搭建nginx環境

前言

之前我們搭建網站的時候,把war包放到tomcat下就能執行起來了,為什麼部署上線的時候,又用到了nginx呢?
nginx可以做多臺伺服器的負載均衡,當用戶非常少的時候,可以用一臺服務直接部署web環境,那麼當用戶達到百萬級別,千萬級別的時候,就需要增加伺服器,多臺伺服器又如何管理協作的呢?

nginx有以下功能:
1.靜態HTTP伺服器-Nginx是一個HTTP伺服器,可以將伺服器上的靜態檔案(如HTML、圖片)通過HTTP協議展現給客戶端。
2.反向代理伺服器-客戶端本來可以直接通過HTTP協議訪問某網站應用伺服器,網站管理員可以在中間加上一個Nginx,客戶端請求Nginx,Nginx請求應用伺服器,然後將結果返回給客戶端,此時Nginx就是反向代理伺服器。
3.負載均衡-當網站訪問量非常大,網站站長開心賺錢的同時,也攤上事兒了。因為網站越來越慢,一臺伺服器已經不夠用了。
於是將同一個應用部署在多臺伺服器上,將大量使用者的請求分配給多臺機器處理。同時帶來的好處是,其中一臺伺服器萬一掛了,只要還有其他伺服器正常執行,就不會影響使用者使用。
4.虛擬主機-有的網站訪問量大,需要負載均衡。然而並不是所有網站都如此出色,有的網站,由於訪問量太小,需要節省成本,將多個網站部署在同一臺伺服器上。
5.FastCGI-Nginx本身不支援PHP等語言,但是它可以通過FastCGI來將請求扔給某些語言或框架處理(例如PHP、Python、Perl)。

什麼是nginx?

Nginx是一款自由的、開源的、高效能的HTTP伺服器和反向代理伺服器;同時也是一個IMAP、POP3、SMTP代理伺服器;
Nginx可以作為一個HTTP伺服器進行網站的釋出處理,另外Nginx可以作為反向代理進行負載均衡的實現。

正向代理,代理的是客戶端,比如小夥伴們平常科學上網,訪問google網站就是用到的正向代理。

反向代理,它代理的是服務端,主要用於伺服器叢集分散式部署的情況下,反向代理隱藏了伺服器的資訊。

nginx依賴包安裝

先安裝依賴包

1.gcc安裝:安裝 nginx 需要先將官網下載的原始碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝
2.PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正則表示式庫。
nginx 的 http 模組使用 pcre 來解析正則表示式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫
3.zlib庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
4.OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程式供測試或其它目的使用。
nginx 不僅支援 http 協議,還支援 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。

yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

nginx下載與安裝

直接下載.tar.gz安裝包,下載地址:https://nginx.org/en/download.html
把下載的包放到/usr/local/nginx目錄,然後解壓安裝到nginx-1.12.0當前目錄,make編譯安裝

[[email protected] sbin]# cd ~
[[email protected]
~]# cd /usr/local/ [[email protected] local]# mkdir nginx [[email protected] local]# cd nginx [[email protected] nginx]# wget -c https://nginx.org/download/nginx-1.12.0.tar.gz [[email protected] nginx]# tar -zxvf nginx-1.12.0.tar.gz [[email protected] nginx]# cd nginx-1.12.0 # 安裝到當前目錄 [[email protected] nginx]# ./configure [[email protected] nginx]# make [[email protected] nginx]# make install

到此為止環境已經安裝好,接下來啟動nginx服務

[[email protected] nginx]# cd /usr/local/nginx/sbin/
[[email protected] nginx]# ./nginx

啟動服務後,nginx預設是在80埠啟動的,在瀏覽器輸入http://47.104.x.x:80/ (80埠預設可以省略),能正常訪問到頁面,說明服務啟動成功