I have set up my RoR app on DO Ubuntu x64. On Nginx port 8080
.
My config:
server {
listen 8080;
# server_name www.mydomain.com;
passenger_enabled on;
passenger_app_env development;
root /home/edgars/Proj/public;
}
In Nginx log file error:
Cannot stat '/home/edgars/Proj/config.ru; This error means that the Nginx worker process (PID 18065, running as UID 33) does not have permission to access this file.
As my research from this question shows I need to ensure that Nginx user can access that path.
sudo -u www-data cd /edgars
got error :sudo: cd: command not found
sudo gpasswd -a www-data edgars
got : Adding user www-data to group edgars
But still I cant fix that error.
Any other workaround ?
Thanks in advance.
Please check the $PATH for your the user www-data. The fact that the command
cd
was not found, is troubling.Also please run this command
ensure that your
www-data
user canstat
the above file. This will help you understand if you set the file permissions correctly.Also, have you enabled SElinux on your Ubuntu? If yes, please follow the instructions here.
You need to relax permissions to that the Nginx worker process can access your application directory, by making the directory group- and world-executable:
and it's done. Good Luck!
References: Click here