第1章 Nginx 简介与安装
——从零开始搭建你的第一个 Nginx 服务
本章将介绍 Nginx 的基本概念、适用场景,并详细讲解如何在 Linux、macOS、Windows 以及 Docker 上安装 Nginx,最后介绍 Nginx 的常用管理命令。
1.1 什么是 Nginx?为什么选择 Nginx?
1.1.1 Nginx 与 Apache 的对比
Nginx 是一个高性能的 HTTP 和反向代理服务器,相较于传统的 Apache,它采用 事件驱动(Event-Driven)和 非阻塞 I/O 模型,使其能够处理更高的并发连接,同时占用更少的系统资源。
| 特性 | Nginx | Apache (httpd) |
|---|---|---|
| 并发模型 | 事件驱动(高并发) | 进程/线程模型(传统) |
| 内存占用 | 低(适合高负载) | 较高(每个连接占用更多资源) |
| 静态文件处理 | 极快 | 一般 |
| 动态内容处理 | 需反向代理(如 FastCGI) | 内置模块(如 mod_php) |
| 配置方式 | 声明式配置 | .htaccess 动态配置 |
1.1.2 Nginx 的核心优势
✅ 高性能:轻松支持 10万+ 并发连接(C10K 问题解决方案之一)
✅ 低内存消耗:相比 Apache,Nginx 处理静态资源时内存占用更少
✅ 反向代理 & 负载均衡:常用于微服务架构,替代传统硬件负载均衡器
✅ 热部署:支持 不重启服务 更新配置
✅ 模块化:可通过动态模块扩展功能(如 Lua 脚本支持)
1.1.3 Nginx 的适用场景
- 静态资源服务器(HTML、CSS、JS、图片)
- 反向代理(如代理 Node.js、Python、Java 后端)
- 负载均衡(分配流量到多个服务器)
- API 网关(路由、限流、鉴权)
- 缓存加速(减少后端压力)
1.2 Nginx 安装指南
1.2.1 Linux(Ubuntu/Debian)安装
# 更新软件包索引
sudo apt update
# 安装 Nginx
sudo apt install nginx -y
# 启动 Nginx
sudo systemctl start nginx
# 设置开机自启
sudo systemctl enable nginx
# 检查状态
sudo systemctl status nginx
安装完成后,访问 http://localhost 或服务器 IP,看到 “Welcome to nginx!” 即成功。
1.2.2 Linux(CentOS/RHEL)安装
# 添加 EPEL 仓库(CentOS 7/8)
sudo yum install epel-release -y
# 安装 Nginx
sudo yum install nginx -y
# 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
# 检查状态
sudo systemctl status nginx
1.2.3 macOS 安装(Homebrew)
# 安装 Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 Nginx
brew install nginx
# 启动 Nginx
brew services start nginx
默认配置文件路径:/usr/local/etc/nginx/nginx.conf
默认网站目录:/usr/local/var/www
1.2.4 Windows 安装
- 前往 Nginx 官网 下载 Windows 版(
.zip) - 解压到
C:\nginx - 运行
nginx.exe(双击或命令行启动) - 访问
http://localhost测试
1.2.5 Docker 容器化部署
# 拉取官方 Nginx 镜像
docker pull nginx
# 运行临时容器(测试)
docker run --rm -p 8080:80 nginx
# 后台运行并挂载配置文件
docker run -d --name my-nginx -p 80:80 -v /path/to/nginx.conf:/etc/nginx/nginx.conf nginx
访问 http://localhost:8080 测试。
1.3 Nginx 基本命令
1.3.1 Linux/macOS(Systemd 管理)
| 命令 | 作用 |
|---|---|
sudo systemctl start nginx | 启动 Nginx |
sudo systemctl stop nginx | 停止 Nginx |
sudo systemctl restart nginx | 重启 Nginx |
sudo systemctl reload nginx | 热重载(不中断服务更新配置) |
sudo systemctl status nginx | 查看运行状态 |
sudo nginx -t | 测试配置文件语法(重要!) |
1.3.2 Windows(命令行管理)
# 启动
start nginx
# 停止
nginx -s stop
# 重新加载配置
nginx -s reload
# 测试配置
nginx -t
1.3.3 日志查看
- 访问日志(记录所有 HTTP 请求):
tail -f /var/log/nginx/access.log - 错误日志(排查问题):
tail -f /var/log/nginx/error.log
本章小结
✔ 了解了 Nginx 的核心优势(高性能、低资源占用)
✔ 学会了在 Linux/macOS/Windows/Docker 上安装 Nginx
✔ 掌握了 Nginx 的 启动、停止、重载、日志查看 等基本操作
下一步:第 2 章将深入讲解 Nginx 配置文件,学习如何自定义你的 Web 服务器! 🚀
问题 & 练习
- 在你的机器上安装 Nginx,并访问
http://localhost测试是否成功。 - 修改 Nginx 默认页面(提示:默认路径
/usr/share/nginx/html/index.html或/var/www/html)。 - 运行
nginx -t检查配置语法,尝试reload使更改生效。
如果有任何安装问题,欢迎在评论区提问! 😊
1337

被折叠的 条评论
为什么被折叠?



