新 CentOS 7 服务器的其他建议步骤

简介

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

前提和目标

在开始阅读本指南之前,您应该先阅读CentOS 7初始服务器setup指南》。这是为了设置您的用户帐户、使用sudo配置权限提升以及出于安全考虑而锁定SSH所必需的。

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

配置基础防火墙

防火墙为您的服务器提供基本的安全级别。 这些应用程序负责拒绝流量到您的服务器上的每个端口,您已批准的端口/服务除外。 CentOS有一个叫做firewalld的防火墙。 一个叫做firewall-cmd的工具可以用来配置你的防火墙策略。 我们的基本策略是封锁一切我们没有充分理由开放的东西。首先安装firewalld:

1sudo yum install firewalld

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

1sudo systemctl start firewalld

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

在本指南中,我们将只调整默认区域的策略。 当我们重新加载防火墙时,这将是应用于我们接口的区域。 我们应该从为批准的服务添加防火墙例外开始。 其中最重要的是SSH,因为我们需要保持对服务器的远程管理访问。

如果您尚未**修改运行SSH守护程序的端口,则可以通过键入以下命令按名称启用该服务:

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

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

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

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

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

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

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

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

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

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

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

1sudo firewall-cmd --get-services

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

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

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

1sudo firewall-cmd --reload

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

1sudo systemctl enable firewalld

请记住,您必须显式地打开防火墙(使用服务或端口),以便稍后配置任何其他服务。

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

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

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

配置时区

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

首先,通过键入以下命令来查看可用的时区:

1sudo timedatectl list-timezones

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

1sudo timedatectl set-timezone region/timezone

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

1sudo timedatectl set-timezone America/New_York

您的系统将更新为使用所选时区。您可以通过键入以下命令进行确认:

1sudo timedatectl

配置NTP同步

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

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

1sudo yum install ntp

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

1sudo systemctl start ntpd
2sudo systemctl enable ntpd

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

创建交换文件

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

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

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

1sudo fallocate -l 4G /swapfile

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

1sudo chmod 600 /swapfile

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

1sudo mkswap /swapfile

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

1sudo swapon /swapfile

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

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

有了这个附加功能,您的系统应该会在每次引导时自动使用您的交换文件。

从这里到哪里?

现在,您已经为您的Linux服务器建立了一个非常好的初始设置。从这里开始,你可以去很多地方。首先,您可能希望在服务器的当前配置中为其创建快照。

抓拍当前配置

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

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

1sudo poweroff

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

Digital Ocean snapshot

拍摄快照后,您将能够使用该映像作为将来安装的基础,方法是在创建过程中从映像的我的快照选项卡中选择快照:

使用snapshot的数字海洋

其他资源和后续步骤

从这里开始,您的路径完全取决于您希望对服务器做什么。下面的指南列表并不是详尽的,而是代表了用户接下来要求助的一些更常见的配置:

结论

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

Published At
Categories with 技术
comments powered by Disqus