我有一个运行Ubuntu 14.04的Linux操作系统,内存大约50GB。将多个Unicorn应用服务器与一个Nginx反向代理服务器配合使用,是否是不好的做法?
我有一个5或6个Ruby on Rails Web应用程序,每个应用程序都有一个独角兽应用程序服务器,全部由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反向代理服务多个应用程序吗?
感谢小费就如何通过在一个单独的文件代理配置凝聚了文件位。然而,我只是更新了我的问题,所以它更清晰一些......我真正需要的是,是否使用单个Nginx反向代理的多个应用程序的一般实践是一种好方法,如果不是,为什么? – chester