Answers:
没有“最佳”目录。虽然人们可能会认为这个问题是主观的,或者是文件的实际位置并不重要,他们说得对后者,也都在哪里放什么在类Unix系统标准化的建议。
该文件系统层次标准定义了这一点,你提供以下功能:
/var
–用于放置在正常操作期间会发生变化的数据(例如日志等/var/www
)的位置是放置Apache的Web内容的默认目录,但是它的使用完全没有标准化,而仅仅是您放置它的“常用”位置,因为人们不要经常更改默认设置。
/srv
–该目录应包含系统提供的数据。通常这是您想要的地方。FHS解释:
指定此文件的主要目的是,使用户可以找到特定服务的数据文件的位置,并可以合理地放置需要一棵树用于只读数据,可写数据和脚本(例如cgi脚本)的服务。仅特定用户感兴趣的数据应放在该用户的主目录中。(...)
一种用于构造数据的方法
/srv
是通过协议,例如。ftp
,rsync
,www
,和cvs
因此,只需创建一个/srv/www
目录并使用它。您可以为可能要与计算机一起使用的每个虚拟主机创建子文件夹。
/home
包含实际上只应属于一个用户的文件。例如,Apache允许userdirs,因此您可以通过访问用户的Web文件http://example.com/~username
,这些文件是从public_html
用户家目录中提供的。
如果您使用多人共享的服务器,并且希望允许所有人托管自己的脚本,那么他们应该去那里。请记住,使目录只能由它们所属的用户写入。
从本质上讲/srv/www
,/var/www
目录应该是您可能希望托管的任何Web项目的子目录。然后,您可以在这些目录上定义不同的权限,以允许某些用户或用户组向其写入。如果您一次有一个用户的项目,请使用/home
。
http://example.com/~username
通常不指向/home/username/
,而是要/home/username/public_html/
。
/var/www
现在是时候改变了!
www
听起来对我来说更像是一个子域。
如果您的系统上的Web文件仅由linux系统上的一个用户访问。使用用户的主目录(~/
)。
如果您的系统上的Web文件将被Linux系统上的MULTIPLE用户访问。使用/srv/
。
这正是http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM状态。
这是报价:
/ srv包含此系统提供的特定于站点的数据。
指定它的主要目的是使用户可以找到特定服务的数据文件的位置,并可以合理地放置需要单个树的只读数据,可写数据和脚本(例如cgi脚本)的服务。仅特定用户感兴趣的数据应放在该用户的主目录中。
如http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM中所述
~/http/your-website-directory/
或(https协议),然后:~/https/your-website-directory/
~/your-website-directory/
/srv/http/your-website-directory/
或(https协议),然后:/srv/https/your-website-directory/
/srv/your-website-directory/
嗯,为什么不www?这是Apache时代的遗产。www未指定使用哪种协议。直到今天,Debian仍使用此功能,例如Arch Linux使用/ srv / http。
/var/www
并通常将其放在另一个驱动器上(只是偏爱)。