尝试访问 Nginx 时出现 403 禁止访问

尝试访问 Nginx 时出现 403 禁止访问

我刚刚买了一台新服务器,想尝试一些其他的东西。比如用 Nginx 代替 Apache。

因此,安装后nginx,进入欢迎页面,安装php5-fpm并下载 Wordpress 进行尝试。

403 Forbidden但是,当我尝试前往该地址时仍然出现...

这是配置文件:

server {
  listen   80;
  server_name  localhost;
  access_log  /var/log/nginx/axiol.access.log;
  error_log  /var/log/nginx/axiol.error.log error;

  root  /usr/share/nginx/axiol;

  location ~ .php$ {
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/axiol$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param  QUERY_STRING     $query_string;
    fastcgi_param  REQUEST_METHOD   $request_method;
    fastcgi_param  CONTENT_TYPE     $content_type;
    fastcgi_param  CONTENT_LENGTH   $content_length;
    fastcgi_intercept_errors        on;
    fastcgi_ignore_client_abort     off;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
  }

  rewrite /wp-admin$ $scheme://$host$uri/ permanent;
  try_files $uri $uri/ /index.php?$args;
}

我已经检查了该文件夹的 chmod axiol

任何想法 ?

答案1

您在 php 位置中犯了一个错误。您需要转义,.因为它在正则表达式中另有用处。

  location ~ \.php$ {

编辑:

您还应该添加以下内容server

    index  index.html index.htm index.php;

如果没有指定文件,则需要自动传递 index.php(如果 index.html 和 index.htm 不存在)。

答案2

检查服务以哪个用户和组身份运行,并确保它已读取文件并在 nginx 文件夹及其下的所有内容的目录上执行。

您可以通过执行此命令并查看第一列来检查 nginx 服务正在运行的用户:

ps aux | grep nginx 

(这些权限非常严格,但很安全)

find /usr/share/nginx/ -type f | xargs chmod 444
find /usr/share/nginx/ -type d | xargs chmod 555

相关内容