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处理的快。