新CentOS7服务器的其他推荐步骤

来自菜鸟教程
跳转至:导航、​搜索

介绍

在为新服务器设置最低配置后,在大多数情况下强烈建议执行一些额外的步骤。 在本指南中,我们将通过处理一些推荐但可选的过程来继续配置我们的服务器。

先决条件和目标

在开始本指南之前,您应该阅读 CentOS 7 初始服务器设置 指南。 这是设置您的用户帐户、使用 sudo 配置权限提升以及锁定 SSH 以确保安全的必要条件。

完成上述指南后,您可以继续阅读本文。 在本指南中,我们将重点介绍配置一些可选但推荐的组件。 这将涉及使用防火墙和交换文件设置我们的系统,以及配置网络时间协议同步。

配置基本防火墙

防火墙为您的服务器提供了基本的安全级别。 这些应用程序负责拒绝访问您服务器上每个端口的流量,但您批准的端口/服务除外。 CentOS 附带一个名为 firewalld 的防火墙。 一个名为 firewall-cmd 的工具可用于配置您的防火墙策略。 我们的基本策略将是锁定所有我们没有充分理由保持开放的事物。 首先安装firewalld

sudo yum install firewalld

firewalld 服务能够在不断开当前连接的情况下进行修改,因此我们可以在创建异常之前将其打开:

sudo systemctl start firewalld

现在服务已启动并运行,我们可以使用 firewall-cmd 实用程序来获取和设置防火墙的策略信息。 firewalld 应用程序使用“区域”的概念来标记网络上其他主机的可信度。 这种标签使我们能够根据我们对网络的信任程度分配不同的规则。

在本指南中,我们将仅调整默认区域的策略。 当我们重新加载防火墙时,这将是应用于我们接口的区域。 我们应该首先将例外添加到我们的防火墙以获取已批准的服务。 其中最重要的是 SSH,因为我们需要保留对服务器的远程管理访问权限。

如果您有 not 修改了运行 SSH 守护程序的端口,您可以通过键入以下内容按名称启用该服务:

sudo firewall-cmd --permanent --add-service=ssh

如果您已 更改 服务器的 SSH 端口,则必须明确指定新端口。 您还需要包含服务使用的协议。 如果您的 SSH 服务器已经重新启动以使用新端口,请仅键入以下内容:

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-port=4444/tcp

这是保留对服务器的管理访问权限所需的最低要求。 如果您计划运行其他服务,则还需要为这些服务打开防火墙。

如果您计划运行传统的 HTTP Web 服务器,则需要启用 http 服务:

sudo firewall-cmd --permanent --add-service=http

如果您计划运行启用 SSL/TLS 的 Web 服务器,则还应允许 https 的流量:

sudo firewall-cmd --permanent --add-service=https

如果您需要启用 SMTP 电子邮件,您可以键入:

sudo firewall-cmd --permanent --add-service=smtp

要查看您可以按名称启用的任何其他服务,请键入:

sudo firewall-cmd --get-services

完成后,您可以通过键入以下内容来查看将要实现的异常列表:

sudo firewall-cmd --permanent --list-all

当您准备好实施更改时,重新加载防火墙:

sudo firewall-cmd --reload

如果在测试后一切正常,您应该确保防火墙将在启动时启动:

sudo systemctl enable firewalld

请记住,您必须为以后可能配置的任何其他服务显式打开防火墙(带有服务或端口)。

配置时区和网络时间协议同步

下一步是调整服务器的本地化设置并配置网络时间协议 (NTP) 同步。

第一步将确保您的服务器在正确的时区下运行。 第二步将配置您的系统,使其系统时钟与全球 NTP 服务器网络维护的标准时间同步。 这将有助于防止因时钟不同步而导致的一些不一致行为。

配置时区

我们的第一步是设置我们服务器的时区。 这是一个非常简单的过程,可以使用 timedatectl 命令完成:

首先,通过键入以下内容查看可用的时区:

sudo timedatectl list-timezones

这将为您提供服务器可用的时区列表。 当您找到适合您的服务器的区域/时区设置时,请键入以下内容进行设置:

sudo timedatectl set-timezone region/timezone

例如,要将其设置为美国东部时间,您可以键入:

sudo timedatectl set-timezone America/New_York

您的系统将更新为使用选定的时区。 您可以通过键入以下内容来确认:

sudo timedatectl

配置 NTP 同步

现在您已经设置了时区,我们应该配置 NTP。 这将使您的计算机与其他服务器保持同步,从而提高依赖于正确时间的操作的可预测性。

对于 NTP 同步,我们将使用一个名为 ntp 的服务,我们可以从 CentOS 的默认存储库安装它:

sudo yum install ntp

接下来,您需要为此会话启动服务。 我们还将启用该服务,以便在每次服务器启动时自动启动它:

sudo systemctl start ntpd
sudo systemctl enable ntpd

您的服务器现在将自动更正其系统时钟以与全球服务器保持一致。

创建交换文件

向 Linux 服务器添加“交换”允许系统将运行程序的不经常访问的信息从 RAM 移动到磁盘上的某个位置。 访问存储在磁盘上的数据比访问 RAM 慢得多,但是交换可用通常是应用程序保持活动和崩溃之间的区别。 如果您计划在系统上托管任何数据库,这将特别有用。

关于交换空间的最佳大小的建议因所咨询的来源而异。 通常,等于或两倍于系统上的 RAM 量是一个很好的起点。

使用 fallocate 实用程序分配要用于交换文件的空间。 例如,如果我们需要一个 4 GB 的文件,我们可以通过键入以下命令创建一个位于 /swapfile 的交换文件:

sudo fallocate -l 4G /swapfile

创建文件后,我们需要限制对该文件的访问,以便其他用户或进程无法看到其中写入的内容:

sudo chmod 600 /swapfile

我们现在有一个具有正确权限的文件。 要告诉我们的系统格式化文件以进行交换,我们可以输入:

sudo mkswap /swapfile

现在,通过键入以下命令告诉系统它可以使用交换文件:

sudo swapon /swapfile

我们的系统正在为此会话使用交换文件,但我们需要修改系统文件,以便我们的服务器在启动时自动执行此操作。 您可以通过键入以下内容来执行此操作:

sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

通过这个添加,您的系统应该在每次启动时自动使用您的交换文件。

然后去哪儿?

现在,您的 Linux 服务器有了一个非常不错的初始设置。 从这里,你可以去很多地方。 首先,您可能希望以当前配置对服务器进行快照。

拍摄当前配置的快照

如果您对自己的配置感到满意并希望将其用作未来安装的基础,您可以通过 DigitalOcean 控制面板为您的服务器拍摄快照。 从 2016 年 10 月开始,根据文件系统内的已用空间量,快照的费用为每月每 GB 0.05 美元。

为此,请从命令行关闭您的服务器。 虽然可以对正在运行的系统进行快照,但关闭电源可确保磁盘上的文件都处于一致状态:

sudo poweroff

现在,在 DigitalOcean 控制面板中,您可以通过访问服务器的“快照”选项卡来拍摄快照:

拍摄快照后,您可以在创建过程中通过从“我的快照”选项卡中选择快照来将该映像用作未来安装的基础:

其他资源和后续步骤

从这里开始,您的路径完全取决于您希望对服务器执行的操作。 下面的指南列表绝不是详尽的,但代表了用户接下来转向的一些更常见的配置:

结论

至此,您应该知道如何为新服务器配置坚实的基础。 希望您对接下来的步骤也有一个好主意。 随意探索该站点以获取可以在服务器上实施的更多想法。