web 服务器位置 /home/usr 或 /var/www/

web 服务器位置 /home/usr 或 /var/www/

我是托管自己的网络服务器的新手。我很好奇,这可能是一个愚蠢的问题,但是哪个位置对于在网络上托管来说是实用且安全的?/home/user/ 还是 /var/www/html??因为我下载的软件包需要与我的论坛、博客位于同一位置。最佳使用位置是什么?因为我不确定 npm 软件包是否可以位于 www/html 中。请就此给我建议。

使用 nginx 1.6

答案1

我建议将它放在您方便的地方,可能在您的根目录中创建另一个目录。

这里唯一要注意的是您将为网站目录设置的文件系统权限。

答案2

总结

我使用 /srv 来存放 Web 服务器内容,使用 /var 来存放一般内容。

详细解释

对我来说,/var 意味着生成的内容。我将使用 /var 进行文本处理(在导入数据库或其他东西之前),但我总是使用 /srv 来处理服务器端组件(即 py、php)。20 年来,我从未使用过 /var/www/html。除了对我来说太隐蔽之外,它还很不诚实,因为我不提供 HTML 文件;我提供可能与 HTML 相关也可能不相关的生成内容。更不用说有些软件包会简单地对其实施征用权。避免使用它。

首先:请勿在 / 中创建另一个目录。这绝对是个疯狂的想法。千万不要这么做。/ 是神圣的。小心行事,因为你处在圣地上。

话虽如此,您提到了软件包;这通常是 /usr/local 的用途。您可能会发现这些东西无论如何都会安装在那里。/usr/share 是另一个受欢迎的地方。您可能别无选择;检查软件包是否已经有预定义的位置。

无论您做什么,只要确保您正确设置所有权(示例路径;如果需要,请使用 /var - 您必须自己做出决定):

sudo chown -R www-data:www-data /srv*

我建议你看看一些官方的东西:http://www.pathname.com/fhs/pub/fhs-2.3.html

不要相信那些说“这是为了这件事,那是为了那件事”的人,他们至少要用三段话来解释。界限很模糊。当你读到 /tmp 和 /var 时,你最初可能会觉得它们是同一件事,但你很快就会知道它们之间的真正区别(特别是如果你的系统根本不保留 /tmp)。

FHS 非常像语言,其中的单词没有太多定义(就像小学里学到的一样),但有语义范围(就像研究生里学到的一样)。需要花时间才能适应。如果您牢记语义范围,您将能够更顺利地在 Debian 和基于 RedHat 的系统之间进行转换。

相关内容