我目前正在努力为我的应用程序获取 nginx 提供的静态内容。我将提供一些背景信息:
服务器:Ubuntu 10.4 lucide Ruby:1.8 应用程序:/var/www/apps/current'使用 capistrano 部署'nginx 正在监听端口 2006 我有 4 个瘦服务器在端口 4000 -> 4004 上运行应用程序(集群)
我的 nginx 配置文件如下所示:
upstream thin {
server 127.0.0.1:4000;
server 127.0.0.1:4001;
server 127.0.0.1:4002;
server 127.0.0.1:4003;
}
server {
listen 2006;
server_name escomatch.tst;
root /var/www/apps/current/public;
index index.html index.html;
try_files $uri/index.html $uri.html $uri @thin;
location ~* \.(jpeg|jpg|gif|png|ico|css|bmp|js)$ {
root /;
}
location @thin {
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_redirect off;
proxy_pass http://thin;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
我的应用程序可以通过以下方式访问http://85.255.206.157:2006/ 但如您所见,没有静态内容。我对这些东西还很陌生,所以如果有人能指出我忘记了什么,我会很高兴成为开发人员 :)
答案1
rexex 下的路径是错误的...现在通过实施 Roman 的评论解决了它。
答案2
您不需要块root
中的指令location ~* ... {}
,因为您已经在server {}
块中定义了根。