技术解析

大家使用 nginx, 一般网站放在哪个目录下?
0
2021-05-19 19:23:41
idczone

总感觉放在 /home/person/apps/exmple.com/ 不对。大带宽服务器

不给权限会 403, 给了吧,总感觉 /home 目录会不安全。

大家是放在哪个目录下的?


默认是 /var 吧 ?
我的做法是单独挂载一个分区,设置好用户和权限
/www

/var/www/*

标准的有 /srv 下,selinux 默认有这个规则

单独挂载一块磁盘
/data/www

我们这边的习惯是单独来个分区

开始是放在 /home/htdocs
后来放在了 /data/htdocs
现在放在了 /www/htdocs
不过,这 /home /data /www 在使用时都是挂载的数据盘.
www 用户组和权限

/srv

/usr/share/nginx/xxxx
Arch 用户

/home/wwwroot

/var/www

/var/www
然后新建个 www 用户,Nginx 和 PHP-FPM 都用这个用户运行,/var/www 全部赋予 www 读写权限

/home/wwwroot 给 www 权限
不过我也有一个问题,如果放多个网站,权限要怎么给?

/root/www

php 或者 html 放 /var/www,python 或 nodejs 放 /home/apps

/home/wwwroot
lnmp 一键安装包的设定

home 下面,安装系统的时候 home 有单独分区。

单独的盘挂在 /mnt/wwwroot

单独挂载一个盘,赋予 nginx 用户权限

/srv/www
srv 目录是一个单独的 LVM 盘挂上去的

把这个帖子收藏下来

給 WWWROOT WWW 的權限就好了,記得-R

/var/www
权限看具体情况,不可写的目录下文件设为 root 用户和 644,可写的设为 www-data 和 644。

我的 /home/wwwroot/
下面有 blog 等多個站文件夾,然後不同的域名指向不同的文件夾。

/var/www

/www

/data

/var/www/*

/home/wwwroot
/data/wwwroot

/data/websites
/data 为单独挂载的盘。

/公司名 /WEB 项目名 /dist

统一放 /data 目录
/data/www
/data/mysql
/data/backup

/var/www

/data/apps/app

通常放 /var/www/[app-name]
部署用户:root/deployer/ubuntu/vagrant/ec2-user 等
有读写权限
网站用户:www/www-data/nginx/apache 等
有 log 等目录的读写权限,其他部分只读

单独挂载一块磁盘到 /data,然后 /data/wwwroot 放站点,数据库等也放 /data

可以参考 lnmo.org 他做的防止跨目录之类的操作。
之前一直用,挺好。
后面转用 docker 了,就不关心这个了

/home/USERNAME/public_html 习惯了用 Webmin 创建,这样省去配置文件权限,数据库的麻烦, 自己再加上 Nginx+php-fpm 的即可。

/www

一般放 docker compose 里

不在 home 里面我可能会错手干掉了……

/home/website

权限应该可以这样用的
chmod 0711 /home/person/
chmod 0711 /home/person/apps/
chmod 0755 /home/person/apps/exmple.com/

/var/www/域名 /
然后整个 /var/www 的权限都给 Apache

是 Nginx,最近配公司 Apache 配多了写顺手了
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服