我正在数字海洋上使用rails应用程序。它的工作完美。我想在同一个VPS上主持一个Sinatra应用程序。我已经设置了名称服务器和DNS。
我的opt/nginx/conf/nginx.conf
是:
worker_processes 1;
events {
worker_connections 1024;
}
http {
passenger_root /home/deploy/.rvm/gems/ruby-2.0.0-p0/gems/passenger-4.0.0.rc6;
passenger_ruby /home/deploy/.rvm/wrappers/ruby-2.0.0-p0/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name domain1.com;
charset utf-8;
root /home/deploy/apps/domain1/current/public;
passenger_enabled on;
rails_spawn_method smart;
rails_env production;
}
server {
listen 80;
server_name domain2.com www.domain2.com;
charset utf-8;
root /home/deploy/apps/domain2-path/public;
passenger_enabled on;
rails_spawn_method smart;
}
}
现在当我去domain2.com时,它会加载domain1.com的应用程序,我做错了什么。
PS:Domain1.com是rails applicion,Domain2.com是sinatra应用程序。
答案 0 :(得分:0)
您不能仅通过定义另一个DNS地址来执行此操作。 您应该在不同的URL上运行其他应用程序。
然后做这样的事情:
upstream rails {
server 127.0.0.1:8000;
}
upstream sinatra {
server 127.0.0.1:7000;
}
server {
location /rails {
proxy_pass http://rails;
}
location /sinatra {
proxy_pass http://sinatra;
}
}