Linux 服务器部署网站从零到上线(超详细图文教程)

Linux 服务器部署网站从零到上线(超详细图文教程)

📝 文章导读

买了一台云服务器不知道怎么用?想把自己的网站或应用部署到网上让别人访问?这篇教程从零开始,教你在 Linux 服务器上部署一个完整的网站。包含:SSH 连接、环境配置、网站部署、域名绑定、HTTPS 证书。每个步骤都有命令和截图,跟着做一定能成功。

✨ 本文特点:每个步骤都有详细命令和说明,附带截图位置提示,跟着操作一定能成功。


🎯 本文你将学到

  • ✅ Linux 的实际应用场景和能解决什么问题
  • ✅ 完整的配置步骤,每一步都有可复制的命令
  • ✅ 常见问题的排查方法和解决方案
  • ✅ 最佳实践和注意事项,避免踩坑
  • ✅ 可以直接使用的脚本模板和配置示例

⏱️ 预计阅读时间:15-20 分钟 | 难度等级:⭐⭐ 入门级 | 实践时间:约 30 分钟


📦 准备工作

  • 一台云服务器(阿里云、腾讯云、华为云等,入门配置约 100 元/年)
  • 一个域名(可选,约 50 元/年)
  • SSH 客户端(Windows 用 Xshell 或 Putty,Mac 用自带终端)
  • 大约 1-2 小时时间,跟着步骤操作

📋 详细操作步骤

下面是完整的操作步骤,每一步都有详细说明和可复制的命令。建议从头到尾按顺序操作,不要跳步。
如果遇到任何问题,可以查看后面的常见问题解答部分。

步骤 1:购买和初始化服务器

在云服务商官网选择云服务器,推荐配置:2 核 4G 内存 40G 硬盘,系统选 Ubuntu 22.04 LTS。购买后会收到一封邮件,里面有服务器 IP、用户名(通常是 root)和初始密码。

📸 此处应插入截图

SSH 连接成功的终端截图,显示 root@ubuntu:~# 提示符

[图片尺寸建议:800×450 像素]

步骤 2:用 SSH 连接服务器

打开终端(Mac)或 Xshell(Windows),输入 ssh root@你的服务器 IP,回车后输入密码。第一次连接会提示是否信任这个主机,输入 yes 即可。成功后会看到类似 root@ubuntu:~# 的提示符。

步骤 3:更新系统和安装必要软件

第一次登录,先更新系统软件包到最新版本。然后安装 Web 服务器(Nginx)、数据库(MySQL)、运行环境(Node.js 或 Python)。这些是运行网站的基础。

📸 此处应插入截图

node –version 和 npm –version 的输出截图,显示版本号

[图片尺寸建议:800×450 像素]

步骤 4:配置防火墙

云服务器通常有安全组,需要在云控制台开放 80(HTTP)和 443(HTTPS)端口。系统内部的防火墙也要配置,允许这些端口的访问。

步骤 5:上传网站代码

用 SCP 命令或 FileZilla 等工具,把本地的网站代码上传到服务器。推荐放在 /var/www/ 目录下,这是 Linux 标准的网站目录。

步骤 6:配置 Nginx

Nginx 是 Web 服务器,负责接收用户的请求并返回网站内容。需要创建一个配置文件,告诉 Nginx 你的网站在哪里、用什么域名访问。

📸 此处应插入截图

PM2 运行状态的截图,显示 myapp 在线

[图片尺寸建议:800×450 像素]

步骤 7:绑定域名和配置 HTTPS

如果有域名,需要在域名服务商那里把域名解析到服务器 IP。然后用 Let’s Encrypt 免费配置 HTTPS 证书,让网站用 https:// 访问。


💻 代码和命令示例(可直接复制)

下面是完整的代码和命令示例,每个都有详细说明。点击代码块右上角的复制按钮,粘贴到终端或编辑器中即可使用。

步骤 1:SSH 连接服务器

