【发布时间】:2016-12-20 03:42:43
【问题描述】:
我有一个运行 Ubuntu 14.04 的 Linux 机器,内存约为 50GB。
我有 5 或 6 个 Ruby-on-Rails Web 应用程序,每个应用程序都有一个 Unicorn 应用服务器,全部由 Nginx 反向代理服务器提供服务。
每个应用都托管在一个子目录中。 例如:
- www.webserver.com/app1
- www.webserver.com/app2
每个应用每天可能收到 50-100 个请求。它们都是促进我公司业务流程的小应用程序。
我的 Nginx 配置文件如下所示:
upstream app1 {
#path to Unicorn SOCK file;
}
upstream app2 {
#path to Unicorn SOCK file;
}
upstream app3 {
#path to Unicorn SOCK file;
}
# ...several more apps
server {
listen 443 ssl;
access_log #path;
error_log #path;
ssl_certificate #path;
ssl_certificate_key #path;
add_header X-UA-Compatible "IE=Edge,chrome=1";
root /srv/apps/app1/public;
location /app1 {
proxy_pass http://app1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location /app2 {
proxy_pass http://app2;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location /app3 {
proxy_pass http://app3;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
}
# ...several more apps
}
这个设置已经运行了一年左右没有问题,但我有一种唠叨的感觉,我做这一切都错了......
如果我继续添加应用程序,我会遇到问题吗?有没有更好的方法来做到这一点?
更新:
“问题”是指:
- 静态资源路径冲突?
- 内存问题?即,使用超过我需要完成相同的行为?
我的意思是“一种更好的方法”:
- 除了通过解析出 URL 中的子目录名称向相关独角兽服务器发送请求
- 我应该使用单个 Nginx 反向代理来服务多个应用程序吗?
【问题讨论】: