简介
为新服务器设置最低配置后,在大多数情况下强烈建议您执行一些附加步骤。在本指南中,我们将通过介绍一些推荐但可选的过程来继续配置我们的服务器。
前提条件和目标
在开始阅读本指南之前,您应该先阅读一下Ubuntu14.04初始服务器setup指南]。这是为了设置您的用户帐户、使用sudo
配置权限提升以及出于安全考虑而锁定SSH所必需的。
完成上述指南后,您可以继续阅读本文。 在本指南中,我们将重点介绍配置一些可选但推荐的组件。 这将涉及设置我们的系统与防火墙,网络时间协议同步,和交换文件。
配置基本防火墙
防火墙为您的服务器提供基本的安全级别。 这些应用程序负责拒绝流量到您的服务器上的每个端口,您已批准的端口/服务除外。 Ubuntu附带了一个名为ufw的工具,可以用来配置你的防火墙策略。 我们的基本策略是封锁一切我们没有充分理由开放的东西。
在启用或重新加载防火墙之前,我们将创建定义策略例外的规则。 首先,我们需要为SSH连接创建一个例外,以便我们可以维护远程管理的访问。
默认情况下,SSH守护程序在端口22上运行,如果默认设置没有更改,则ufw
可以按名称实现规则。因此,如果您有未 修改的SSH端口,您可以通过键入以下命令来启用该例外:
1sudo ufw allow ssh
如果您已经修改了SSH守护程序正在侦听的端口,则必须通过指定实际端口号以及TCP协议来允许它:
1sudo ufw allow 4444/tcp
这是最低防火墙配置。它将只允许您的SSH端口上的流量,而所有其他服务将无法访问。如果您计划运行其他服务,则需要在所需的每个端口打开防火墙。
如果您计划运行传统的HTTP Web服务器,则需要允许访问端口80:
1sudo ufw allow 80/tcp
如果您计划在启用了SSL/TLS的情况下运行Web服务器,则还应允许该端口的通信:
1sudo ufw allow 443/tcp
如果您需要启用SMTP电子邮件,则需要打开端口25:
1sudo ufw allow 25/tcp
添加完例外后,您可以键入以下内容查看您的选择:
1sudo ufw show added
如果一切正常,您可以通过键入以下命令来启用防火墙:
1sudo ufw enable
系统将要求您确认您的选择,因此如果要继续,请键入y
。这将应用您所做的例外,阻止所有其他流量,并将防火墙配置为在启动时自动启动。
请记住,您必须为以后可能配置的任何其他服务显式打开端口。有关更深入的信息,请查看我们的文章配置UFW firewall.
配置时区和网络时间协议同步
下一步是设置服务器的本地化设置并配置网络时间协议(NTP)同步。
第一步将确保您的服务器在正确的时区下运行。第二步是将您的系统配置为将其系统时钟同步到由全球NTP服务器网络维护的标准时间。这将有助于防止因时钟不同步而导致的某些不一致行为。
配置时区
我们的第一步是设置服务器的时区。 这是一个非常简单的过程,可以通过重新配置tzdata
包来完成:
1sudo dpkg-reconfigure tzdata
您将看到一个菜单系统,允许您选择服务器的地理区域:
选择区域后,您将能够选择适合您的服务器的特定时区:
您的系统将更新为使用所选时区,并且结果将打印到屏幕上:
1Current default time zone: 'America/New_York'
2Local time is now: Mon Nov 3 17:00:11 EST 2014.
3Universal Time is now: Mon Nov 3 22:00:11 UTC 2014.
接下来,我们将继续配置NTP。
配置NTP同步
现在您已经设置了时区,我们应该配置NTP。 这将允许您的计算机与其他服务器保持同步,从而提高依赖于正确时间的操作的可预测性。
对于NTP同步,我们将使用一个名为ntp
的服务,该服务可以从Ubuntu的默认仓库安装:
1sudo apt-get update
2sudo apt-get install ntp
这就是在Ubuntu上设置NTP同步所要做的全部工作。该守护程序将在每次引导时自动启动,并将持续调整系统时间以与全天的全局NTP服务器保持一致。
如果希望了解有关ntp servers.]的更多信息,请单击此处
创建交换文件
将交换
添加到Linux服务器允许系统将正在运行的程序的较不频繁访问的信息从RAM移动到磁盘上的某个位置。访问存储在磁盘上的数据比访问RAM慢得多,但是否有可用的交换空间通常是应用程序存活和崩溃之间的区别。如果您计划在系统上托管任何数据库,这将特别有用。
<$>[备注] [标签说明] 虽然通常建议对使用传统旋转硬盘的系统进行交换,但将交换与SSD配合使用可能会导致随着时间的推移硬件性能下降。出于这一考虑,我们不建议在DigitalOcean或任何其他使用SSD存储的提供商上启用交换。这样做可能会影响您和您的邻居底层硬件的可靠性。
如果您需要提高服务器的性能,我们建议您升级Droplet。 这通常会带来更好的结果,并降低可能影响您的服务的硬件问题的可能性。 <$>
关于交换空间的最佳大小的建议因咨询的来源而有很大差异。通常,一个等于或两倍于您系统上的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控制面板中,您可以通过访问服务器的快照
选项卡来拍摄快照:
拍摄快照后,您将能够使用该映像作为将来安装的基础,方法是在创建过程中从映像的我的快照
选项卡中选择快照:
的数字海洋
其他资源和后续步骤
从这里开始,您的路径完全取决于您希望对服务器做什么。下面的指南列表并不是详尽的,而是代表了用户接下来要求助的一些更常见的配置:
- [设置LAMP(linux、apache、mysql/mariadb、php)]stack](https://andsky.com/tech/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04)
- 设置LEMP(linux,nginx,mysql/mariadb,php)stack
- 在ApacheWeb server上安装WordPress CMS
- 在Nginx Web server上安装WordPress CMS
- 在ApacheWeb server上安装Drupal CMS
- 安装Node.js
- 安装Ruby on Rails和RVM
- 安装Laravel,一个php framework
- 安装木偶管理您的infrastructure
结论
至此,您应该知道如何为您的新服务器配置坚实的基础。希望您对下一步也有一个好主意。您可以随时浏览该站点,获取更多可以在您的服务器上实现的想法。