我在 VPS 上设置了 nginx 和Passenger,从两条不同的路径为两个Rails 应用程序提供服务。这是我的目标——从不同的子 URI 为每个 Rails 应用程序提供服务。
123.123.123.123/app1
123.123.123.123/app2
根据Passenger + nginx 文档,我设置了以下内容nginx.conf
:
server {
listen 80;
server_name 123.123.123.123;
location /app1 {
alias /u/apps/app1_project_name;
passenger_enabled on;
passenger_base_uri /app1;
}
location /app2 {
alias /u/apps/app2_project_name;
passenger_enabled on;
passenger_base_uri /app2;
}
}
我在/u/apps/app1_project_name
和/u/apps/app2_project_name
目录中创建了一个符号链接,app1
并在这两种情况下app2
分别链接到./current/public
。
当我访问该站点时,所有页面都正确显示,但静态资产似乎都不起作用!如果我查看页面源代码,我会看到指向如下页面的链接:/app1/home/index
. 如果我单击该链接,则该链接有效。
但是,也有这样的链接:/app1/assets/application-1b13569e9620782f423d4cd3ce931750.css
用于 .css 和 .js 资产。但是当我单击链接时找不到它们!
我的 nginx + 乘客配置有问题,它没有正确路由这些吗?检查public/assets
文件夹显示文件实际上已正确预编译并且确实出现在那里。