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