用 Nginx 部署一个静态网站:从安装到上线

举报
yd_282444815 发表于 2026/10/24 02:05:49 2026/10/24
【摘要】 引言静态网站(个人博客、产品页、接口文档)不需要后端程序,最经典的部署方式就是交给 Nginx。它是一个高性能的 Web 服务器,只需几行配置就能把 HTML 文件变成全世界都能访问的网站。本文带你从零完成安装、配置与上线。 第一步:安装并启动 NginxUbuntu / Debian 系统:sudo apt update && sudo apt install -y nginxCentO...

引言

静态网站(个人博客、产品页、接口文档)不需要后端程序,最经典的部署方式就是交给 Nginx。它是一个高性能的 Web 服务器,只需几行配置就能把 HTML 文件变成全世界都能访问的网站。本文带你从零完成安装、配置与上线。

第一步:安装并启动 Nginx

Ubuntu / Debian 系统:

sudo apt update && sudo apt install -y nginx

CentOS / RHEL 系统:

sudo yum install -y nginx

安装完成后启动服务,并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

第二步:准备网站文件

先创建网站目录,再写一个最简单的首页:

sudo mkdir -p /var/www/mysite
sudo vim /var/www/mysite/index.html
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>我的站点</title></head>
<body><h1>你好,Nginx!</h1></body>
</html>

第三步:配置虚拟主机

在 /etc/nginx/conf.d/mysite.conf 中新建一个站点配置:

server {
    listen       80;
    server_name  example.com;
    root         /var/www/mysite;
    index        index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

其中 server_name 填你的域名,没有域名时也可以填服务器的公网 IP。配置写好后检查语法并重载:

sudo nginx -t
sudo systemctl reload nginx

第四步:放行 80 端口

如果服务器开启了防火墙,需要放行 HTTP 服务:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

使用华为云 ECS 时,还要去控制台在安全组入方向规则中放行 TCP 80 端口,否则外网无法访问。

第五步:开启常用优化

静态站建议开启 gzip 压缩和浏览器缓存,把它们写进 server 块:

gzip on;
gzip_types text/css application/javascript image/svg+xml;

location ~* \.(css|js|png|jpg|svg)$ {
    expires 30d;
}

这样 CSS、JS 等资源会压缩传输并缓存 30 天,页面打开速度明显提升。

常见问题排查

  • 404 Not Found:检查 root 路径是否正确、文件是否真实存在;
  • 403 Forbidden:多为目录权限或 SELinux 限制,先确认文件可读;
  • 配置不生效:先用 nginx -t 验证语法,再执行 reload,不要漏步骤;
  • 浏览器打不开:按顺序排查服务状态、安全组、防火墙三处。

结语

Nginx 部署静态网站只有“安装、配置、放行”三步,熟练之后几分钟就能上线一个站点。下一步可以试着为它申请免费证书、开启 HTTPS,让网站更完整。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。