nginx如何反向代理node应用

首先我们需要切换至nginx的配置目录。

>cd /etc/nginx
>cd conf.d

然后使用vi新建一个配置文件,现在nginx会遍历当前conf.d目录然后加载出来。无需再去修改nginx.conf文件

>vi test.conf

首先我们配置网站

server {
    listen       80;                        # 监听端口
    server_name www.yodfz.com yodfz.com;    # 站点域名
    index index.html index.htm index.php;   # 默认导航页 
}

这一步我们是配置域名,然后我们再来配置反向代理

server {
    listen       80;                        # 监听端口
    server_name www.yodfz.com yodfz.com;    # 站点域名
    index index.html index.htm index.php;   # 默认导航页 
      location / {
            proxy_pass  http://localhost:7800;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

我们将访问www.yodfz.com的用户指向了运行在7800端口上的node应用。
到这一步,我们已经做好了基本的反向代理。
但是由于我们网站还有静态文件,我发现走node的反向代理,速度极其慢,也无法为其设置有效期。所以我们再做一些配置。

server {
    listen       80;                        # 监听端口
    server_name www.yodfz.com yodfz.com;    # 站点域名
    index index.html index.htm index.php;   # 默认导航页 
      location / {
            proxy_pass  http://localhost:7800;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }

    location ~*\.(js|gif|jpg|jpeg|css)$ {
        root /www.yodfz.com/public;
        expires 3d;
    }
}

我现在为其设置了3天有效期。这样文件不会立马失效,会在客户端缓存3天才失效。并且nginx处理静态文件远比node处理的快。

摄影爱好者,全栈工程师,游戏玩家,积木苦手,超穷手办收藏爱好者

发表评论