php - 尽管数据库和 CMS 已同步并设置了 DR 目录权限,但禁止 Nginx 应用程序进入

标签 php mysql wordpress ubuntu nginx

在带有 Bash 的 Ubuntu 16.04 上,我已经建立了 LEMP,但我无法从浏览器访问 WordPress 应用程序,尽管数据库数据符合要求(我记得),并且文档根应用程序目录具有正确的权限(见下文)。

Nginx 配置

WordPress 应用 wp-config.php

这是我在 wp-config.php 中唯一更改的部分:

define('DB_NAME', 'example.com');
define('DB_USER', 'example.com');
define('DB_PASSWORD', 'example.password');

我在测试前重置

chown -R www-data:www-data /var/www/html/
chmod -R a-x,a=rX,u+w /var/www/html/
systemctl restart nginx.service
/etc/init.d/php*-fpm restart

Nginx 日志

我检查了所有三个 Nginx 日志(-taccesserror)。前两个日志没有输出错误,但是 error 输出这个:

directory index of "/var/www/html/example.com/" is forbidden

我的问题

鉴于上述数据,为什么禁止进入?我想念什么?

注意事项:

  1. 此问题是 WordPress 应用程序独有的。非 HTTPS PHPmyadmin 应用不会发生这种情况。
  2. WordPress 应用的数据库用户和数据库名称彼此相同,也与应用的目录名称相同。

最佳答案

您的服务器根目录 Nginxapp.conf应该是:

root /var/www/html;

不是:

root /var/www/html/example.com/;

顺便说一句,这个设置已经在Nginx虚拟机中定义了default.conf ,在应用程序 conf 文件中再次重新定义它有点多余。

更新

根据您的评论,将根更改为 root/var/www/html; 后无法正常工作,我进一步检查了您的设置,并注意到您没有用于处理根的位置指令目录,尝试更改 virtual host setting 中的这一行来自:

try_files $uri $uri/ =404;

到:

location / {
    try_files $uri $uri/ /index.php?$args;
}

关于php - 尽管数据库和 CMS 已同步并设置了 DR 目录权限,但禁止 Nginx 应用程序进入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49128857/

相关文章:

php - 比较数组并搜索匹配值

php - Moodle 接受来自外部站点的登录

javascript - Yii2 Ajax 过滤器 onblur

php - Yii2:是否可以使用 JOIN 同时查询 2 个数据库?

mysql - 我需要 sql 查询来获取所需的格式

jquery - 使用wordpress按时间间隔和将鼠标悬停在链接上时更改图像

php - 如何在 php 数据库中存储访问者的 ip 地址?

java - 如何获取JPA中的日期

php - 按数字递增 PHP MySQL 查询的结果

javascript - WP 在主导航中添加额外的标题?