用 Nginx 部署一个静态网站:从安装到上线
【摘要】 引言静态网站(个人博客、产品页、接口文档)不需要后端程序,最经典的部署方式就是交给 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)