【轉】Linux服務部署--Java(三) Nginx

原文地址:Nginx Linux詳細安裝部署教程css

1、Nginx簡介html

  Nginx是一個web服務器也能夠用來作負載均衡及反向代理使用,目前使用最多的就是負載均衡,具體簡介我就不介紹了百度一下有不少,下面直接進入安裝步驟nginx

 

2、Nginx安裝c++

  一、下載Nginx及相關組件web

  下載相關組件vim

[root@localhost src]# wget http://nginx.org/download/nginx-1.10.2.tar.gz
 省略安裝內容... [root@localhost src]# wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
 省略安裝內容... [root@localhost src]# wget http://zlib.net/zlib-1.2.11.tar.gz
 省略安裝內容... [root@localhost src]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
 省略安裝內容...

  安裝c++編譯環境,如已安裝可略過windows

[root@localhost src]# yum install gcc-c++ 省略安裝內容... 期間會有確認提示輸入y回車 Is this ok [y/N]:y 省略安裝內容...

 

  二、安裝Nginx及相關組件**後端

    openssl安裝瀏覽器

[root@localhost src]# tar zxvf openssl-fips-2.0.10.tar.gz 省略安裝內容... [root@localhost src]# cd openssl-fips-2.0.10 [root@localhost openssl-fips-2.0.10]# ./config && make && make install 省略安裝內容...

    pcre安裝安全

[root@localhost src]# tar zxvf pcre-8.40.tar.gz 省略安裝內容... [root@localhost src]# cd pcre-8.40 [root@localhost pcre-8.40]# ./configure && make && make install 省略安裝內容...

    zlib安裝

[root@localhost src]# tar zxvf zlib-1.2.11.tar.gz 省略安裝內容... [root@localhost src]# cd zlib-1.2.11 [root@localhost zlib-1.2.11]# ./configure && make && make install 省略安裝內容...

    nginx安裝  

[root@localhost src]# tar zxvf nginx-1.10.2.tar.gz 省略安裝內容... [root@localhost src]# cd nginx-1.10.2 [root@localhost nginx-1.10.2]# ./configure && make && make install 省略安裝內容...

  三、啓動Nginx**

  先找一下nginx安裝到什麼位置上了

[root@localhost src]# whereis nginx nginx: /usr/local/nginx

  進入nginx目錄並啓動

[root@localhost src]#cd /usr/local/nginx [root@localhost nginx]# /sbin/nginx

  可能會報錯

error while loading shared libraries: libpcre.so.1:cannot open shared object file: No such file or directory

  按照下面方式解決

1.用whereis libpcre.so.1命令找到libpcre.so.1在哪裏 2.用ln -s /usr/local/lib/libpcre.so.1 /lib64命令作個軟鏈接就能夠了 3.用sbin/nginx啓動Nginx 4.用ps -aux | grep nginx查看狀態 [root@localhost nginx]# whereis libpcre.so.1 [root@localhost nginx]# ln -s /usr/local/lib/libpcre.so.1 /lib64 [root@localhost nginx]# sbin/nginx [root@localhost nginx]# ps -aux | grep nginx 進入Linux系統的圖形界面,打開瀏覽器輸入localhost會看到下圖,說明nginx啓動成功

 

  nginx的基本操做

啓動 [root@localhost ~]# /usr/local/nginx/sbin/nginx 中止/重啓 [root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop(quit、reload) 命令幫助 [root@localhost ~]# /usr/local/nginx/sbin/nginx -h 驗證配置文件 [root@localhost ~]# /usr/local/nginx/sbin/nginx -t 配置文件 [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

  四、簡單配置Nginx

   打開nginx配置文件位於nginx目錄下的conf文件夾下

[root@localhost nginx]# vim conf/nginx.conf

  保存退出而且重啓nginx

[root@localhost nginx]# sbin/nginx -s reload

  五、開啓外網訪問

    在Linux系統中默認有防火牆Iptables管理者全部的端口,只啓用默認遠程鏈接22端口其餘都關閉,我們上面設置的80等等也是關閉的,因此咱們須要先把應用的端口開啓

    方法一:直接關閉防火牆,這樣性能較好,但安全性較差,若是有前置防火牆能夠採起這種方式

關閉防火牆 [root@localhost ~]# service iptables stop 關閉開機自啓動防火牆 [root@localhost ~]# chkconfig iptables off [root@localhost ~]# chkconfig --list|grep ipt

    方法二將開啓的端口加入防火牆白名單中,這種方式較安全但性能也相對較差

編輯防火牆白名單 [root@localhost ~]# vim /etc/sysconfig/iptables 增長下面一行代碼 -A INPUT -p tcp -m state -- state NEW -m tcp --dport 80 -j ACCEPT 保存退出,重啓防火牆 [root@localhost ~]# service iptables restart
Linux配置完畢了,使用另外一臺電腦而非安裝nginx的電腦,我是用的windows系統,配置一下host在「C:\Windows\System32\drivers\etc」下的hosts中配置一下域名重定向
10.11.13.22 nginx.test.com nginx.test1.com nginx.test2.com 而後cmd再ping一下這個域名是否正確指向了這個IP上 正確指向後在telnet一下80端口看一下是否能夠與端口通訊(若是telnet提示沒有此命令是沒有安裝客戶端,在啓用或禁用windows功能處安裝後再操做便可)

 

    獲得如下界面及表明通訊成功

    

 

    打開這臺Windows系統內的瀏覽器,輸入nginx.test.com會獲得如下結果,就說明外網訪問成功

    

    到此Nginx服務器雛形部署完成。

 

  六、Nginx負載均衡配置

     Nginx集反向代理和負載均衡於一身,在配置文件中修改配就能夠實現

     首先咱們打開配置文件

[root@localhost nginx]# vim conf/nginx.conf 每個server就是一個虛擬主機,咱們有一個看成web服務器來使用 listen 80;表明監聽80端口 server_name xxx.com;表明外網訪問的域名 location / {};表明一個過濾器,/匹配全部請求,咱們還能夠根據本身的狀況定義不一樣的過濾,好比對靜態文件js、css、image制定專屬過濾 root html;表明站點根目錄 index index.html;表明默認主頁

  這樣配置完畢咱們輸入域名就能夠訪問到該站點了。

 

  負載均衡功能每每在接收到某個請求後分配到後端的多臺服務器上,那咱們就須要upstream{}塊來配合使用

upstream xxx{};upstream模塊是命名一個後端服務器組,組名必須爲後端服務器站點域名,內部能夠寫多臺服務器ip和port,還能夠設置跳轉規則及權重等等 ip_hash;表明使用ip地址方式分配跳轉後端服務器,同一ip請求每次都會訪問同一臺後端服務器 server;表明後端服務器地址 server{};server模塊依然是接收外部請求的部分 server_name;表明外網訪問域名 location / {};一樣表明過濾器,用於制定不一樣請求的不一樣操做 proxy_pass;表明後端服務器組名,此組名必須爲後端服務器站點域名 server_name和upstream{}的組名能夠不一致,server_name是外網訪問接收請求的域名,upstream{}的組名是跳轉後端服務器時站點訪問的域名

    配置一下Windows的host將咱們要訪問的域名aaa.test.com指向Linux

    Nginx的負載功能就配置完成了。

相關文章
相關標籤/搜索