centos7 安裝nginx並配置代理

前言

筆者在國外租了一個虛機,用來部署本身的博客應用,並申請了一個域名51think.net來指向這個虛機。隨着部署的應用愈來愈多,而80端口只有一個,沒法直接經過域名去訪問不一樣的應用。由此而來,部署一個代理服務器勢在必行。本文對nginx的安裝和配置進行簡單整理,但願對初學者有幫助。
本文來源於個人博客網站:www.51think.netnginx

1、安裝

nginx安裝有兩種方式,即yum和wget。json

一、經過yum方式在線安裝

須要注意的一點是,nginx並不在yum的安裝源中。什麼是yum?你能夠理解爲一個rpm包管理器的前置(什麼是rpm?本身百度吧。。),yum相似於maven的效果,給一個包名,就能將其所依賴的軟件包所有下載下來。maven是有中央倉庫的,即包的來源。yum也是一樣的概念,它也須要一個包源,並且能夠配置多個,這個源能夠是本地的也能夠是網絡的,而nginx並不在它的源中,所以咱們要把它加到yum的源中。執行以下命令:centos

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

這個操做並非安裝nginx,只是安裝了一個nginx的源。執行完成以後,會在/etc/yum.repos.d目錄中看到多了一個文件nginx.repo 。瀏覽器

clipboard.png

從這個文件的後綴咱們能夠感知到,.repo即repository,倉庫配置。文件內容以下:tomcat

clipboard.png
核心要素也就是一個網址。即告知yum命令,能夠從這個網址裏找nginx下載並安裝。服務器

如今開始真正的安裝,執行命令yum install -y nginx便可。網絡

二、經過wget下載nginx的壓縮包

wget http://nginx.org/download/nginx-1.10.1.tar.gz

解壓tar -zxvf nginx-1.10.1.tar.gz,我本地的解壓縮目錄是/usr/local/,這時候咱們能夠啓動一下nginx觀察一下效果,到/usr/local/nginx/sbin目錄,執行./nginx,而後在瀏覽器中訪問http://localhost ,彈出如下頁面則表示安裝成功(確保80端口沒有被佔用):負載均衡

clipboard.png

2、配置代理

一、單點代理配置

在虛機上找到nginx的安裝目錄,找到nginx.conf文件。筆者的文件路徑是:maven

/usr/local/nginx/conf/nginx.conf

這個配置文件的內容很簡單,結構相似於json,重點關注server領域的配置,其餘配置項默認便可。筆者的配置以下,供參考:網站

server {
        listen       80;
        server_name  www.51think.net 51think.net www.ueasy.cc;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #blog
        location / {  
             proxy_pass http://138.128.193.108:8080;   
        }  
        #mall  
        location /wx {  
             proxy_pass http://138.128.193.108:8081;   
        } 
  }

listen表示監聽的端口,http的是80,https的是443。server_name表示本配置項是爲哪些域名準備的,便可以接受哪些域名的訪問。location就是代理的配置了,/表示能夠經過域名的根目錄去訪問http://138.128.193.108:8080的tomcat服務,/wx表示能夠經過「域名+/wx」的形式去訪問http://138.128.193.108:8081的tomcat服務。要注意的一點是,若是location做爲tomcat服務的全局入口,那麼location的路徑須要和tomcat的contextPath保持一致,不然訪問可能出現404錯誤。舉例說明,若是個人博客網站tomcat的contextPath是/blog,即直接訪問路徑應該是http://138.128.193.108:8080/blog。若是在nginx層面將location配置成以下:

location / {  
             proxy_pass http://138.128.193.108:8080;   
        }

則經過域名http://51think.net/這樣訪問時,將會被代理到http://138.128.193.108:8080/這個訪問路徑,顯然這樣是訪問不通的。若是tomcat的contextPath是/則沒問題。

二、負載均衡代理配置

負載均衡配置也比較簡單,將上文location配置中的 IP+端口換成一個新的配置項,而後在新的配置項里加入咱們要負載的節點和負載的策略。

location / {
     #將ip和端口信息換成一個新的配置項manyserver(自由命名)
        proxy_pass  http://manyserver;
        }

配置manyserver:

upstream manyserver{
    server 138.128.193.108:8080; #tomcat
    server 138.128.193.108:8084; #tomcat
    server 138.128.193.108:8085; #tomcat
    
}

upstream manyserver配置項裏,咱們還能夠制定負載均衡策略,好比iphash,權重,輪詢等,在此再也不贅述。
以上就是nginx安裝配置的所有內容,但願對初學者有所幫助。

3、注意事項

一、nginx.conf中能夠配置多個server節點,nginx能夠根據監聽端口或者訪問域名去定位到不一樣的server配置項。二、配置完成以後,記得要重啓nginx。到nginx的安裝目錄/usr/local/nginx/sbin/,執行./nginx -s reload便可。

相關文章
相關標籤/搜索