Когда я развертываюсь с Capistrano 3, я развертываюсь в /home/dev/app-name/
.Cap создает структуру каталогов /home/dev/app-name/current/
, которая является символической ссылкой на /home/dev/app-name/releases/20181129161818
(текущий выпуск).
Эта символическая ссылка не работает и не работает для nginx и passenger.Я знаю это, потому что это мой конфиг приложения, расположенный в /etc/nginx/conf.d/app-name.conf
:
server {
listen 80;
server_name app-name.domain.com;
passenger_enabled on;
passenger_ruby /home/dev/.rvm/gems/ruby-2.5.1/wrappers/ruby;
rails_env production;
root /home/dev/app/app-name/releases/20181129161818/public/;
#root /home/dev/app/app-name/current/public;
}
, если я закомментирую путь root /home/dev/app/mullen-admin/releases/20181129161818/public/;
и sudo service nginx restart
, приложение работает.
Если я использую другую корневую директиву, приложение не работает, и я получаю эту ошибку 500.
2018/11/29 15:31:43 [alert] 11278#0: *3 Cannot stat '/home/dev/app/app-name/current/passenger_wsgi.py':
Permission denied (errno=13); This error means that the Nginx worker process (PID 11278, running as UID 1002) does not have permission to access this file.
Please read this page to learn how to fix this problem: https://www.phusionpassenger.com/library/admin/nginx/troubleshooting/?a=upon-accessing-the-web-app-nginx-reports-a-permission-denied-error;
Extra info, client: 10.194.234.100, server: app-name.domain.com, request: "GET /employees/sign_in HTTP/1.1", host: "app-name.domain.com"
Я запускаю centos-release-7-5.1804.5.el7.centos.x86_64
на виртуальной машине в офисе, где я работаюв.У меня есть sudouser dev
, который я использую для ssh и развертывания с ним.
Пожалуйста, помогите !?Мне нужно, чтобы приложение работало с / current в корневой директиве nginx, чтобы я мог развернуть его и вступить в силу.