我的网站作为网络服务器在php-larvel和nginx上运行,并且根目录为/public
,一切正常,但是当我想保护phpmyadmin登录URL时,通过{{1 }}
/public_html :
网站关闭,显示404,而nginx显示此错误:
2019/04/07 07:09:02 [错误] 4163#4163:* 110的目录索引 “ /home/admin/web/example.com/public_html/”被禁止
nginx配置已设置为可在ln -s /usr/share/phpmyadmin/phpmyadmin-YOUR-SECRET-CODE
上使用。我不知道为什么它要尝试根据请求访问public_html。
答案 0 :(得分:0)
NGINX所运行的用户必须能够访问其尝试读取和/或写入的目录。在大多数情况下,NGINX要么以用户nginx的身份运行,要么以www-data的身份运行。
我们可以通过运行以下命令来检查/etc/nginx/nginx.conf中的用户指令:
grep用户/etc/nginx/nginx.conf 如果该命令的返回导致用户出局,那么我们可以使用chown更改您提到的目录的所有权。
chown -R用户:group / insert / path / here 因此,如果NGINX作为www-data运行:
chown -R www-data:www-data / insert / path / here 如果grep命令没有吐出用户,我们总是可以看到谁拥有NGINX目录,并且我们应该能够使用该用户。
只需运行:
ls -al / etc / nginx 并从输出中吸引用户。
请注意,如果您恰巧在NGINX上运行PHP-FPM,则情况会有所不同。在这种情况下,目录和文件应该由运行PHP-FPM进程的用户拥有。
如果您正在运行PHP-FPM,则可以cd进入主目录并检查池文件。如果您在设置中未进行任何修改,则PHP-FPM的默认用户始终为www-data,因此应该是拥有所有文件和目录的用户。
cd /etc/php/*/fpm/pool.d/ 然后:
nano www.conf