V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
zealinux
V2EX  ›  NGINX

大家使用 nginx, 一般网站放在哪个目录下?

  •  
  •   zealinux · 2018-07-18 16:27:13 +08:00 · 19196 次点击
    这是一个创建于 2306 天前的主题,其中的信息可能已经有所发展或是发生改变。

    总感觉放在 /home/person/apps/exmple.com/ 不对。

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

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

    71 条回复    2018-11-08 09:44:53 +08:00
    openbsd
        1
    openbsd  
       2018-07-18 16:31:29 +08:00
    默认是 /var 吧 ?
    我的做法是单独挂载一个分区,设置好用户和权限
    /www
    DavidNineRoc
        2
    DavidNineRoc  
       2018-07-18 16:32:06 +08:00
    /var/www/*
    liuxu
        3
    liuxu  
       2018-07-18 16:43:55 +08:00
    标准的有 /srv 下,selinux 默认有这个规则
    d0m2o08
        4
    d0m2o08  
       2018-07-18 16:49:17 +08:00
    单独挂载一块磁盘
    /data/www
    mringg
        5
    mringg  
       2018-07-18 16:49:39 +08:00 via iPhone
    我们这边的习惯是单独来个分区
    imdong
        6
    imdong  
       2018-07-18 16:53:43 +08:00
    开始是放在 /home/htdocs
    后来放在了 /data/htdocs
    现在放在了 /www/htdocs
    不过,这 /home /data /www 在使用时都是挂载的数据盘.
    www 用户组和权限
    roychan
        7
    roychan  
       2018-07-18 16:55:08 +08:00
    /srv
    RickyHao
        8
    RickyHao  
       2018-07-18 16:55:15 +08:00 via Android   ❤️ 2
    /usr/share/nginx/xxxx
    Arch 用户
    beaconfire
        9
    beaconfire  
       2018-07-18 16:56:55 +08:00
    /home/wwwroot
    boris1993
        10
    boris1993  
       2018-07-18 17:00:53 +08:00 via Android
    /var/www
    zocome
        11
    zocome  
       2018-07-18 17:06:09 +08:00
    /var/www

    然后新建个 www 用户,Nginx 和 PHP-FPM 都用这个用户运行,/var/www 全部赋予 www 读写权限
    shench
        12
    shench  
       2018-07-18 17:08:28 +08:00
    /home/wwwroot 给 www 权限
    不过我也有一个问题,如果放多个网站,权限要怎么给?
    frozenway
        13
    frozenway  
       2018-07-18 17:11:58 +08:00
    /root/www
    Qzier
        14
    Qzier  
       2018-07-18 17:15:52 +08:00 via iPad
    php 或者 html 放 /var/www,python 或 nodejs 放 /home/apps
    keepeye
        15
    keepeye  
       2018-07-18 17:19:09 +08:00
    /home/wwwroot
    lnmp 一键安装包的设定
    zarte
        16
    zarte  
       2018-07-18 17:20:32 +08:00
    home 下面,安装系统的时候 home 有单独分区。
    Love4Taylor
        17
    Love4Taylor  
       2018-07-18 17:27:17 +08:00 via Android
    单独的盘挂在 /mnt/wwwroot
    qilishasha
        18
    qilishasha  
       2018-07-18 17:31:13 +08:00
    单独挂载一个盘,赋予 nginx 用户权限
    Keyes
        19
    Keyes  
       2018-07-18 17:37:05 +08:00
    /srv/www

    srv 目录是一个单独的 LVM 盘挂上去的
    phithon
        20
    phithon  
       2018-07-18 17:38:19 +08:00   ❤️ 3
    把这个帖子收藏下来
    maolog
        21
    maolog  
       2018-07-18 17:39:14 +08:00
    @shench 給 WWWROOT WWW 的權限就好了,記得-R
    ysc3839
        22
    ysc3839  
       2018-07-18 17:39:40 +08:00 via Android
    /var/www
    权限看具体情况,不可写的目录下文件设为 root 用户和 644,可写的设为 www-data 和 644。
    maolog
        23
    maolog  
       2018-07-18 17:40:30 +08:00
    我的 /home/wwwroot/
    下面有 blog 等多個站文件夾,然後不同的域名指向不同的文件夾。
    itbeihe
        24
    itbeihe  
       2018-07-18 17:40:38 +08:00
    /var/www
    Tink
        25
    Tink  
       2018-07-18 17:45:31 +08:00 via iPhone
    /www
    est
        26
    est  
       2018-07-18 17:46:46 +08:00
    /data
    tanranran
        27
    tanranran  
       2018-07-18 17:48:50 +08:00
    /var/www/*
    R18
        28
    R18  
       2018-07-18 18:00:49 +08:00
    /home/wwwroot
    /data/wwwroot
    airyland
        29
    airyland  
       2018-07-18 18:23:49 +08:00
    /data/websites
    /data 为单独挂载的盘。
    wunonglin
        30
    wunonglin  
       2018-07-18 18:28:18 +08:00
    /公司名 /WEB 项目名 /dist
    cdwyd
        31
    cdwyd  
       2018-07-18 18:29:21 +08:00
    统一放 /data 目录
    /data/www
    /data/mysql
    /data/backup
    oonnnoo
        32
    oonnnoo  
       2018-07-18 18:45:42 +08:00 via Android
    /var/www
    torbrowserbridge
        33
    torbrowserbridge  
       2018-07-18 18:50:18 +08:00 via Android
    /data/apps/app
    cxbig
        34
    cxbig  
       2018-07-18 20:31:39 +08:00
    通常放 /var/www/[app-name]

    部署用户:root/deployer/ubuntu/vagrant/ec2-user 等
    有读写权限

    网站用户:www/www-data/nginx/apache 等
    有 log 等目录的读写权限,其他部分只读
    xiaoz
        35
    xiaoz  
       2018-07-18 20:36:18 +08:00
    单独挂载一块磁盘到 /data,然后 /data/wwwroot 放站点,数据库等也放 /data
    singer
        36
    singer  
       2018-07-18 20:42:20 +08:00 via iPhone
    可以参考 lnmo.org 他做的防止跨目录之类的操作。
    之前一直用,挺好。
    后面转用 docker 了,就不关心这个了
    ddd2500
        37
    ddd2500  
       2018-07-18 21:18:11 +08:00
    /home/USERNAME/public_html 习惯了用 Webmin 创建,这样省去配置文件权限,数据库的麻烦, 自己再加上 Nginx+php-fpm 的即可。
    prolic
        38
    prolic  
       2018-07-18 21:19:46 +08:00 via Android
    /www
    huntzhan
        39
    huntzhan  
       2018-07-18 21:24:09 +08:00
    一般放 docker compose 里
    loading
        40
    loading  
       2018-07-18 21:26:22 +08:00 via iPhone
    不在 home 里面我可能会错手干掉了……
    LeungJZ
        41
    LeungJZ  
       2018-07-18 21:36:33 +08:00 via Android
    /home/website
    billlee
        42
    billlee  
       2018-07-18 21:46:20 +08:00
    权限应该可以这样用的

    chmod 0711 /home/person/
    chmod 0711 /home/person/apps/
    chmod 0755 /home/person/apps/exmple.com/
    zjyl1994
        43
    zjyl1994  
       2018-07-18 21:51:07 +08:00 via Android
    /var/www/域名 /
    然后整个 /var/www 的权限都给 Apache
    zjyl1994
        44
    zjyl1994  
       2018-07-18 21:51:56 +08:00 via Android
    @zjyl1994 是 Nginx,最近配公司 Apache 配多了写顺手了😂
    Track3
        45
    Track3  
       2018-07-18 22:01:17 +08:00 via Android   ❤️ 2
    /usr/share/nginx/html,用的 Nginx 官方 apt 源。
    PHPJit
        46
    PHPJit  
       2018-07-18 22:03:50 +08:00 via Android
    /data/website
    chengxiao
        47
    chengxiao  
       2018-07-18 22:54:26 +08:00
    > /www/xxx.com
    frittle
        48
    frittle  
       2018-07-18 22:59:45 +08:00
    /var/www
    wvc
        49
    wvc  
       2018-07-18 23:22:43 +08:00
    默认的 HTML 目录下
    IvanLi127
        50
    IvanLi127  
       2018-07-19 01:49:33 +08:00 via Android
    默认在哪就在哪
    msg7086
        51
    msg7086  
       2018-07-19 01:58:38 +08:00
    一般按照 Debian 惯例,放在 /var/www/ 下面。
    如果是单用户主机,就是 /var/www/example.com/ ,权限给 www-data。
    如果是多用户,就是 /var/www/user/example.com/ ,权限给 user,然后把 www-data 用户加入 user 组,获得读取权限。具体的应用程序进程也使用 user 账号运行,比如 PHP-FPM 可以建立一个新 Pool,使用 user 账号运行。
    t6attack
        52
    t6attack  
       2018-07-19 02:12:40 +08:00
    自己建个专门的目录 /web/xxx.com/ 这样
    /web/xxx.com/目录属主改为 nobody:nobody,php-fpm 也设置为 nobody 运行。
    Showfom
        53
    Showfom  
       2018-07-19 02:28:10 +08:00
    /var/www
    /srv
    /home/xxx

    其实都可以,看个人意愿
    lepig
        54
    lepig  
       2018-07-19 08:48:39 +08:00
    @singer 请教下。如果 php 程序(laravel)跑在 docker 里,那么如果要执行计划任务。每次构建容器就会销毁重建。 那么正在执行的计划任务不就断了吗? 请教下 docker 环境下 如何很好的部署计划任务
    justfindu
        55
    justfindu  
       2018-07-19 08:49:54 +08:00
    专门的 /data 下.
    tan90
        56
    tan90  
       2018-07-19 09:05:37 +08:00
    /www/XingYunTools/nginx -> nginx-1.15.0
    自己写的 web 端控制台
    singer
        57
    singer  
       2018-07-19 09:25:30 +08:00 via iPhone
    @lepig corntab 定时拉起计划任务。
    镜像要在放在远程仓库,每次部署从远程仓库拉镜像。定时任务在构建的时候就放到 corntab 里面,corntab 拉起脚本。
    在启动容器的的时候可以设置环境变量,那个脚本检测是否有这个变量值,再确定是否需要跑定时任务。
    theqwang
        58
    theqwang  
       2018-07-19 09:48:04 +08:00
    /www
    caola
        59
    caola  
       2018-07-19 10:17:43 +08:00
    放在哪个目录下并不是太重要,主要看个人喜欢了,还有就是权限问题
    RIcter
        60
    RIcter  
       2018-07-19 10:49:09 +08:00 via Android   ❤️ 1
    你们给黑客提供了真素材
    8023
        61
    8023  
       2018-07-19 10:52:21 +08:00 via Android
    一开始用的 oneinstack 默认放在 /data/wwwroot 下,之后也就一直用这个路径了
    mosliu
        62
    mosliu  
       2018-07-19 11:13:38 +08:00
    /var/www
    dorothyREN
        63
    dorothyREN  
       2018-07-19 11:17:44 +08:00
    /data/web || /data/www || /var/web || /var/www ||/usr/share/web || /usr/share/www
    lfzyx
        64
    lfzyx  
       2018-07-19 11:48:02 +08:00
    按照标准来,应该放在 /usr/share/nginx/ 目录下面
    bufpay
        65
    bufpay  
       2018-07-19 12:42:05 +08:00
    每个站所在的文件夹单独给权限就好了
    techart
        66
    techart  
       2018-07-19 12:53:17 +08:00
    /data/www/wwwroot/
    tianwm
        67
    tianwm  
       2018-07-19 15:17:28 +08:00
    看自己喜欢吧.
    我一般喜欢
    /home/www/exmple.com/
    wl827071933
        68
    wl827071933  
       2018-07-19 17:52:49 +08:00
    根本不怂,就放在 /下
    ryd994
        69
    ryd994  
       2018-07-20 00:59:18 +08:00 via Android
    按 Unix 规范应该是 srv 下 hostname 目录
    srv 就是用来放 host specific,提供对外服务的数据
    var 主要是本地软件的一些运行时数据
    yzmm
        70
    yzmm  
       2018-07-20 08:49:49 +08:00
    /data/wwwroot/xxx.com
    zhouyut001
        71
    zhouyut001  
       2018-11-08 09:44:53 +08:00
    默認的 var/www,用戶也是默認的 www-data
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2626 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:39 · PVG 13:39 · LAX 21:39 · JFK 00:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.