nginx node 服務(server)

1、下載nginx

解壓,配置環境變量,cmd進到nginx目錄。

2、nginx 命令

start nginx  //開啓  需到nginx目錄

window 下時運行start nginx.exe 啓動

nginx -s reload  :修改配置後重新加載生效
nginx -s reopen  :重新打開日誌文件
關閉nginx:
nginx -s stop  :快速停止nginx
         quit  :完整有序的停止nginx
3、用node http開啓兩個服務
var http = require('http'); 

http.createServer(function(req,res){ 
    res.writeHead(200,{'Content-Type':'text/plain'}); 
    res.end('Hello Aliyun Node.js\n'+req.url+'--port  8008'); 
}).listen(8008,function(){
	console.log('NodeJS Server running at 8008'); 
}); 

端口爲8008 8009。
node 運行它們,也可用pm2 start xx.js i- 0 來運行。
4、配置
upstream myapp{  
        server localhost:8008;
        server localhost:8009;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            #index  index.html index.htm;

            proxy_http_version  1.1;
            proxy_set_header    X-Real-IP $remote_addr;
            proxy_read_timeout  120;
            proxy_set_header    Host $http_host;
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header    Upgrade $http_upgrade;
            proxy_set_header    Connection "upgrade";
            proxy_pass          http://myapp;
        }
(以下複製於:http://www.nodeclass.com/articles/610307)
nginx的upstream  幾種方式介紹:

1.默認方式爲輪詢:時間平均分佈,後端服務器宕機,自動忽略掉,不影響網站繼續運行;幾個配置參數:

  • weight 默認的weight爲1,可以設置其他數字,改變某個後端服務器的比重。如下:
    1. upstream myapp{
    2. server 192.168.1.2:3000 weight=2;
    3. server 192.168.1.3:3000;
    4. server 192.168.1.4:3000;
    5. }
  • down 標記當前的server不參與負載均衡。如下:
    1. upstream myapp{
    2. server 192.168.1.2:3000;
    3. server 192.168.1.3:3000 down;
    4. server 192.168.1.4:3000;
    5. }
  • backup 備用服務器,最初不參與負載均衡,等其他server 全部掛掉後,執行該server。如下:
    1. upstream myapp{
    2. server 192.168.1.2:3000;
    3. server 192.168.1.3:3000;
    4. server 192.168.1.4:3000 backup;
    5. }

2.ip_hash 方式:按照IP地址分配後端服務器,ip_hash可以訪問時session的一致,因爲一直被分配到同一臺服務器上。如下:

  1. upstream myapp{
  2. ip_hash;
  3. server 192.168.1.2:3000;
  4. server 192.168.1.3:3000;
  5. server 192.168.1.4:3000;
  6. }

3.fair 方式:按照後端服務器響應時間分配。如下:

  1. upstream myapp{
  2. fair;
  3. server 192.168.1.2:3000;
  4. server 192.168.1.3:3000;
  5. server 192.168.1.4:3000;
  6. }
4.url_hash方式:根據url 分配。如下:
  1. upstream myapp{
  2. ip_hash;
  3. server 192.168.1.2:3000;
  4. server 192.168.1.3:3000;
  5. server 192.168.1.4:3000;
  6. }

注意:3和4非nginx自帶,需要安裝第三方插件。

安裝插件請參考 文章 
http://jiangwei-0218.blog.163.com/blog/static/17796784201191324043861/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章