nginx 配置使用

   nginx來源:css

    是一款由俄羅斯程序員Igor Sysoev所開發輕量級的網頁服務器、反向代理服務器以及電子郵件(IMAP/POP3)代理服務器。起初是供俄國大型的門戶網站及搜索引擎Rambler(俄語:Рамблер)使用。
此軟件BSD-like協議下發行,能夠在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操做系統中運行。
nginx 主要功能:
1.處理靜態資源
2.反向代理
3.負載均衡
4.訪問控制
(一)處理靜態資源
假如如今我有一臺雲服務器,我想在雲服務器上掛在一個頁面
以下簡易頁面 index.html
<html>
  <head>
    <title>個人服務頁面</title>
  </head>
  <body>
    <div>.....</div>
  </body>
</html>
 
一般兩種方法
方法一 在本身的服務器安裝個tomcat把頁面配置到容器的服務裏。便可訪問。
具體操做 vi serser.xml
在Engine 節點下添加
<Host name="www.sam.com">
     <Valve className="org.apache.catalina.valves.AccessLogValve" 
            directory="logs" 
            prefix="www.sam.com_access_log." 
            suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
       <Context path="" docBase="/home/本身的須要配置的頁面" /> 
   </Host>
這是一種方式,固然還有其餘的配置方式。能夠參考別人
方法二 使用nginx
http {
  include          mime.types;
  default_type     application/octet_stream;
  sendfile         on;
  server {
    listen         80;
    server_name    localhost;
    location /page {
      root /html/login
    }
    location /page {
      alias /html/desplay/
    }
  }
}
  • alias 後面必需要用 「/」 結束,不然會找不到文件,而 root 則對 」/」 無關緊要。
  • alias 只能做用在location中,而root能夠存在server、http和location中。

(二)反向代理html

  什麼是反向代理?nginx

正向代理: 代理端是客戶端
反向代理: 代理端是服務端
正向代理影藏的是客戶端,反向代理影藏的是服務端。

額外話題 "越域" 與 "跨域"
產生越域的條件:
   1. 請求協議不一樣  http -> https  或者 https -> http
   2. 域名不一樣
   3. 不一樣的端口
反向代理能夠很簡單的以爲由於端口致使的越域問題。具體使用以下:
 server {
        listen  80;
        location /api {
            proxy_pass  http://localhost:8808;
        }
    }
此外由於協議的不一樣致使的越域問題 本人也不知道怎麼解決,至於第二個 域名的不用 這種狀況的跨域 須要在請的請求前 加個添加個head 請求頭,具體如何操做看我之後的博客謝謝。
(三)負載均衡
當一個網站的訪問量足夠大的時候,須要增長服務的訪問性能,升級服務器性能和增長內存的方式,當用戶足夠多的時候須要增長主機了。
負載均衡就是 多態服務器組成一個組,完成相同的功能的服務,當用戶訪問時能夠根據每臺服務的狀態完成不一樣的用戶請求。
假設 如今我有四臺主機 112.12.123.1 , 112.12.123.2 , 112.12.123.3 。 112.12.123.4 實現以下:
upstream myservers {
      server 112.12.123.1:8080 weight = 2;
      server 112.12.123.2:8080 weight = 3;
      server 112.12.123.3:8080 down;
      server 112.12.123.4:8080 backup;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        server {
            listen  80;
            location / {
                root   /data/page;
            }
            lcoation /css {
                alias /data/css/;
            }
            location /api {
                proxy_pass http://myservers;
            }
        }
    }
upstream內置了三種負載均衡策略,分別是:
  1. round-robin,輪循(默認)程序員

    Nginx根據請求次數,將每一個請求均勻分配到每臺服務器算法

  2. least-connected,最少鏈接apache

    將請求分配給鏈接數最少的服務器。Nginx會統計哪些服務器的鏈接數最少。api

  3. ip-hash跨域

    綁定處理請求的服務器。第一次請求時,根據該客戶端的IP算出一個HASH值,將請求分配到集羣中的某一臺服務器上。後面該客戶端的全部請求,都將經過HASH算法,找到以前處理這臺客戶端請求的服務器,而後將請求交給它來處理。  在這裏,咱們沒有指定負載均衡策略,那麼它就是默認的round-robin。tomcat

     weight?服務器

          經過指定每臺服務器的權重,咱們能夠進一步影響nginx的負載均衡算法 在上面的示例中,若是未配置服務器權重,這意味着全部指定的服務器都被視爲具備同等資格的特定      負載平衡方法。 注意,weight只能用在round-robin策略中

  其他的一些配置

backup
    將服務器標記爲備份服務器。它將在主服務器不可用時處理請求。
down
    將服務器標記爲永久不可用。

(四)訪問控制

  訪問控制說白了就是和白名單,黑名單差很少。這裏空的是ip地址。

具體配置以下:

    location / {
        allow 121.237.63.233;
        allow 121.237.63.220;
        deny all;
    }

  allow和deny這兩個指令的意思是指,容許ip和限制ip ,all 表示全部。

nginx  經常使用命令

找到本身安裝目錄  nginx/sbin 路徑下來

啓動  ./nginx

中止 ./nginx -s stop

重啓 ./nginx -s reload

相關文章
相關標籤/搜索