我有一个nginx的+薄+的Rails 3.2设置。 目前,我想设置Nginx的,因此它可以直接服务于缓存的网页。
不过nginx的还是通过下面的nginx的配置文件,*。html的请求轨。 在HTML文件中存在的公共文件夹中,并nginx的确实找到他们,只是他们仍然传递到Rails的。
upstream site {
server unix:/home/site/deploy/site/shared/pids/thin.0.sock;
}
server {
listen 80;
server_name www.example.com;
rewrite ^(/.*) http://example.com$1 permanent;
}
# asset server
server {
listen 80;
server_name assets.example.com;
expires max;
add_header Cache-Control public;
charset utf-8;
root /home/site/deploy/site/current/public/;
}
# frontend
server {
listen 80;
server_name .example.com;
charset utf-8;
root /home/site/deploy/site/current/public/;
index index.html;
location ~* ^.+.(jpg|jpeg|gif|png|swf|zip|rar|doc|xls|exe|pdf|ppt|txt|tar)$ {
root /home/site/deploy/site/current/public/;
expires max;
break;
}
# serve static files
if (-f $request_filename) {
break;
}
gzip on;
location / {
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;
if (-f $request_filename) {
break;
}
if (-f $document_root/cache/$host/$uri/index.html) {
rewrite (.*) /cache/$host/$1/index.html break;
}
if (-f $document_root/cache/$host/$uri.html) {
rewrite (.*) /cache/$host/$1.html break;
}
if (-f $document_root/cache/$host/$uri) {
rewrite (.*) /cache/$host/$1 break;
}
proxy_pass http://site;
break;
}
}
我是新来nginx的,而这个配置文件是从以前的项目中我还没有工作的复制,所以这可能是一个非常新手问题。