하이브리드 php/Rails 앱이 하나의 AWS ec2 서버에 있습니다. Mediawiki 설치를 호스팅하고 레일즈를 프론트 엔드로 사용하고 있습니다. Rails 앱의 경우 Passenger를 서버로 사용하고 있습니다. location /
은 Rails 응용 프로그램을 제공하고 location /w
또는 Mediawiki (php5-fpm)가 제공하는 .php 파일을 제공하고 싶습니다.Nginx + Passenger 403 오류
이전에는 작동하는 구성을 사용 했었지만 함께 해킹되어 리팩토링하고 싶습니다.
/
에서 Rails 앱에 액세스하려고하면 현재 작업 구현에서 403 Forbidden 오류가 발생합니다.
내가 (rails_error.log
에서) 얻을 오류 : 나는 지금 /
에서 만 레일 응용 프로그램에 액세스 할 수 있도록하고 싶습니다 2017/10/24 20:08:31 [error] 14947#14947: *2 directory index of "/var/www/myapp/public/" is forbidden, client: xx.yy.zz.aa, server: myapp.amazonaws.com, request: "GET/HTTP/1.1", host: "myapp.amazonaws.com"
; 나는 아직 php5-fpm 설정에 초점을 맞추지 않았다. 여기
내의 .conf 파일입니다사이트-가능/myapp.conf :
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=mw_cache:10m max_size=10g inactive=60m use_temp_path=off;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
server {
listen 80;
listen [::]:80 ipv6only=on default_server;
server_name myapp.com;
charset utf-8;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
root /var/www/myapp/public;
passenger_enabled on;
location /w {
alias /var/www/mediawiki-1.28.0;
index index.php index.html index.htm;
charset utf-8;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_cache mw_cache;
fastcgi_cache_valid 200 60m;
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:7777;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
error_log /var/log/nginx/mediawiki_error.log;
access_log /var/log/nginx/mediawiki_access.log;
}
error_log /var/log/nginx/rails_error.log;
access_log /var/log/nginx/rails_access.log;
}
nginx.conf :
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
passenger_root /home/ubuntu/.rvm/gems/[email protected]/gems/passenger-5.1.1;
passenger_ruby /home/ubuntu/.rvm/gems/[email protected]/wrappers/ruby;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
나는 함께 할 수있다 의심을 여객이 설치되거나 달리는 방법, 또는 제가 승객을 www-data
으로하지 않고 ubuntu
으로 운전할 수 있습니다.
/var/www/myapp/
도 우분투 소유입니다. chown -R www-data /var/www/myapp
과 chown -R ubuntu:www-data /var/www/myapp
을 사용해 보았습니다.
아무도 여기에서 어떤 포인터가 있습니까?
감사합니다.