1. 程式人生 > >Linux下nginx的安裝與配置

Linux下nginx的安裝與配置

1.安裝gcc

安裝redis需要先將官方下載的原始碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,則需要安裝。

檢視gcc版本

gcc -v

如果未安裝gcc,提示gcc 命令未找到,則需安裝gcc。執行以下命令來完成gcc安裝。

yum -y install gcc

2.pcre、pcre-devel安裝

pcre(Perl Compatible Regular Expressions)是一個perl庫,包括perl相容的正則表示式庫。nginx的http模組使用pcre來解析正則表示式,所以需要安裝pcre庫,pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要此庫。執行以下命令進行安裝:

yum install -y pcre pcre-devel

3.zlib安裝

zlib庫提供了很多種壓縮和解壓縮方式,nginx使用zlib對http包的內容進行gzip,所以需要在centos 7上安裝zlib庫。執行以下命令進行安裝操作:

yum install -y zlib zlib-devel

4.openssl安裝

yum install -y openssl openssl-devel

5.nginx安裝

5.1獲取nginx

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

5.2解壓nginx

將下載好的nginx解壓到/usr/soft目錄下

tar -zxvf  nginx-1.9.9.tar.gz -C /usr/soft         

5.3安裝nginx

解壓後切換到nginx-1.9.9目錄下,執行以下命令完成nginx安裝

cd /usr/soft/nginx-1.9.9/

./configure

make

make install

5.4配置nginx

修改配置檔案

切換目錄:[[email protected] nginx-1.9.9]# cd /usr/local/nginx/conf

修改檔案:[[email protected] conf]# vi nginx.conf

主要是修改server配置節的內容,listen為nginx的埠號,預設為80,可按需修改。

ESC鍵,退出編輯模式,按冒號鍵“:”進入命令模式,輸入“wq”然後回車,儲存並退出;

切換到sbin目錄:[[email protected] conf]# cd /usr/local/nginx/sbin

啟動Nginx: [[email protected] sbin]# ./nginx

開放防火牆埠:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

/etc/rc.d/init.d/iptables save

訪問nginx,出現如下介面表示配置正常。

6.配置tomcat、nginx實現反向代理

現在我想通過nginx訪問tomcat

這就要我們去修改nginx的核心配置檔案,在其目錄下的conf資料夾下的nginx.conf檔案,那麼首先我們就要了解該檔案中一些節點的作用。

worker_processes:工作程序個數,可配置多個

worker_connections:單個程序最大連線數

server:每一個server相當於一個代理伺服器

lister:監聽埠,預設80

server_name:當前服務的域名,可以有多個,用空格分隔(我們是本地所以是localhost)

location:表示匹配的路徑,這時配置了/表示所有請求都被匹配到這裡

index:當沒有指定主頁時,預設會選擇這個指定的檔案,可多個,空格分隔

proxy_pass:請求轉向自定義的伺服器列表

upstream name{ }:伺服器叢集名稱

知道了節點作用後,我們就知道我們需要修改的檔案中的server部分

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

它訪問的是它歡迎頁面即index.html,

在server 之前加入以下內容:

建立伺服器叢集,並命名為test,web叢集的ip地址+埠號全部配置在這裡,下面以兩臺web應用伺服器為例。

upstream test{

    #伺服器配置 weight是權重的意思,權重越大,分配的概率就越大

    server 192.168.32.1:8081 weight=1;

    server 192.168.32.2:8081 weight=1;

}

 同時我們需要再修改下server,將定向的路徑轉到自定義伺服器叢集上。修改location 下的proxy_pass 節點內容。

http://  後面對應upstream節點中叢集的名稱,兩邊一致即可。

server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        location / {
            proxy_pass http://test;
            #root html;
            #index  index.html index.htm;
      }
    }

ESC鍵,退出編輯模式,按冒號鍵“:”進入命令模式,輸入“wq”然後回車,儲存並退出。

重啟nginx:[[email protected] bin]# /usr/local/nginx/sbin/nginx -s reload