或
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
在当今数字化浪潮席卷全球的背景下,服务器作为承载网站、应用程序与核心数据的“数字基石”,其战略地位愈发重要,无论是个人开发者搭建博客或项目展示平台,还是企业部署高并发业务系统,选择一个可靠的操作系统是成功的第一步。
Linux凭借其开源、稳定、安全、高效以及强大的社区支持,已成为服务器领域的主流操作系统,本文将带领读者从零开始,在 Linux 系统上完成一台基础服务器的搭建全过程,涵盖系统选型、环境配置、Web服务部署、应用运行、安全加固及运维监控等关键步骤,帮助新手快速上手,也为有经验的开发者提供优化思路。
选择合适的Linux发行版
搭建服务器的第一步,是选择一款适合自己需求的 Linux 发行版,不同的发行版在稳定性、更新策略、软件生态和支持周期方面各有侧重。
常见的服务器级 Linux 系统包括:
- Ubuntu Server:基于 Debian,包管理便捷(APT),文档丰富,社区活跃,非常适合初学者。
- Debian:以极致稳定著称,适合对系统长期运行要求高的场景。
- Rocky Linux / AlmaLinux:CentOS 停止传统版本维护后兴起的主流替代品,继承 RHEL 的企业级特性,适用于生产环境。
- Fedora Server:更新频繁,集成最新技术,适合测试前沿功能。
✅ 推荐建议:
- 初学者首选 Ubuntu Server LTS 版本(如 22.04 或 24.04),长期支持、兼容性强;
- 企业级生产环境优先考虑 Rocky Linux 或 AlmaLinux,保障系统稳定性与安全性。
部署方式建议使用云服务器(如阿里云、腾讯云、AWS、华为云)或本地虚拟机(VMware、VirtualBox、KVM),便于资源隔离、快照备份和远程管理。
安装完成后,通过 SSH 远程连接登录服务器,即可进入后续配置流程。
基础系统配置:打造安全可靠的运行环境
首次登录服务器后,首要任务是完成基础环境初始化,提升系统的可用性与安全性。
更新系统软件包
确保系统处于最新状态,修复已知漏洞:
# Ubuntu/Debian 系列 sudo apt update && sudo apt upgrade -y # CentOS/Rocky/AlmaLinux(使用 dnf) sudo dnf update -y
⚠️ 提示:升级前建议先执行
sudo apt full-upgrade(Debian系)以防依赖冲突。
设置主机名与时区
统一命名规范有助于后期集群管理:
sudo hostnamectl set-hostname web-server-01
设置为中国标准时间(上海时区):
sudo timedatectl set-timezone Asia/Shanghai
启用并启动时间同步服务(chrony):
sudo systemctl enable chronyd --now # 或使用 systemd-timesyncd(部分系统默认启用)
可通过 timedatectl status 查看时间同步状态。
创建普通用户并授权
避免直接使用 root 账户操作,降低误操作风险:
sudo adduser deploy # 创建新用户 sudo usermod -aG sudo deploy # 添加到 sudo 组
之后可通过 ssh deploy@your_server_ip 登录,执行管理员命令时加 sudo 即可。
配置 SSH 密钥登录,禁用密码认证
这是提升服务器安全性的关键一步,有效防范暴力破解攻击。
(1)在本地生成密钥对:
ssh-keygen -t rsa -b 4096 -C "deploy@myserver"
按提示保存至 ~/.ssh/id_rsa,不设置密码亦可(生产环境建议设密保)。
(2)上传公钥到服务器:
ssh-copy-id deploy@your_server_ip
若该命令不可用,可手动复制公钥内容追加到服务器上的 ~/.ssh/authorized_keys 文件中。
(3)修改 SSH 配置文件:
编辑 /etc/ssh/sshd_config:
PermitRootLogin no # 禁止 root 登录 PasswordAuthentication no # 关闭密码登录 PubkeyAuthentication yes # 启用密钥认证 ChallengeResponseAuthentication no UsePAM no
保存后重启 SSH 服务:
sudo systemctl restart sshd
🔐 注意:请务必确认密钥登录已生效后再关闭密码登录,防止被“锁”在服务器外!
安装并启动 Web 服务器
Web 服务器是对外提供网页服务的核心组件,目前最主流的是 Nginx 和 Apache,Nginx 因其轻量、高性能、低资源占用,尤其擅长处理高并发请求,已成为现代 Web 架构的首选。
安装 Nginx
# Ubuntu/Debian sudo apt install nginx -y # Rocky/AlmaLinux sudo dnf install nginx -y
启动并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
检查服务状态:
sudo systemctl status nginx
输出显示 “active (running)” 表示服务正常。
开放防火墙端口
如果启用了防火墙(如 ufw 或 firewalld),需开放 HTTP(80)和 HTTPS(443)端口。
Ubuntu 使用 UFW:
sudo ufw allow 'Nginx Full'
CentOS/Rocky 使用 firewalld:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
在浏览器访问服务器公网 IP 地址,应能看到 Nginx 欢迎页面,说明 Web 服务已成功上线。
部署静态网站或动态应用
托管静态网站
将 HTML、CSS、JS 等静态文件放入默认站点目录:
/var/www/html/
替换 index.html 内容或上传完整前端项目即可实现静态托管。
sudo cp -r ~/mywebsite/* /var/www/html/
刷新页面即可查看效果。
部署 Node.js 动态应用(示例)
假设我们要部署一个运行在 3000 端口的 Express 应用。
(1)安装 Node.js 运行环境
推荐使用 Nodesource 提供的官方源:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs
验证安装:
node --version npm --version
(2)上传应用代码并安装依赖
scp -r app.js package.json deploy@your_server_ip:~/myapp/ ssh deploy@your_server_ip cd ~/myapp npm install --production
(3)使用 PM2 管理进程
PM2 是 Node.js 的生产级进程管理工具,支持自动重启、日志记录和开机自启。
安装并启动应用:
npm install -g pm2 pm2 start app.js --name "myapp"
设置开机自启:
pm2 startup pm2 save
查看应用状态:
pm2 status pm2 logs myapp
配置 Nginx 反向代理
为了让外部用户通过 80 端口访问你的 Node.js 应用,需配置 Nginx 作为反向代理。
创建配置文件:
sudo nano /etc/nginx/sites-available/myapp
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_cache_bypass $http_upgrade;
}
# 可选:限制请求频率,防刷
limit_req_zone $binary_remote_addr zone=api:10m rate=


