LNMP下提示Filenotfound问题的解决方法-创新互联

前言

成都创新互联主营濂溪网站建设的网络公司,主营网站建设方案,APP应用开发,濂溪h5小程序设计搭建,濂溪网站营销推广欢迎濂溪等地区企业咨询

一般情况下每个虚拟主机就是一个网站,网站一般通过域名进行访问。最近在配置LNMP(Linux Nginx MariaDB Php-fpm)的时候遇到了1个问题:

访问网站首页始终提升File not found。

最终解决后总结一条就是: 网站根目录的权限问题。

起因

说说事情的起因。本人用的系统是Manjaro Linux系统。所以用一条命令装好LNMP环境: sudo pacman -S mariadb nginx php。刚开始,我把symfony项目放在我的家目录,也就是~/projects。然后我从symfony官方拷贝一份nginx的配置文件symfony.conf,放在了/etc/nginx/sites-available目录下,然后将root参数更改为/home/lrcn/projects/symfony/public,并更改了fastcgi_pass参数为unix:/run/php-fpm/php-fpm.sock。好,运行sudo nginx -t测试通过,然后重启nginx。

但问题来了,我在浏览器输入symfony.dev(添加1条hosts为127.0.0.1 symfony.dev)始终提示File not found。即使我将网站目录设置为777也不行!这个问题把我困扰了一天!真的是心都快爆炸了。最后我深呼吸一口气,然后思考这个问题。果然在找遍互联网资源后得到答案。

是这样解释的。PHP-FPM程序需要有一个用户和用户组来运行这个程序。这个用户和用户组对我的项目文件必须要有rx权限。有些目录还必须具有rwx权限,比如upload,log目录等等。Nginx程序同样需要一个用户,这个用户同样对于这个项目文件具有rx权限。

解决方法

由于我的nginx默认用户是http,所以我想把它改为nginx,并且把nginx加入www用户组。同时,我把php-fpm的用户改为www,用户组也改为www。

1)创建用户

sudo useradd -s /sbin/nologin www # 创建www用户,同时会自动创建www用户组
sudo gpasswd -a nginx www # 把nginx用户加入到www用户组

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:LNMP下提示Filenotfound问题的解决方法-创新互联
分享链接:http://ybzwz.com/article/hodcj.html