NGINX创建符号链接后给出404错误

时间:2019-04-07 15:01:16

标签: laravel nginx server phpmyadmin symlink

我的网站作为网络服务器在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。

1 个答案:

答案 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