Я пробую разные способы развертывания приложения Rails (если быть точнее, redmine) с nginx и Passenger.Допустим, я установил его в /var/local/railapps/redmine-1.1
.
. Когда я выполняю развертывание как sub-uri, я могу сделать программную ссылку только на папку public
:
sudo ln -s /var/local/railapps/redmine-1.1/public /var/www/rails/redmine
и добавитьв server
блок в nginx.conf
:
root /var/www/rails;
passenger_enabled on;
passenger_base_uri /redmine;
При этом redmine может обращаться к папкам на том же уровне, что и public
, например, /var/local/railapps/redmine-1.1/config
.
.с другой стороны, Пассажир не разрешает программные ссылки, когда он установлен в корневой каталог хоста (согласно этому руководству ):
sudo ln -s /var/local/railapps/redmine-1.1/public /var/www/rails/redmine
root /var/www/rails/redmine;
passenger_enabled on;
Я получаю сообщение об ошибке от Пассажира: No such file or directory - config/environment.rb
в корне /var/www/rails
, что означает, что он пытается получить относительные пути не от цели ссылки, а от самой ссылки.Если я сделаю ссылку на главную папку Redmine, все будет работать:
sudo ln -s /var/local/railapps/redmine-1.1 /var/www/rails/redmine
root /var/www/rails/redmine/public;
passenger_enabled on;
Итак, вопрос в том, почему Пассажир может разрешать программные ссылки в режиме «sub-uri», но не врежим "root root"?Есть ли дополнительные настройки?