2017-02-20 21 views
0

Я попытался решить аналогичный вопрос и многие другие в stackoverflow, но ни один из них, похоже, не решил эту проблему. По умолчанию niginx" Welcome " работает даже тогда, когда я настроил /etc/nginx/passenger.conf и /etc/nginx/passenger.conf. Это было после того, как я настроен /и т.д./Nginx/сайты с поддержкой/по умолчанию, изменив значение по умолчанию путь к моим рельсам приложению, я начал получать 403 Forbidden ошибки.nginx error/home/deploy/myapp/current/public/"запрещено

Это журнал ошибок.

2017/02/20 06:05:17 [error] 27311#27311: *2 directory index of "/home/deploy/Blog/current/public/" is forbidden, client: 111.93.247.206, server: mydomain.com, request: "GET/HTTP/1.1", host: "35.154.168.57" 

Мои файлы nginx следующие.

/etc/nginx/nginx.conf

user deploy; 
worker_processes auto; 
pid /run/nginx.pid; 

events { 
     worker_connections 768; 
     # multi_accept on; 
} 

http { 

     ## 
     # Basic Settings 
     ## 

     sendfile on; 
     tcp_nopush on; 
     tcp_nodelay on; 
     keepalive_timeout 65; 
     types_hash_max_size 2048; 
     # server_tokens off; 

     # server_names_hash_bucket_size 64; 
     # server_name_in_redirect off; 

     include /etc/nginx/mime.types; 
     default_type application/octet-stream; 

     ## 
     # SSL Settings 
     ## 

     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE 
     ssl_prefer_server_ciphers on; 

     ## 
     # Logging Settings 
     ## 

     access_log /var/log/nginx/access.log; 
     error_log /var/log/nginx/error.log; 

     ## 
     # Gzip Settings 
     ## 


gzip on; 
     gzip_disable "msie6"; 

     # gzip_vary on; 
     # gzip_proxied any; 
     # gzip_comp_level 6; 
     # gzip_buffers 16 8k; 
     # gzip_http_version 1.1; 
     # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; 

     ## 
     # Phusion Passenger config 
     ## 
     # Uncomment it if you installed passenger or passenger-enterprise 
     ## 

     # include /etc/nginx/passenger.conf; 

     ## 
     # Virtual Host Configs 
     ## 

     include /etc/nginx/conf.d/*.conf; 
     include /etc/nginx/sites-enabled/*; 
} 


#mail { 
#  # See sample authentication script at: 
#  # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript 
# 
#  # auth_http localhost/auth.php; 
#  # pop3_capabilities "TOP" "USER"; 
#  # imap_capabilities "IMAP4rev1" "UIDPLUS"; 
# 
#  server { 
#    listen  localhost:110; 
#    protocol pop3; 
#    proxy  on; 

/etc/nginx/passenger.conf

passenger_ruby /home/deploy/.rvm/wrappers/ruby-2.3.1/ruby; 
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini; 
#passenger_ruby /usr/bin/passenger_free_ruby; 

/и т.д./Nginx/сайты с поддержкой/по умолчанию

server { 
     listen 80 default_server; 
     listen [::]:80 default_server ipv6only=on; 

     server_name mydomain.com; 
     passenger_enabled on; 
     rails_env production; 
     root   /home/deploy/Blog/current/public; 

     # redirect server error pages to the static page /50x.html 
     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root html; 
     } 
} 

Разрешения являются:

lrwxrwxrwx 1 root root 34 Feb 20 06:00 /etc/nginx/sites-enabled/default 
-rw-r--r-- 1 root root 179 Feb 20 06:35 /etc/nginx/passenger.conf 
-rw-r--r-- 1 root root 1608 Feb 20 06:34 /etc/nginx/nginx.conf 

Пожалуйста, может кто-нибудь сказать, что я делаю неправильно или что я не сделал? Спасибо

ответ

0

Выполните следующие действия:

  1. Резервное копирование/дом/развернуть/Блог/ток/общественное
  2. chown -R <nginxuser>:<nginxuser> /home/deploy/Blog/current/public

nginxuser: пользователь, который работает Nginx, его, вероятно, один из следующее: nginx, www-data, root.

+0

Я бегу Nginx как 'Deploy' в качестве пользователя. И я запускал «chown -R deploy: deploy/home/deploy/Blog/current/public». По-прежнему такая же ошибка. 403 запрещено – user3576036

+0

, пожалуйста, убедитесь, что оба пути в вашем 'пассажире.conf' верны. –

+0

оба пути: 'пассажир_руб /home/deploy/.rvm/wrappers/ruby-2.3.1/ruby;' 'пассажир_роут /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;' правильные – user3576036

0

Не знаете, что именно вам не хватает. Выполните настройку на https://www.wiki11.com.

Ваша проблема идет, потому что nginx пытается найти файл index.html в /home/deploy/apps/mll/current/public, которого нет. Чтобы исправить, вам нужно будет добавить пассажира с вашим nginx.

Инструкции для подражания.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 
sudo apt-get install -y apt-transport-https ca-certificates 

Добавить Пассажирское APT репозиторий

sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list' 
sudo apt-get update 

Установка пассажирских и Nginx

sudo apt-get install -y nginx-extras passenger 

Теперь запустите Nginx веб-сервер.

sudo service nginx start 

Далее, нам необходимо обновить конфигурацию Nginx, чтобы указать Пассажир версию Ruby, которую мы используем.

sudo vim /etc/nginx/nginx.conf 

И добавить или раскомментировать

include /etc/nginx/passenger.conf; 

Сохранить и закрыть nginx.conf. Затем откройте /etc/nginx/passenger.conf

sudo vim /etc/nginx/passenger.conf 

Если вы используете .rbenv, то

passenger_ruby /home/deploy/.rbenv/shims/ruby; 

Или, если вы используете RVM, то

passenger_ruby /home/deploy/.rvm/wrappers/ruby-2.5.0/ruby; 

Или, если вы используете систему рубин, то

passenger_ruby /usr/bin/ruby; 

Далее, res терпкий Nginx сервер

sudo service nginx restart 

Добавить passenger_enabled on; в свой сайт с поддержкой/центров или сайта с поддержкой файла/nodeapp.

server { 
     listen 80; 
     listen [::]:80; 

     root /home/deploy/apps/mll/current/public; 
     index index.html index.htm; 

     server_name myrailssite.com; 
     passenger_enabled on; 

     location/{ 
       try_files $uri $uri/ =404; 
     } 
} 

Перезагрузка Nginx сервер снова sudo service nginx restart. Надеюсь, это сработает.

Для получения более подробной информации, следовать, https://www.phusionpassenger.com/library/install/nginx/install/oss/xenial/