在不断发展的数字世界中,虚拟专用服务器 (VPS) 已成为个人和企业的必需品。作为一种可扩展且灵活的网络托管解决方案,VPS 可让您提高在线项目的安全性、控制力和性能。但是,对于不熟悉命令行的初学者来说,设置 VPS 平台可能是一项艰巨的任务。
本文介绍如何设置 Linux VPS 服务器,帮助读者使用命令行有效地设置和管理 Linux VPS 服务器,涵盖从初始访问到高级安全和性能调整的所有内容。
什么是 Linux VPS?
Linux 虚拟专用服务器 (VPS)是在物理服务器上运行 Linux 操作系统的虚拟服务器。它提供专用服务器的一些功能和资源,但成本较低。每个虚拟服务器都使用自己的专用资源自主运行,例如中央处理器 (CPU)、随机存取存储器 (RAM) 和磁盘空间,以及操作系统 (OS) 的单独实例。
Linux 虚拟专用服务器具有以下主要特点:
- 隔离。每个 VPS 都与同一物理服务器上的其他 VPS 实例隔离运行。
- 专用资源。保证为您的 VPS 提供专用的 CPU、RAM 和存储空间。
- 根访问。对服务器的完全管理控制,允许您安装和配置任何软件。
- 可扩展性。资源可以根据您的需要轻松扩展。
从命令行设置 Linux VPS 的好处
通过命令行设置 Linux VPS 服务器有几个好处:
- 效率和控制。命令行界面 (CLI) 允许进行详细的服务器配置和优化,从而完全控制每个组件。
- 资源使用情况。命令行工具重量轻,比图形用户界面 (GUI) 消耗更少的资源,这对于资源受限的 Linux VPS 很有帮助。
- 脚本和自动化。CLI 允许您使用脚本和自动化工具来部署应用程序、管理更新和执行重复任务。
- 学习经验。使用命令行可以提高您对管理服务器和 Linux 操作系统的理解,并为您提供宝贵的 IT 技能。
- 远程控制。CLI 允许您使用 SSH(安全外壳)协议远程管理服务器。SSH 网络协议允许您远程管理操作系统和隧道文件传输连接,让您可以轻松地从任何地方访问和管理您的 Linux VPS 服务器。
设置 Linux VPS 服务器的 6 个步骤
从命令行设置 Linux VPS 服务器涉及几个关键步骤。本指南详细介绍了安全设置针对您的特定需求进行优化的 Linux VPS 服务器的 6 个步骤。
步骤 1:选择 VPS 提供商
选择 VPS 提供商时,请考虑以下因素:
- 性能:CPU、RAM 和存储规格。
- 可扩展性:随着业务增长而增加分配资源量的能力。
- 成本:与所提供资源相比的成本。
- 支持:提供技术支持。
- 声誉:供应商的可靠性和客户评价。
要选择符合您的要求和预算的供应商,请考虑您的要求,并考虑 CPU 核心、RAM、存储和数据中心位置等因素。此外,您还应该查看客户评论和意见,以评估供应商的声誉和支持质量。
一旦您注册、创建帐户并选择适合您要求的自定义VPS计划,提供商将为您提供虚拟服务器并向您发送登录凭据。
步骤 2:访问您的 VPS 并创建新用户
当您获得 VPS 的访问权限时,您必须记住,您需要持续的远程访问来管理和配置它。SSH 协议为您的本地计算机和 VPS 提供安全通信。要建立 SSH 连接,您需要 VPS 的 IP 地址或域名以及 ISP 提供的凭据。要建立安全连接,请使用终端仿真器(例如 Windows 上的 PuTTY)或 Linux/macOS 上的内置 SSH 客户端。
要通过 SSH 连接,请按照以下步骤操作。
- 通过按下键盘上的Windows + R键打开命令提示符。
- 在字段中输入cmd并单击OK。
- 在打开的终端中,使用 SSH 命令,将 root 替换为你的实际用户名,将 your_vps_ip 替换为 VPS IP 地址:
ssh root@your_vps_ip
但是,为了提高安全性和控制系统的访问,建议您创建新用户并更改 VPS 上的权限。创建具有超级用户权限的用户帐户有助于规范谁可以访问您的服务器以及他们可以做什么。
要创建新用户,请按照以下步骤操作:
- 连接到服务器的根用户帐户并输入以下命令:
adduser 用户名
- 要以完全管理权限运行命令,需要使用 sudo前缀。
# usermod -aG sudo username
- 将用户名替换为所需的用户。
- 创建新的用户密码。
- 要使用终端或 SSH 客户端访问 VPS,请使用这些登录凭据。
您可以用同样的方式向您的 VPS 添加更多 SSH 用户。
通过禁用密码验证并使用多个 SSH 密钥进行验证来避免未经授权的访问,以提高安全性。
步骤 3:启用公钥认证
在此阶段,我们将告诉您如何通过启用公钥认证来提高安全性。
公钥认证比常规密码更安全,解密也更复杂,因为它使用公钥/私钥对来保护您的 SSH 连接。公钥存储在您的服务器上并用于私人认证,而私钥只能从系统管理员处获得。因此,登录将使用密码和私钥进行。
要启用公钥认证,请按照以下步骤操作:
- 使用以下命令创建一对密钥(公钥和私钥):
ssh-keygen -t rsa -b 4096
- 您可以选择一个位置来存储密钥;但是,在大多数情况下,默认位置位于主目录中的 .ssh/ 扩展名下。为了增加密钥对的安全性,您可以为私钥设置密码
- 要将公钥复制到服务器,请运行以下命令,将用户名替换为您的实际用户名,将server_ip替换为服务器的 IP 地址或主机名:
sssh-copy-id username@server_ip
- 输入服务器的密码。
- 验证成功后,您的公钥将被添加到服务器的~/.ssh/authorized_keys文件中。
- 要应用配置更改,请使用以下命令重新启动 SSH:
sudo service ssh restart
- 要测试公钥认证,请输入以下命令,然后输入您为私钥设置的密码:
ssh -i /path/to/private_key username@server_ip
步骤 4:更新并配置您的VPS
为了维护 VPS 的安全性和稳定性,需要定期更新系统包和软件存储库。根据您选择的Linux 发行版,包管理系统允许您快速安装和更新软件包:
- 对于基于 Debian 的发行版(例如Ubuntu ),请使用高级打包工具 (APT)。要刷新软件包缓存并更新已安装的软件包,请运行以下命令:
sudo apt update
- CentOS用户还可以使用修改后的 Yellowdog Updater (YUM) 包管理器通过运行以下命令来更新系统包:
sudo yum update
- 软件包列表更新完成后,您可以继续更新系统软件包。将安装 Debian/Ubuntu 的最新安全和错误修复:
sudo apt upgrade
- 在 CentOS/RHEL 上:
sudo yum upgrade
有时需要重新启动才能启用系统更新。您可以重新启动 VPS:
sudo 重启
您还可以设置自动更新,确保您的 Linux VPS 服务器定期更新。为此,Debian/Ubuntu 中使用“unattended-upgrades”更新包,CentOS/RHEL 中使用“yum-cron”。
有必要定期监控和检查可用的更新,并根据需要应用它们。虽然更新是提高安全性和性能所必需的,但它们也可能导致兼容性问题或意外行为。在执行更新之前,请务必备份数据。
定期更新您的 Linux VPS 服务器可确保您的服务器安全且高效运行,为应用程序和网站创建稳定的环境。
为了保护您的 Linux 虚拟专用服务器免受潜在漏洞和攻击,请安装关键补丁和安全更新。为了确保及时维护并降低成本,请使用 cron 作业或systemd计时器自动执行更新过程。
步骤 5:安装必要的软件
为了设置 Linux VPS 服务器环境,您需要安装必要的软件包。以下是您必须安装的一些必需软件的列表:
- Nginx 和 Apache:满足不同工作负载和性能要求的强大 Web 服务器解决方案。
- MySQL、PostgreSQL 和 MongoDB:适合存储 NoSQL 和关系数据的数据库管理系统。
- Python、Node.js 和 Ruby:用于开发和部署动态 Web 应用程序的编程语言。
- Docker 和 Kubernetes:用于可扩展和容错应用程序部署的容器化技术。
- Git:用于简化工作流程的版本控制系统。
要安装这些开发工具、编程语言、数据库和 Web 服务器,您可以使用包管理器(例如 APT(适用于 Debian/Ubuntu)或 YUM(适用于 CentOS/RHEL))和初始命令:
apt 安装 apache2 #
yum 安装 httpd #
但是,为了避免在使用包管理器安装软件时进一步出现命令行迷宫,我们建议选择一个美观且用户友好的 GUI 控制面板,以简化任务并允许您轻松而巧妙地管理您的在线杰作。
步骤 6:保护您的 VPS
可靠的防火墙可以帮助保护您的 Linux VPS 服务器免受未经授权的访问和恶意威胁。Ubuntu/Debian 的简易防火墙 (UFW) 和 CentOS 的防火墙是 Linux 防火墙产品,可轻松配置和管理防火墙策略。通过仅允许基本服务和端口并阻止潜在危险的连接来控制传入和传出流量。设置默认拒绝策略,仅根据特定规则允许流量。使用防火墙区域根据信任级别对网络接口进行分类。可以使用 Fail2ban 等高级安全工具通过动态阻止恶意 IP 地址来防止暴力攻击。最后,定期检查防火墙规则并调整配置以适应变化。
要为您的 VPS 配置防火墙,请按照以下步骤操作:
- 使用以下命令连接到您的 Linux VPS 服务器,将用户名替换为您的实际用户名,将 server_ip 替换为 IP 地址或主机名:
ssh username@server_ip
- 使用以下命令检查现有规则:
sudo iptables -L
- 配置防火墙规则以允许特定服务(在本例中,防火墙规则允许端口 22(默认 SSH 端口)上的传入 TCP 流量):
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
- 设置传入、传出和转发流量的默认策略(在本例中,设置默认传入流量阻止策略):
sudo iptables -P INPUT DROP
- 要保存已安装的防火墙规则,请使用以下命令:
sudo iptables-save > /etc/iptables.rules
- 要在启动时加载已保存的规则,请输入以下命令来创建并执行脚本:
sudo sh -c “iptables-save > /etc/iptables.rules”
sudo chmod +x /etc/network/if-pre-up.d/iptables - 要检查您的防火墙配置,请使用 SSH 重新连接:
ssh username@server_ip
成功连接表明防火墙规则配置正确。
解决常见问题
从命令行设置 Linux 虚拟专用服务器时,您可能会遇到一些常见问题。以下部分介绍了如何解决VPS连接问题、服务故障和性能问题。
连接问题
- SSH 连接被拒绝
症状:无法通过 SSH 连接到 Linux VPS 服务器。错误消息为:“连接被拒绝”。
解决方案:
- 确保 Linux VPS 正在运行并可通过网络访问。
- 使用以下命令检查 SSH 服务的状态并确保它处于活动状态:
sudo systemctl status sshd
- 使用以下命令确保 VPS 防火墙上的 SSH 端口(默认为 22)已打开:
sudo ufw status 或 iptables -L
- 确保 VPS 具有有效的 IP 地址并且 DNS 解析正常工作。
- SSH 连接超时
症状:尝试通过 SSH 连接超时。
解决方案:
- 确保 VPS 已打开并且连接到互联网。
- 检查网络问题或错误配置,包括错误的 IP 地址或被阻止的端口。
- 使用以下命令检查您的网络连接:
ping <VPS_IP>
- 如果您位于 NAT 或防火墙后面,请确保端口转发配置正确。
- 权限被拒绝(公钥)
症状:由于密钥认证问题,SSH 连接被拒绝。
解决方案:
- 确保您的 SSH 密钥正确添加到 VPS 的 ~/.ssh/authorized_keys 文件中。
- 检查 ~/.ssh 目录和 authorized_keys 文件的权限(chmod 700 ~/.ssh 和 chmod 600 ~/.ssh/authorized_keys)。
- 使用 -i 选项确认 SSH 客户端使用了正确的私钥 (ssh -i /path/to/private_key user@VPS_IP)。
服务故障
- g服务没有启动g
症状:服务未启动或启动失败。
解决方案:
- 使用以下命令检查服务状态:
sudo systemctl status <service_name>
- 使用以下命令检查服务日志中是否存在错误或警告:
sudo Journalctl -u <service_name>
- 确保服务的所有依赖项都已正确安装和配置。
- 检查配置文件是否存在语法错误或不正确的配置。
- g服务正在运行但无响应
症状:服务似乎处于活动状态,但是没有响应或按预期工作。
解决方案:
- 使用以下命令重新启动服务:
sudo systemctl restart <service_name>
- 使用 top、htop 或 iotop 等工具检查资源限制,例如 CPU、内存或磁盘 I/O。
- 查看特定服务日志中可能指示潜在问题的错误。
- 服务配置更改未应用。
症状:对服务配置文件的更改没有生效。
解决方案:
- 确保在配置更改后使用以下命令重新启动服务:
sudo systemctl restart <service_name>
- 确保您正在编辑正确的配置文件。
- 检查配置文件中是否存在语法错误,这些错误可能会导致服务无法正确重启。
性能问题
- CPU 使用率过高
症状: VPS 的 CPU 使用率过高,导致性能不佳。
解决方案:
- 使用top或htop识别导致 CPU 使用率过高的进程。
- 优化或限制资源密集型流程。
- 如果资源使用率持续较高,请考虑升级您的 Linux VPS 服务器硬件。
- 内存不足或交换使用率过高
症状: VPS 内存不足,导致交换使用量过大且性能不佳。
解决方案:
- 使用 free -m或vmstat选项监视内存使用情况。
- 减少正在运行的应用程序或服务的内存消耗。
- 如果可能的话,给 VPS 添加更多 RAM。
- 优化或调整应用程序以使用更少的内存。
- 磁盘 I/O 瓶颈
症状: VPS 的磁盘 I/O 速度很慢,影响了整体性能。
解决方案:
- 使用iotop来识别导致高磁盘 I/O 的进程。
- 优化应用程序以减少不必要的磁盘写入。
- 确保您有足够的磁盘空间,避免空间不足。
- 如果磁盘 I/O 是一个持续存在的问题,请考虑升级到更快的存储解决方案,例如 SSD。
通过遵循这些故障排除步骤,您可以快速识别并解决从命令行设置和管理 Linux VPS 服务器时出现的大多数问题。
结论
对于任何希望有效管理 Web 应用程序、数据库或其他服务的系统管理员或开发人员来说,从命令行设置 Linux VPS 服务器是一项基本技能。按照我们的指南中描述的步骤,您可以轻松创建安全、可靠且可扩展的服务器环境,而无需任何系统管理员技能。
此外,您可以通过安装附加软件、部署应用程序和配置高级安全措施进一步定制和优化您的 VPS 以满足您的特定需求。