Назад | Перейти на главную страницу

Настройки разрешений Nginx + Wordpress

Я экспериментирую с некоторыми проблемами с установкой wordpress на nginx. Архитектура проводится в Amazon и выглядит следующим образом:

EC2 Nginx 1.2.4 + php-fpm сервер EC2 NFS сервер RDS mysql

Nginx читает файлы сайта из раздела nfs в / mnt / sharedpool / blog.

Конфигурация fstab:

compute-1.amazonaws.com:/mnt/sharedpool / mnt / sharedpool nfs rw, отношение 0 0

Конфигурация сервера nfs / etc / exports:

/ mnt / sharedpool ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com (rw, синхронизация)

Пользователь и группа nginx настроены на www-data: www-data, а корневая директива сайта установлена ​​на / mnt / sharedpool / blog.

Я загрузил последнюю версию wordpress и успешно установил ее. Дело в том, что после входа в систему я получаю 403 Forbidden. Я думаю, это должна быть настройка wordpress, учитывая тот факт, что я могу создавать и вызывать phpinfo () в том же каталоге.

ОБНОВЛЕНО:

Конфигурация сервера Nginx:

пользовательские www-данные www-data; worker_processes 1; pid /var/run/nginx.pid;

события {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;

    ##
    # 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/x-javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # nginx-naxsi config
    ##
    # Uncomment it if you installed nginx-naxsi
    ##

    #include /etc/nginx/naxsi_core.rules;

    ##
    # nginx-passenger config
    ##
    # Uncomment it if you installed nginx-passenger
    ##

    #passenger_root /usr;
    #passenger_ruby /usr/bin/ruby;

    ##
    # Virtual Host Configs
    ##

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

}

Конфигурация сайта Nginx:

сервер {слушать 80; #listen [::]: 80 default_server ipv6only = on; ## слушать ipv6

    root /mnt/sharedpool/blog;
    index index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ /index.php;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }

    location /doc/ {
            alias /usr/share/doc/;
            #autoindex on;
    #       allow 127.0.0.1;
    #       allow ::1;
    #       deny all;
    }


    #error_page 404 /404.html;

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

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one

    location ~ /\.ht {
            deny all;
    }

}

Заранее спасибо!

Похоже, что nginx не совсем уверен, какой индексный файл загружать для вашего сайта. Поскольку это сайт на основе PHP (WordPress), это должно быть index.php. Но твой index директива гласит:

    index index.html index.htm;

Я бы изменил это на:

    index index.php;