菜单

Administrator
发布于 2026-10-10 / 1 阅读
0
0

Linux 学习笔记 L14:搭建 Web 服务

从零搭个网站,从外网能访问,nginx 实战。

安装

sudo apt update && sudo apt install -y nginx
sudo systemctl status nginx
ss -tlnp | grep 80

server 块逐行解读

sudo vim /etc/nginx/sites-available/mysite
server {
  listen 80;
  server_name example.com;
  root /var/www/mysite;
  index index.html;

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

listen 监听端口,server_name 域名,root 网站根目录,location 匹配 URL 路径。

sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

软链接启用站点,nginx -t 检查配置语法,reload 重载不中断服务。

双站点实战

两个 server 块,不同 server_name,共用 80 端口,nginx 按域名分发。root 指向各自目录即可。

防火墙放行

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

排错五连

  1. 403:目录权限,参考 L6 的 chown/chmod 套餐

  2. 404:root 路径错了或文件不存在

  3. 502:后端没跑(php-fpm 之类)

  4. nginx -t 报错:配置文件语法错,按提示改

  5. curl 本地 200 但外网打不开:防火墙或安全组没放行

从零 7 步完整流程

# 1. 装
sudo apt install -y nginx
# 2. 写配置
sudo vim /etc/nginx/sites-available/mysite
# 3. 启用
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
# 4. 检查语法
sudo nginx -t
# 5. 重载
sudo systemctl reload nginx
# 6. 放行防火墙
sudo ufw allow 80/tcp
# 7. 验证
curl -I http://127.0.0.1

小结

步骤

命令

装

apt install nginx

配

sites-available 写 server 块

启用

ln -s 到 sites-enabled

检查

nginx -t

生效

systemctl reload nginx

下一篇 L15:自动化备份实战——综合项目,脚本+cron+日志+恢复演练,系列收官。


评论