我目前的nginx配置是这样的:
upstream nodejs {
server 127.0.0.1:3000;
}
server {
listen 8080;
server_name localhost;
root ~/workspace/test/app;
index index.html;
location / {
proxy_pass http://nodejs;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Run Code Online (Sandbox Code Playgroud)
我对nginx非常新,但至少我知道nginx在提供静态文件方面比node/express更好.如何配置服务器以便nginx提供静态文件?
m0m*_*eni 21
我使用这个新配置解决了它:
upstream nodejs {
server localhost:3000;
}
server {
listen 8080;
server_name localhost;
root ~/workspace/test/app;
location / {
try_files $uri @nodejs;
}
location @nodejs {
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://nodejs;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Run Code Online (Sandbox Code Playgroud)
感谢以下Stack Overflow帖子:
如何使用NGINX直接提供所有现有静态文件,但将其余部分代理到后端服务器.
San*_*tta 19
您可能希望在静态文件中使用另一个location块server.
location /static {
alias /path/to/static/files;
}
Run Code Online (Sandbox Code Playgroud)
这使用别名指令.然后你可以点击文件localhost:8080/static/some_file.css
PS您不需要当前设置的root或index当前设置的.(root类似于alias使用上略有不同)
| 归档时间: |
|
| 查看次数: |
19422 次 |
| 最近记录: |