我有一个nodejs博客应用。我也使用nginx反向代理服务它。问题是我无法使用该应用程序加载静态文件。我在以下文件中看到了我配置的ngix。但由于某些原因,当我重定向到mysite.com/blog时,我无法加载静态文件,但在mysite:port / blog我可以。
这是nginx.config文件:
4 * n * O(1) = O(4n) = O(n)
我的app.js文件:
server {
listen *:80;
server_name www.georgegkas.discrete.gr georgegkas.discrete.gr;
root /var/www/georgegkas.discrete.gr/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ^~ /web-class.gr/ {
try_files $uri $uri/ =404;
if (!-e $request_filename){
rewrite ^(.*)$ /index.html break;
}
}
location /blog {
root /var/www/georgegkas.discrete.gr/html/GeorgeGks-Blog/app/public;
try_files $uri $uri/ @nodejs_blog;
expires max;
access_log off;
}
location @nodejs_blog {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8081;
}
}
我错误地配置了什么?
答案 0 :(得分:1)
示例代码
upstream nodejs {
server localhost:3000;
}
server {
listen 8080;
server_name localhost;
root ~/workspace/test/app;
location / {
try_files $uri $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;
}
}
您可以查看this
try_files $uri /$uri @nodejs;
应为try_files $uri $uri/ @nodejs;
您可能希望location
中的另一个server
块用于静态文件。
location /static {
alias /path/to/static/files;
}
Then您可以点击localhost:8080/static/some_file.css