ssh root@123.45.67.89
# 第一次连接会提示:
# Are you sure you want to continue connecting (yes/no)? yes
# 然后输入密码(输入时不会显示)

步骤 2:更新系统

# 更新软件包列表
apt update

# 升级已安装的软件
apt upgrade -y

# 安装常用工具
apt install -y curl git wget unzip

步骤 3:安装 Node.js

# 下载 Node.js 20.x 安装脚本
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -

# 安装 Node.js
apt install -y nodejs

# 验证安装
node --version  # 应该显示 v20.x.x
npm --version   # 应该显示 10.x.x

步骤 4:配置防火墙

# 安装 UFW(如果系统没有)
apt install -y ufw

# 允许 SSH(重要!不然会连不上)
ufw allow 22/tcp

# 允许 HTTP 和 HTTPS
ufw allow 80/tcp
ufw allow 443/tcp

# 启用防火墙
ufw enable

步骤 5:创建网站目录并上传代码

# 创建目录
mkdir -p /var/www/mywebsite
cd /var/www/mywebsite

# 从 Git 仓库克隆(如果有的话)
git clone https://github.com/yourname/yourproject.git .

# 或者用 SCP 从本地上传(在本地电脑执行):
# scp -r ./dist root@your-ip:/var/www/mywebsite

步骤 6:安装项目依赖并启动

# 安装依赖
npm install --production

# 启动服务(开发环境)
npm start

# 生产环境建议用 PM2 管理
npm install -g pm2
pm2 start npm --name "myapp" -- start
pm2 save
pm2 startup

步骤 7:配置 Nginx

# 创建 Nginx 配置文件
nano /etc/nginx/sites-available/mywebsite

# 输入以下内容:
server {
    listen 80;
    server_name your-domain.com www.your-domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

# 启用配置
ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/

# 测试配置
nginx -t

# 重启 Nginx
systemctl restart nginx

步骤 8:配置 HTTPS(Let’s Encrypt)

# 安装 Certbot
apt install -y certbot python3-certbot-nginx

# 获取证书
certbot --nginx -d your-domain.com -d www.your-domain.com

# 按提示输入邮箱,同意条款

# 自动续期测试
certbot renew --dry-run

⚠️ 注意事项和最佳实践

下面是操作过程中需要特别注意的地方,建议仔细阅读,能帮你避免很多坑:

  • 先配置 SSH 密钥登录,比密码更安全,还能免密码登录
  • 安装 fail2ban 防止 SSH 暴力破解:apt install fail2ban
  • 定期执行 apt update && apt upgrade 更新系统
  • 重要文件定期备份,可以用脚本自动备份到对象存储
  • 监控服务器资源,安装 htop 随时查看 CPU 和内存使用

❓ 常见问题解答(FAQ)

根据经验,初学者经常会遇到以下问题。如果你的问题不在这里,可以在评论区留言,我会尽快回复。

Q1:SSH 连接被拒绝怎么办?

A:检查服务器安全组是否开放 22 端口,确认 IP 和密码正确

Q2:Nginx 启动失败怎么办?

A:查看错误日志:cat /var/log/nginx/error.log,根据错误信息解决

Q3:网站访问很慢怎么办?

A:检查服务器带宽,可以用 speedtest-cli 测试网速,考虑升级带宽或加 CDN


📝 总结

通过本文的完整学习,你已经掌握了Linux从入门到实践的全部技能。现在你可以:

  • ✅ 独立完成完整的配置和部署
  • ✅ 复制文中的命令和脚本直接使用
  • ✅ 根据自己的实际需求调整和扩展
  • ✅ 排查和解决常见的问题

💬 有问题?欢迎在评论区留言,我会尽快回复!如果觉得这篇文章对你有帮助,也请分享给需要的朋友。

📚 进阶学习:想深入学习更多技能?关注本站,后续会发布更多实战教程。


本文原创内容,转载请注明出处 | 更新时间:2026 年 4 月 | 作者:技术教程团队

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注