麦壳社区

nginx做nodejs的反向代理

2016-11-23  本文已影响956人  张Boy

首先配置环境nginx+nodejs。。。(没有请看我的其他文章,此处不重复)


cd /etc/nginx/site-available/
sudo touch testServer
http{

    keepalive 65;  #超时
    
    gzip on; #是否开启压缩模块
    gzip_comp_level 6;  #压缩比例 1-9
    gzip_vary on;  #根据http头判断是否进行压缩
    gzip_min_length 1000; #允许压缩的最小字节数
    gzip_proxied any; #无论后端服务器返回的header是什么,都压缩
    gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xhtml application/xml+rss text/javascript image/jpeg image/jpg image/png image/gif; #压缩文件类型 基本全了
    gzip_buffers 16 8k; #向系统申请 以8k为基础的16倍 缓存单元
   upstream my_node_app{    #不清楚的推荐看一下 http://nginx.org/en/docs/ 或者英文不好的可以看大神的文章 http://www.cnblogs.com/taosim/articles/3110626.html 里面有对upstream的详细介绍
        server 127.0.0.1:3000;
        keepalive 64; #超时
    }
    server{
        listen 80;  #监听80端口
        server_name zboy.com;  #设置服务名称
        location / {   #服务是非静态文件,设置nodejs服务的反向代理
            proxy_pass http://my_node_app;  
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Connection "";  
        }

    location ~ ^/(img/|js/|css/|images/|flash/|media/)$ { #如果是静态文件 则劫持处理
            root /home/app/myapp/public;  #your project url 
            access_log off;
            expires max;
        }
    }
}
sudo ln -s /etc/nginx/site-available/testServer /etc/nginx/site-enable/testServer
sudo /etc/init.d/nginx reload   /stop-start

大功告成!~

上一篇 下一篇

猜你喜欢

热点阅读