我最近开始管理自己的 Ubuntu 服务器和 Nginx 以用于 HTTP 目的,但我经常发现对哪些部分属于哪个服务器、端口、权限等感到困惑。
我确实知道 Ubuntu 是实际的服务器,而 Nginx 只是一个 HTTP 服务器,我不明白的是哪个服务器管理什么,例如,如果你想添加防火墙来限制对某些端口的访问或更改某些文件的文件权限,我总是问自己,这是 Nginx 还是 Ubuntu(我知道在我这里的两个例子中 Ubuntu 都是所有者)。
我知道这个问题很广泛,但我需要从某个地方开始问一些虚拟问题。
如果您要定义您必须知道的功能/主题以便开始理解这两种环境,那么这些功能是什么?
您如何描述每个服务器?
先学习 Ubuntu,然后学习 Nginx,还是同时学习两者?
你会从哪里开始学习?有没有好的教程?
谢谢
答案1
Ubuntu Server 是一个管理大量软件的操作系统。每个软件都有自己的功能,nginx 只是另一个可以安装在 ubuntu 服务器上的软件,它将添加发送回其请求的文件的功能。Ubuntu 将具有与 nginx 关联的端口(并且 nginx 将配置为监听这些端口),以便每次 Ubuntu 收到专门针对该端口的请求时,它都会对 nginx 说“嘿,那个 IP 对你说了那句话”,然后 nginx 会回应“好的,回答那个”。与 nginx 应该如何响应其配置端口上的请求无关的所有内容都由另一个软件管理(bind9 用于 DNS,iptables 用于防火墙限制,...)
您必须知道如何使用 SSH,以及如何使用命令安装/配置软件。另外,我想说,要设置 HTTP 服务器,端口是需要了解的一个非常重要的事情。
Ubuntu Server 就像您的操作系统,但没有所有“无用”的东西,这些东西只是为了方便用户使用。nginx 是一个服务器,它接受发往您的 ubuntu 服务器的请求,该请求通过与 nginx 关联的端口发送(HTTP(S) 通常为 80(443)),并返回请求中请求的文件。它可能会将请求重定向到其他软件,这些软件将处理该文件并将响应发送回 nginx,然后 nginx 会将其发送回您
我会先说 Ubuntu,然后再说 nginx,因为你需要安装/配置 Ubuntu,然后从 Ubuntu 配置/安装 nginx
有很多很好的教程。这个看起来不错,它将教你从头开始安装服务器,并安装邮件服务器(postfix/dovecot)、http 服务器(nginx/apache)和 DNS 服务器(bind)等服务。根据你的需求,它可能是一个过于完整的教程,但它也可能是了解这两种环境的好方法。此外,软件文档将是你遇到问题时最好的朋友,这是 nginx