fancy2020
V2EX  ›  DevOps

在服务器上你们自己服务的代码一般放在什么目录下?

By fancy2020 at 2020 年 2 月 12 日 · 16726 次点击

我一般是放 /opt,也见过放在 /var 和 home 下的

96 条回复  •  2022-08-14 14:20:55 +08:00
ochatokori
   1
ochatokori  
   2020 年 2 月 12 日 via Android
根目录建文件夹(root 敢死队😁
lozzow
   2
lozzow  
   2020 年 2 月 12 日 via iPhone
我理解的 opt 有点类似于 win 上面的绿色软件的概念,所以,我也放 opt
kang77649119
   3
kang77649119  
   2020 年 2 月 12 日
opt
jinliming2
   4
jinliming2  
   2020 年 2 月 12 日 via iPhone
生产代码我习惯 /srv,编译安装的软件源码放 /usr/local/src
fancy2020
   5
fancy2020  
OP
   2020 年 2 月 12 日
另外还有就是你们的应用产生的 log 等数据是怎么放?在应用目录下还是放在另一个系统目录下比如 /var/opt 之类的?
lululau
   6
lululau  
   2020 年 2 月 12 日
~/apps
itechify
   7
itechify  
   2020 年 2 月 12 日 via Android
基本上啥都放在 /opt,必要时候软连接
SbloodyS
   8
SbloodyS  
   2020 年 2 月 12 日
/home/apps
tabris17
   9
tabris17  
   2020 年 2 月 12 日
/usr/local
fancy2020
   10
fancy2020  
OP
   2020 年 2 月 12 日
@SbloodyS 这样的是要建个叫 apps 的 user 吗?
simple2025
   11
simple2025  
   2020 年 2 月 12 日
为什么都喜欢 opt?
tulong
   12
tulong  
   2020 年 2 月 12 日
没人放 /var ?
suant0u
   13
suant0u  
   2020 年 2 月 12 日   ❤️ 1
团队里都是 root 下的 根目录 /data ...
理论上编译好的应该是在 /usr/local/bin 或软连接 /var/opt/xxx/bin
代码是在 /var/opt/xxx
配置是在 /etc/xxx/xxx.config
Log 放 /var/opt/xxx/log
如果特定挂载盘放 /mnt/volume 挂载???
基本上是扒 Gitlab 的路径.
monsterxx03
   14
monsterxx03  
   2020 年 2 月 12 日 via iPhone   ❤️ 3
/tmp (狗头
dearroy
   15
dearroy  
   2020 年 2 月 12 日
习惯性地放在 /home/wwwroot
fancy2020
   16
fancy2020  
OP
   2020 年 2 月 12 日
@monsterxx03 /tmp 不是重启会删除吗
mayx
   17
mayx  
   2020 年 2 月 12 日 via Android   ❤️ 1
/usr/share
VANHOR
   18
VANHOR  
   2020 年 2 月 12 日
/home/appName/
xingheng
   19
xingheng  
   2020 年 2 月 12 日
~/.trash/ # :)
fancy2020
   20
fancy2020  
OP
   2020 年 2 月 12 日
@xingheng 你牛
redeemer1001
   21
redeemer1001  
   2020 年 2 月 12 日
d:/webapp 😂
MrUser
   22
MrUser  
   2020 年 2 月 12 日
C:\Program Files\项目\No.1_云管理系统\
fancy2020
   23
fancy2020  
OP
   2020 年 2 月 12 日
@redeemer1001 @MrUser Windows 大佬
DonaidTrump
   24
DonaidTrump  
   2020 年 2 月 12 日
/opt , 看来放 /opt 的不少啊
miao666
   25
miao666  
   2020 年 2 月 12 日 via Android
/home/username
SJ2050cn
   26
SJ2050cn  
   2020 年 2 月 12 日 via Android
自建了一个目录 /www
akira
   27
akira  
   2020 年 2 月 12 日
/data
LokiSharp
   28
LokiSharp  
   2020 年 2 月 13 日 via Android
/opt
zzen
   29
zzen  
   2020 年 2 月 13 日
/opt
herozzm
   30
herozzm  
   2020 年 2 月 13 日 via Android
@akira #27 我们一样
msg7086
   31
msg7086  
   2020 年 2 月 13 日 via Android
网站都放 /var/www。
软件的话都是直接装进系统里,让包管理来管理文件。
baiduyixia
   32
baiduyixia  
   2020 年 2 月 13 日
/etc
hanhuoer
   33
hanhuoer  
   2020 年 2 月 13 日
/root/apps
tottea
   34
tottea  
   2020 年 2 月 13 日
/app 或者 /root/app
nvkou
   35
nvkou  
   2020 年 2 月 13 日 via Android
/data
万一哪天这个目录要挂载出去也不用改配置文件
saluton
   36
saluton  
   2020 年 2 月 13 日
我曾经放过 /dev/shm,捂脸跑(当然是有脚本重启后自动复制过去
现在放 /home 或者 /root
airyland
   37
airyland  
   2020 年 2 月 13 日 via iPhone
/data/websites
ericls
   38
ericls  
   2020 年 2 月 13 日 via iPhone
Docker 下
yuzo555
   39
yuzo555  
   2020 年 2 月 13 日
C:\inetpub\wwwroot
SharkIng
   40
SharkIng  
   2020 年 2 月 13 日
`/opt/`
然后很多其他地方都会是 Symlink 到 /opt, 例如 配置在 /etc 下但其实是 symlink 到 /opt 的
bitdepth
   41
bitdepth  
   2020 年 2 月 13 日 via iPad
要根據 SELinux 規則放置道對應 service 下資料夾
jinyu121
   42
jinyu121  
   2020 年 2 月 13 日 via iPhone
开发代码:~/Workspace
别人的软件:~/ProgramFiles
只是自己用的东西:~/.local
自己编出来的二进制:/opt
ipeony
   43
ipeony  
   2020 年 2 月 13 日
/opt +1
Livid
   44
Livid  
MOD
PRO
   2020 年 2 月 13 日
如果部署过程都容器化了,那么考虑的就是容器放哪了。
chenshun00
   45
chenshun00  
   2020 年 2 月 13 日
新目录 /data/
yulihao
   46
yulihao  
   2020 年 2 月 13 日
同 /root
destec
   47
destec  
   2020 年 2 月 13 日
/srv + 1
gowinder
   48
gowinder  
   2020 年 2 月 13 日 via iPhone
/root
af8991
   49
af8991  
   2020 年 2 月 13 日
根目录 /data/
1nakaELYBbsXbZxY
   50
1nakaELYBbsXbZxY  
   2020 年 2 月 13 日
/home
/opt
mouyase
   51
mouyase  
   2020 年 2 月 13 日 via Android
opt
morphyhu
   52
morphyhu  
   2020 年 2 月 13 日
/data/subdir
zivyou
   53
zivyou  
   2020 年 2 月 13 日
这个不是取决于做什么开发吗?
我们的网站是放在了 /opt/公司名 /部门名 下面
Felldeadbird
   54
Felldeadbird  
   2020 年 2 月 13 日
web 我一般是放 /var/www
软件类放 /opt。因为以前装 chrome 时,他默认安装在 /opt,所以我就想,大厂这么安装,该目录应该是专门用来放软件的。
CantSee
   55
CantSee  
   2020 年 2 月 13 日
/home
nevergreen
   56
nevergreen  
   2020 年 2 月 13 日
/data
las917vki
   57
las917vki  
   2020 年 2 月 13 日
自己都是随便放的,一般在 root 下自己搞一个目录。
以前干过的公司里面有这样的路径:
/home/cdisk/Program Files/
abcbuzhiming
   58
abcbuzhiming  
   2020 年 2 月 13 日
/opt 目录现在是 Linux 官方推荐的用于放置对外提供服务的程序和文件的地方
ZXCDFGTYU
   59
ZXCDFGTYU  
   2020 年 2 月 13 日
/apps/www/项目名称 源代码
/apps/php7x/ PHP 目录,x 为小版本号
/apps/nginx/ nginx 目录
/apps/mysql/ mysql 目录 data/目录放 mysql 数据,如果有 ssd 硬盘则 data/目录挂载 ssd 硬盘
/apps/redis/ redis 目录
xiaoyouqiang
   60
xiaoyouqiang  
   2020 年 2 月 13 日
/home/www
feelinglucky
   61
feelinglucky  
   2020 年 2 月 13 日
+1 容器化以后其实并不是很在意程序放哪里了,就关心数据这块的管理

一般数据我习惯扔 /opt/data 然后定期转走
avenger
   62
avenger  
   2020 年 2 月 13 日 via iPhone
/home/www
locoz
   63
locoz  
   2020 年 2 月 13 日 via Android
/home
hanai
   64
hanai  
   2020 年 2 月 13 日
建个用户,~/code, ~/src, ~/app
Fris
   65
Fris  
   2020 年 2 月 13 日 via iPhone
/srv
FanError
   66
FanError  
   2020 年 2 月 13 日
/srv + 1
qianxun740
   67
qianxun740  
   2020 年 2 月 13 日
/opt/soft
/opt/pakg
dyy1997
   68
dyy1997  
   2020 年 2 月 13 日
~/.local/opt
szq8014
   69
szq8014  
   2020 年 2 月 13 日
/var/www
/data
Qzier
   70
Qzier  
   2020 年 2 月 13 日 via iPhone
根据 Linux 的文件层级设计要求,应该放到 /srv,这是 services 的缩写
jin7
   71
jin7  
   2020 年 2 月 13 日
/home/username
dandankele
   72
dandankele  
   2020 年 2 月 13 日
/home/www
Fizzyi
   73
Fizzyi  
   2020 年 2 月 13 日
/home/ 建了一个文件夹
h503mc
   74
h503mc  
   2020 年 2 月 13 日
/root/code/app
OldManPushCar
   75
OldManPushCar  
   2020 年 2 月 13 日
/usr/local
ganymedenil590
   76
ganymedenil590  
   2020 年 2 月 13 日 via Android
/data/www
WhatIf
   77
WhatIf  
   2020 年 2 月 13 日
单磁盘 就扔在 /opt 下面 有额外挂载的盘则挂载到 /data 目录, 然后应用包括中间件包括代码都扔在这个下面,日志跟中间件放一起, 所以这种情况下也是 /data 里面
122006
   78
122006  
   2020 年 2 月 13 日
/app +1
StJames
   79
StJames  
   2020 年 2 月 13 日
/home
KasuganoSoras
   80
KasuganoSoras  
   2020 年 2 月 13 日
网站:/data/wwwroot/
日志:/data/wwwlogs/
数据:/data/mariadb/
OneinStack 默认安装目录
lc7029
   81
lc7029  
   2020 年 2 月 13 日
自己是 /data,然后里面建各种目录
公司 /apps,/logs 等按规定来
xyqhkr
   82
xyqhkr  
   2020 年 2 月 13 日
项目目录 /www
数据目录 /data
日志目录 /data/log
my3157
   83
my3157  
   2020 年 2 月 13 日
/company-name/
├── bin
├── crash
├── data
├── etc
├── lib
├── log
├── run
└── tmp
zyq2280539
   84
zyq2280539  
   2020 年 2 月 13 日
opt 或者 home 下
linvaux
   85
linvaux  
   2020 年 2 月 13 日
/opt 啊,
TJT
   86
TJT  
   2020 年 2 月 13 日
都容器化了,放 /app 下
lookas2001
   87
lookas2001  
   2020 年 2 月 13 日
/opt
这个目录就是用来干这个用的
x66
   88
x66  
   2020 年 2 月 13 日
/webapp 单独挂载了一块云硬盘
Revenant
   89
Revenant  
   2020 年 2 月 13 日
鸟哥的 Linux 私房菜是这么解释的:

/opt: 這個是給第三方協力軟體放置的目錄。什麼是第三方協力軟體啊? 舉例來說,KDE 這個桌面管理系統是一個獨立的計畫,不過他可以安裝到 Linux 系統中,因此 KDE 的軟體就建議放置到此目錄下了。 另外,如果妳想要自行安裝額外的軟體(非原本的 distribution 提供的),那麼也能夠將你的軟體安裝到這裡來。 不過,以前的 Linux 系統中,我們還是習慣放置在 /usr/local 目錄下呢!

/usr/local/: 系統管理員在本機自行安裝自己下載的軟體(非 distribution 預設提供者),建議安裝到此目錄, 這樣會比較便於管理。舉例來說,你的 distribution 提供的軟體較舊,你想安裝較新的軟體但又不想移除舊版, 此時你可以將新版軟體安裝於 /usr/local/目錄下,可與原先的舊版軟體有分別啦! 你可以自行到 /usr/local 去看看,該目錄下也是具有 bin, etc, include, lib...的次目錄喔!

/srv: srv 可以視為『 service 』的縮寫,是一些網路服務啟動之後,這些服務所需要取用的資料目錄。 常見的服務例如 WWW, FTP 等等。舉例來說,WWW 伺服器需要的網頁資料就可以放置在 /srv/www/裡面。 不過,系統的服務資料如果尚未要提供給網際網路任何人瀏覽的話,預設還是建議放置到 /var/lib 底下即可。
mezhangkai
   90
mezhangkai  
   2020 年 2 月 13 日
/opt
aloyuu
   91
aloyuu  
   2020 年 2 月 13 日
usr
azanone
   92
azanone  
   2020 年 2 月 13 日
var/www/wwwroot 的有吗?
怀疑是社会学测验
caijihui11
   93
caijihui11  
   2020 年 2 月 13 日
起个名称,wwwroot / apps / data 都可以
evam
   94
evam  
   2020 年 2 月 13 日
/data/code
realpg
   95
realpg  
   2020 年 2 月 14 日
/usr/local
/usr/sbin
/usr/lib

java 类可能会 /opt/
redsun368573607
   96
redsun368573607  
   2022 年 8 月 14 日
/opt
© 2026 V2EX · 200ms · 3.9.8.5