我在笔记本电脑上设置了nginx,php,mysql和phpMyAdmin(运行Arch Linux)。在我尝试在我的主目录中移动根目录之前,一切都很好。
以下是我使用的nginx配置文件:
server {
############### General Settings ###################
listen 80;
server_name localhost;
root /home/me/Development;
charset utf-8;
############## Document Root #####################
location / {
index index.php index.html index.htm;
autoindex on;
}
############## PHPMyAdmin #######################
#location /phpmyadmin {
# rewrite ^/* /phpMyAdmin last;
#}
############# Error redirection pages ################
error_page 404 NGINX/html/404.html;
error_page 500 502 503 504 NGINX/html/50x.html;
############## Proxy Settings for FastCGI PHP Server #####
location ~ \.php$ {
if ($request_uri ~* /phpmyadmin) {
root /usr/share/nginx/html;
}
try_files $uri =404;
#fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
}
location ~ /\.ht {
deny all;
}
}
所以我试图做这个"发展"文件夹 - 我将存储所有php项目的文件夹。我想将phpMyAdmin保留在其默认位置。 现在,如果我尝试在新位置访问phpMyAdmin或任何php文件,我会收到403 Forbidden - 错误消息:
2016/05/20 14:11:46 [crit] 5292#5292: *3 stat() "/home/me/Development/test.php" failed (13: Permission denied), client: 127.0.0.1, server: localhost, request: "GET /test.php HTTP/1.1", host: "localhost"
它应该对linux组和权限做些什么,但无法弄明白。
答案 0 :(得分:0)
如果用户是sudo,请使用ls -l
命令检查文件夹的所有者和模式,然后运行此sudo chown -R yourusername:yourusername Development
并运行sudo chmod -R 777 Development
答案 1 :(得分:0)
您正在使用HTTP来获取您的网页。现在HTTP返回错误代码'403',根据RFC 2616的意思是“服务器理解请求,但拒绝履行请求。授权无效,请求不应重复。”
此错误代码的两个可能原因
Authentication was provided, but the authenticated user is not permitted to perform the requested operation.
The operation is forbidden to all users. For example, requests for a directory listing return code 403 when directory listing has been disabled.
尝试检查您的文件权限。有解决方案。
答案 2 :(得分:0)
我有一个类似的问题:我也收到403错误代码,并尝试使用chmod 777配置文件的权限。结果仍然相同。
我的问题是我用sudo nginx
启动了Nginx Web服务器,而不是用我的用户和我的权利启动了它。只需使用nginx
而不使用sudo
来启动服务器,就可以了。
我希望这对某人有帮助。
答案 3 :(得分:0)
这是selinux,google将其禁用或将其配置为允许您需要执行的操作。 当您的权限设置正确并且日志显示“权限被拒绝”时,它就是selinux。