У меня была похожая проблема. Я хотел, чтобы в приложении Rails (названном аппаратном) было два экземпляра nginx: example.eu для английской версии сайта и example.ee для эстонской версии. Они имеют одинаковую функциональность, поэтому имеет смысл иметь только одну кодовую базу (но я должен убедиться, что статические ресурсы, такие как загруженные пользователем изображения, не будут конфликтовать).
server {
listen 80;
server_name example.eu;
root /home/apparat/public;
passenger_enabled on;
rails_env apparat_eng;
}
server {
listen 80;
server_name example.ee;
root /home/apparat/public;
passenger_enabled on;
rails_env apparat_ee;
}
Однако, как и выше, если я получил доступ к example.ee, я получил экземпляр example.eu моего приложения на Rails. Возможно, какая-то особенность в nginx / passenger?
В любом случае я обошелся, сделав произвольную символическую ссылку на / home / device, например
ln -s /home/apparat /home/apparat_eng
ln -s /home/apparat /home/apparat_ee
и изменил конфигурацию nginx соответственно
server {
listen 80;
server_name example.eu;
root /home/apparat_eng/public;
passenger_enabled on;
rails_env apparat_eng;
}
server {
listen 80;
server_name example.ee;
root /home/apparat_ee/public;
passenger_enabled on;
rails_env apparat_ee;
}
Так что я могу обмануть nginx, думая, что это разные каталоги.