第1章 Nginx 简介与安装

第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 模型,使其能够处理更高的并发连接,同时占用更少的系统资源。

特性NginxApache (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 安装

  1. 前往 Nginx 官网 下载 Windows 版(.zip
  2. 解压到 C:\nginx
  3. 运行 nginx.exe(双击或命令行启动)
  4. 访问 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 服务器! 🚀


问题 & 练习

  1. 在你的机器上安装 Nginx,并访问 http://localhost 测试是否成功。
  2. 修改 Nginx 默认页面(提示:默认路径 /usr/share/nginx/html/index.html/var/www/html)。
  3. 运行 nginx -t 检查配置语法,尝试 reload 使更改生效。

如果有任何安装问题,欢迎在评论区提问! 😊

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值