Я получил новый слайс от slicehost, чтобы поиграть и узнать nginx и больше о развертывании в целом.Я установил приложение ruby (которое я назову app1), в котором используется пассажир.Я сделал его приложением по умолчанию для этого сервера со следующим блоком сервера в моей конфигурации nginx:
server {
listen 80;
server_name <my server ip>;
root <path to app1 public folder>;
passenger_enabled on;
}
Это прекрасно работает.Тем не менее, я хочу попробовать несколько разных приложений на этом слайсе, и поэтому подумал, что я бы настроил его так:
http: /// app1
http: /// app2
и т. Д.Я думал, что смогу сделать это, добавив блок местоположения и переместив в него специфичные для приложения вещи, например:
server {
listen 80;
server_name <my server ip>;
location ^~ /app1 {
root <path to app1 public folder>;
passenger_enabled on;
}
}
Однако, сделав это (и, конечно, перезапустив nginx), перейдем кПростой IP-адрес дает сообщение «добро пожаловать в nginx» (что я и ожидал).Но переход к / app1 выдает сообщение об ошибке:
404 Not Found
The requested URL /app1 was not found on this server.
Это отличается от сообщения об ошибке, которое я получаю при переходе на другой путь по этому ip, например / foo:
404 Not Found
nginx/0.8.53
Итак, nginx знает об этом месте, но я не настроил его должным образом.Кто-нибудь может привести меня в порядок?Должен ли я установить различные серверные блоки вместо использования местоположений?Я уверен, что это просто, но не могу разобраться.
Ура, макс