有没有将一个网页部署到服务器上的教程

阿里云服务器

将一个网页(无论是静态 HTML 还是动态网站)部署到服务器上,是前端和后端开发的基本技能。

这里为你提供一份 2026 年最新版、零基础、保姆级 的教程。我们将使用最通用的 阿里云 ECS 服务器 (Ubuntu 系统) 配合 Nginx (目前最流行的 Web 服务器) 来部署。


📋 准备工作

  1. 一台云服务器:阿里云 ECS(推荐 Ubuntu 22.04 系统)。

  2. 你的网页文件

    • 如果是静态页:index.html, css/, js/, images/ 等文件夹。

    • 如果是 Vue/React 项目:请先在本地运行 npm run build 生成 dist 文件夹,我们要部署的是 dist 里的内容。

  3. 终端工具:Windows 用 PowerShell 或 Xshell,Mac/Linux 用自带终端。


🚀 第一阶段:连接服务器

  1. 获取公网 IP:在阿里云控制台找到你的实例,复制 公网 IP 地址。

  2. 远程连接
    打开终端,输入以下命令(将 <IP> 替换为你的真实 IP):

    ssh root@<IP>
    • 第一次连接输入 yes

    • 输入密码(输入时不显示),回车登录。

    • 看到 root@...:~# 表示成功。


🛠️ 第二阶段:安装 Web 服务器 (Nginx)

Nginx 是用来“托管”你网页的软件,它能监听网络请求并把你的文件发给用户。

  1. 更新软件源

    apt update
  2. 安装 Nginx

    apt install nginx -y
  3. 验证安装
    输入 nginx -v,如果显示版本号说明安装成功。
    此时,如果你在浏览器访问 http://<你的IP>,应该能看到 "Welcome to nginx!" 的默认页面。


📂 第三阶段:上传网页文件

我们需要把你的本地文件传到服务器的指定目录。Nginx 默认的网站根目录是 /var/www/html

方法 A:使用 SCP 命令(最简单,无需额外软件)

你自己的电脑终端(不是服务器终端)执行:

# 语法:scp -r [本地文件夹路径] root@[服务器IP]:[服务器目标路径]

# 示例:假设你的网页都在本地的 my-website 文件夹里
scp -r ./my-website/* root@<你的IP>:/var/www/html
  • 输入服务器密码。

  • 传输完成后,服务器上的 /var/www/html 目录里就是你的网页文件了。

  • 注意:确保你的主文件名叫 index.html,否则浏览器可能找不到首页。

方法 B:使用 SFTP 工具(适合新手,可视化操作)

  1. 下载 FileZillaWinSCP 软件。

  2. 主机填服务器 IP,用户名 root,密码填你的密码,端口 22

  3. 连接后,左边是本地文件,右边是服务器文件。

  4. 将右边的路径切换到 /var/www/html

  5. 把左边的网页文件直接拖拽到右边即可。


⚙️ 第四阶段:配置与权限(关键步骤)

很多时候网页打不开是因为权限问题或配置文件没改。

  1. 修改文件权限
    确保 Nginx 有权限读取你的文件。在 服务器终端 执行:

    # 将 /var/www/html 下所有文件的所有者改为 www-data (Nginx 的运行用户)
    chown -R www-data:www-data /var/www/html
    
    # 赋予读取和执行权限
    chmod -R 755 /var/www/html
  2. 检查 Nginx 配置(通常默认即可,如需自定义域名看下文):
    Nginx 的主配置文件在 /etc/nginx/sites-available/default
    你可以用 nano /etc/nginx/sites-available/default 查看,确保 root 指向的是 /var/www/html,且 index 包含 index.html
    默认配置通常已经是正确的,如果没有特殊需求,可跳过此步。

  3. 重启 Nginx
    让配置生效:

    systemctl restart nginx

🔒 第五阶段:开放防火墙端口

如果你之前没做过,必须去阿里云控制台开放端口。

  1. 登录阿里云 ECS 控制台 -> 实例详情 -> 安全组

  2. 点击 配置规则 -> 入方向 -> 手动添加

  3. 添加两条规则:

    • HTTP: 端口 80,授权对象 0.0.0.0/0

    • HTTPS (可选): 端口 443,授权对象 0.0.0.0/0

  4. 保存。


🧪 第六阶段:验证访问

打开浏览器,输入:

http://<你的服务器公网IP>
  • 如果看到了你的网页,恭喜!部署成功! 🎉

  • 如果还是 Nginx 默认页:检查你的 index.html 是否真的传进去了,文件名是否全小写。

  • 如果无法连接:检查阿里云安全组是否开了 80 端口。


🌟 进阶:如何绑定自己的域名?

如果你想通过 www.yourname.com 访问而不是 IP:

  1. 购买域名:在阿里云万网或其他服务商购买。

  2. DNS 解析

    • 在域名控制台添加一条 A 记录

    • 主机记录:@www

    • 记录值:填写你的 服务器公网 IP

  3. 修改 Nginx 配置

    nano /etc/nginx/sites-available/default

    找到 server_name 一行,改为你的域名:

    server_name yourdomain.com www.yourdomain.com;

    保存退出,重启 Nginx (systemctl restart nginx)。

  4. 备案(仅限国内服务器):

    • 如果服务器在中国大陆,域名必须经过 ICP 备案 才能通过 80/443 端口访问。未备案前,域名会被阻断。

    • 临时方案:如果不备案,可以使用非标准端口(如 http://IP:8080),但体验不好;或者使用海外服务器。


💡 常见问题排查

问题可能原因解决方法
403 Forbidden权限不足或缺少 index 文件执行 chownchmod 命令;确保有 index.html
404 Not Found文件路径不对检查文件是否在 /var/www/html 下;检查 Nginx 配置中的 root 路径。
连接超时安全组没开端口去阿里云控制台安全组放行 80 端口。
图片/样式加载失败路径写死了检查 HTML 中引用的 CSS/JS 路径,建议使用相对路径(如 ./css/style.css)。
Vue/React 刷新 404单页应用路由问题需要在 Nginx 配置中添加 try_files $uri $uri/ /index.html;

🎁 总结

  1. 买服务器 (Ubuntu)。

  2. 装 Nginx (apt install nginx)。

  3. 传文件 (到 /var/www/html)。

  4. 改权限 (chown, chmod)。

  5. 开端口 (阿里云安全组开 80)。

  6. 访问 IP 即可看到网站。

这就完成了最基础的网页部署!