thinkjs中二级域名的静态资源如何使用nginx进行代理?
处理静态资源不是node js 的强项,所以css,js这些东西最好交给nginx进行处理。规则如下:
请特别注意:root的路径不是项目路径,而是项目路径里的www路径。
一开始我就是大意搞错了,花了我几个小时都没找到css,js无法在nginx下访问的原因。
如果照着下面配置还是出错,请检查你的服务器相应目录css、js等文件是否真的上传上去了。
server {
listen 80;
server_name subdomain.abc.com;
root /www/web/abc/public_html/subdomain/www;
set $node_port 8360;
index index.js index.html index.htm;
if ( -f $request_filename/index.html ){
rewrite (.*) $1/index.html break;
}
if ( !-f $request_filename ){
rewrite (.*) /index.js;
}
location = /index.js {
proxy_http_version 1.1;
proxy_hide_header X-Powered-By;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:$node_port$request_uri;
proxy_redirect off;
}
location ~ /static/ {
etag on;
expires max;
}
}