前言
一般情况下每个虚拟主机就是一个网站,网站一般通过域名进行访问。最近在配置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用户组
2)修改配置文件
由于我这里只管文件权限相关的配置,其余配置自己还需要调整
# grep "^[^;]" /etc/php/php-fpm.d/www.conf # 修改的时候只管修改user, group, listen.owner, listen.group,其余的都是默认配置 [www] user = www group = www listen = /run/php-fpm/php-fpm.sock listen.owner = www listen.group = www listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 # /etc/nginx/nginx.conf # 在第一行写入,其余的不变 user nginx www;
3)修改项目文件权限
这一步我发现了一个很诡异的问题,如果我将网站目录放到lrcn用户的家目录的话,www用户始终无法访问这个项目文件,即使我把~/projects设置为了chown www:www ~/projects -R,但都不管用,运行测试命令sudo -u www stat ~/projects/symfony依旧提示没有权限。我想,应该是/home/lrcn目录的拥有者为lrcn,即使我将它子目录projects改为了www:www, 也是不能访问的。这合情合理。所以,我又将项目目录放在了/var/www目录下,然后运行sudo -u www stat /var/www, 得到了正常的结果:
[lrcn@lrcn-pc nginx]$ sudo -u www stat /var/www [sudo] lrcn 的密码: 文件:/var/www 大小:4096 块:8 IO 块:4096 目录 设备:801h/2049d Inode:3671064 硬链接:3 权限:(2775/drwxrwsr-x) Uid:( 1000/ lrcn) Gid:( 1001/ lrcn) 最近访问:2017-12-10 00:40:04.274947995 +0800 最近更改:2017-12-10 00:41:34.772321160 +0800 最近改动:2017-12-10 10:51:15.811999323 +0800 创建时间:-
如果得到以上信息,证明www用户是可以访问网站根目录的,然后将项目symfony移动到/var/www目录下就可以了。
[lrcn@lrcn-pc var]$ tree www -L 2 www └── symfony ├── bin ├── composer.json ├── composer.lock ├── config ├── public ├── src ├── symfony.lock ├── var └── vendor
好,修改目录权限。我将/var/www目录修改为了lrcn:www,并且在~/projcects目录下创建了一个指向/var/www/symfony的软链接,这样我就可以在家目录操作项目文件。问题是为什么要把/var/www目录的拥有者修改为lrcn,因为这样一来,我可以用lrcn用户来随便操作这个项目文件,lrcn用户是我登录linxu系统的用户,在开发项目,平时使用的时候很方便。
sudo chown lrcn:www /var/www -R # 更改项目的权限 sudo ln -s /var/www/symfony ~/projects/symfony # 在家目录访问项目 sudo chmod 775 /var/www -R # 让www用户可以操作文件 sudo chmod g+s /var/www -R # 以后lrcn用户创建的文件或文件夹都继承了www用户组,而不是lrcn用户组,这个命令很重要
更改后的效果:
[lrcn@lrcn-pc symfony]$ ls -al 总用量 108 drwxrwsr-x 10 lrcn www 4096 12月 10 01:14 . drwxrwsr-x 3 lrcn www 4096 12月 10 00:41 .. drwxrwsr-x 2 lrcn www 4096 12月 10 00:41 bin -rwxrwxr-x 1 lrcn www 1146 12月 10 00:41 composer.json -rwxrwxr-x 1 lrcn www 48074 12月 10 00:41 composer.lock drwxrwsr-x 3 lrcn www 4096 12月 10 00:41 config -rwxrwxr-x 1 lrcn www 495 12月 10 00:41 .env -rwxrwxr-x 1 lrcn www 495 12月 10 00:41 .env.dist drwxrwsr-x 8 lrcn www 4096 12月 10 00:41 .git -rwxrwxr-x 1 lrcn www 106 12月 10 00:41 .gitignore drwxrwsr-x 4 lrcn www 4096 12月 10 00:41 .idea drwxrwsr-x 2 lrcn www 4096 12月 10 10:42 public drwxrwsr-x 3 lrcn www 4096 12月 10 00:41 src -rwxrwxr-x 1 lrcn www 1889 12月 10 00:41 symfony.lock drwxrwsr-x 4 lrcn www 4096 12月 10 00:41 var drwxrwsr-x 5 lrcn www 4096 12月 10 00:41 vendor
好了,到这一步基本上解决了网站提示File not found 的问题了。
然后访问网站首页
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】
- 谭咏麟.2022-倾·听【环球】【WAV+CUE】
- 4complete《丛生》[320K/MP3][85.26MB]
- 4complete《丛生》[FLAC/分轨][218.01MB]
- 羽泉《给未来的你&天黑天亮》[WAV+CUE][968M]
- 庄心妍《我也许在等候》[低速原抓WAV+CUE]
- 王雅洁《小调歌后2》[原抓WAV+CUE]
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】