服务器基础
服务器是存放网站文件并提供访问服务的计算机。选择合适的服务器方案,正确配置服务器环境,是网站稳定运行的基础。本章将介绍服务器的类型、选择方法和基础配置。
什么是服务器?
服务器是一种高性能计算机,专门用于存储、处理和传输数据。与个人电脑不同,服务器设计用于长时间稳定运行,具备更高的可靠性、更强的处理能力和更好的网络连接。
在网站搭建的语境中,服务器承担着存储网站文件、处理用户请求、执行程序代码、存储数据等任务。当用户在浏览器中输入网址时,请求会被发送到服务器,服务器处理请求后返回相应的网页内容。
服务器可以是自己搭建的物理服务器,也可以是云服务商提供的云服务器。对于大多数个人和小型企业来说,云服务器是更经济、更便捷的选择。
服务器类型
根据使用场景和技术架构,服务器可以分为以下几种类型:
物理服务器
物理服务器是真实存在的硬件设备,放置在数据中心机房中。你可以自己购买服务器硬件,托管到数据中心,或者租用数据中心的服务器。
优点:
- 性能独享,不受其他用户影响
- 硬件配置可定制
- 数据完全自主控制
缺点:
- 初期投入成本高
- 需要专业运维人员
- 扩展不够灵活
物理服务器适合对性能、安全性有极高要求的大型企业或特殊应用场景。
虚拟主机
虚拟主机(Virtual Hosting)是将一台物理服务器划分成多个虚拟空间,每个空间可以托管一个网站。多个网站共享同一台服务器的资源。
优点:
- 价格低廉,适合入门
- 无需管理服务器环境
- 通常提供网站管理面板
缺点:
- 资源共享,性能受限
- 权限受限,无法自定义环境
- 安全性相对较低
虚拟主机适合流量较小的个人网站或初学者练手。
云服务器
云服务器(Cloud Server)是基于云计算技术的虚拟服务器。云服务商将大量物理服务器组成资源池,用户可以按需创建、配置和扩展虚拟服务器实例。
优点:
- 按需付费,成本可控
- 弹性扩展,随时升降配置
- 高可用性,数据冗余
- 提供丰富的配套服务
缺点:
- 长期使用成本可能高于物理服务器
- 需要一定的服务器管理知识
云服务器是目前最主流的选择,适合绝大多数网站场景。
轻量应用服务器
轻量应用服务器是云服务商针对小型应用场景推出的简化版云服务器产品。它预装了常用的应用环境,如 WordPress、LAMP、Node.js 等,开箱即用。
优点:
- 开箱即用,无需配置环境
- 价格便宜,适合个人用户
- 管理简单,适合新手
缺点:
- 配置选项有限
- 扩展能力不如标准云服务器
轻量应用服务器适合个人博客、小型网站、测试环境等场景。
VPS
VPS(Virtual Private Server,虚拟专用服务器)与云服务器类似,都是虚拟化技术的产物。区别在于 VPS 通常是单机虚拟化,而云服务器基于分布式架构。
优点:
- 价格相对便宜
- 拥有 root 权限
- 可以自定义环境
缺点:
- 可靠性不如云服务器
- 扩展能力有限
VPS 适合预算有限、需要完全控制服务器的用户。
云服务器选购
以阿里云 ECS(Elastic Compute Service)为例,介绍云服务器的选购要点。
选择地域和可用区
地域(Region)是指云服务器所在的地理位置,可用区(Zone)是指同一地域内的不同机房。
选择地域时需要考虑:
- 用户分布:选择离目标用户最近的地域,减少网络延迟
- 合规要求:如果数据需要存储在国内,选择中国大陆地域
- 价格差异:不同地域的价格可能不同
可用区主要用于容灾,同一地域的不同可用区之间网络互通,但物理上隔离。对于高可用架构,可以将服务器部署在不同可用区。
选择实例规格
实例规格决定了服务器的 CPU、内存、网络性能等。阿里云提供多种实例规格族:
通用型:CPU 与内存比例 1:4,适合大多数应用场景
计算型:CPU 与内存比例 1:2,适合计算密集型应用
内存型:CPU 与内存比例 1:8,适合内存密集型应用
对于个人网站或小型应用,1 核 2G 或 2 核 4G 的配置通常足够。企业级应用需要根据实际负载选择合适的规格。
选择镜像
镜像是指服务器的操作系统和预装环境。常见选择:
- Linux 发行版:CentOS、Ubuntu、Debian、Alibaba Cloud Linux 等
- Windows Server:适合需要运行 .NET 应用或远程桌面的场景
- 应用镜像:预装 WordPress、LNMP、Docker 等环境的镜像
对于 Web 服务器,推荐选择 Linux 发行版,如 CentOS 或 Ubuntu。Linux 系统资源占用少、稳定性高、安全性好。
选择存储
云服务器通常使用云盘作为存储介质,分为以下类型:
- 高效云盘:性价比高,适合大多数场景
- SSD 云盘:高性能,适合 I/O 密集型应用
- ESSD 云盘:企业级性能,适合数据库等高负载场景
存储容量根据网站内容大小选择。系统盘通常 40-100GB 足够,数据盘根据实际需求添加。
选择网络
公网带宽:决定服务器的网络传输速度。对于普通网站,1-5Mbps 通常足够。流量大的网站可以选择按流量计费。
安全组:虚拟防火墙,控制服务器的网络访问权限。需要开放必要的端口,如 HTTP(80)、HTTPS(443)、SSH(22)等。
购买方式
云服务器提供多种购买方式:
- 包年包月:预付费,价格优惠,适合长期稳定使用
- 按量付费:后付费,按小时计费,适合测试或临时使用
- 抢占式实例:价格最低,但可能被回收,适合无状态计算任务
对于正式网站,推荐选择包年包月方式,享受更优惠的价格。
服务器基础配置
购买云服务器后,需要进行一些基础配置才能部署网站。
连接服务器
Linux 服务器通常通过 SSH 协议连接。Windows 用户可以使用 PuTTY、Xshell、MobaXterm 等 SSH 客户端,Mac 和 Linux 用户可以直接使用终端。
ssh root@your_server_ip
首次连接会提示确认服务器指纹,输入 yes 继续,然后输入密码登录。
为了安全,建议使用密钥对认证代替密码认证:
ssh-keygen -t rsa -b 4096
ssh-copy-id root@your_server_ip
更新系统
登录服务器后,首先更新系统软件包:
CentOS/RHEL:
yum update -y
Ubuntu/Debian:
apt update && apt upgrade -y
创建普通用户
出于安全考虑,不建议长期使用 root 用户。创建一个普通用户并赋予 sudo 权限:
useradd -m -s /bin/bash username
passwd username
usermod -aG wheel username
配置防火墙
配置防火墙,只开放必要的端口:
CentOS(firewalld):
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
Ubuntu(ufw):
ufw allow http
ufw allow https
ufw allow ssh
ufw enable
安装 Web 服务器
安装 Nginx 或 Apache 作为 Web 服务器:
CentOS 安装 Nginx:
yum install -y nginx
systemctl start nginx
systemctl enable nginx
Ubuntu 安装 Nginx:
apt install -y nginx
systemctl start nginx
systemctl enable nginx
安装完成后,在浏览器访问服务器 IP 地址,应该能看到 Nginx 的欢迎页面。
安装运行环境
根据网站需求安装相应的运行环境:
PHP 环境:
yum install -y php php-fpm php-mysqlnd
Node.js 环境:
curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
yum install -y nodejs
Python 环境:
yum install -y python3 python3-pip
数据库:
yum install -y mysql-server
或使用 Docker 部署各类服务:
yum install -y docker
systemctl start docker
systemctl enable docker
云服务商对比
国内主流云服务商对比:
| 特性 | 阿里云 | 腾讯云 | 华为云 |
|---|---|---|---|
| 市场份额 | 最大 | 第二 | 第三 |
| 产品丰富度 | 最丰富 | 丰富 | 较丰富 |
| 价格 | 中等 | 较低 | 中等 |
| 技术支持 | 完善 | 完善 | 完善 |
| 企业级服务 | 强 | 中等 | 强 |
| 个人用户友好 | 中等 | 好 | 中等 |
对于个人用户和小型企业,腾讯云的性价比更高;对于企业级应用,阿里云的产品体系更完善;对于政企客户,华为云的安全合规能力更强。
服务器安全
服务器安全至关重要,以下是一些基本的安全措施:
及时更新系统
定期更新操作系统和软件,修复已知漏洞。可以设置自动更新或定期手动更新。
使用强密码
所有账户使用强密码,包含大小写字母、数字和特殊字符,长度不少于 12 位。
禁用 root 登录
编辑 SSH 配置文件,禁止 root 用户直接登录:
vi /etc/ssh/sshd_config
修改以下配置:
PermitRootLogin no
PasswordAuthentication no
重启 SSH 服务:
systemctl restart sshd
配置安全组
只开放必要的端口,关闭不需要的端口。定期检查安全组规则,清理不必要的规则。
安装安全软件
可以安装 Fail2Ban 等安全工具,自动封禁暴力破解的 IP:
yum install -y fail2ban
systemctl start fail2ban
systemctl enable fail2ban
定期备份
定期备份重要数据和配置文件,可以使用云服务商提供的快照功能或自行备份到对象存储。
小结
服务器是网站运行的基础设施。本章介绍了服务器的类型、云服务器的选购要点和基础配置方法。选择合适的服务器方案,正确配置服务器环境,是搭建稳定可靠网站的前提。
下一章,我们将学习 DNS 解析的详细配置方法,将域名与服务器关联起来。