当前位置: 首页 > news >正文

Nginx 安装与配置全流程指南(2025 最新版)

一、环境准备与依赖安装

1.1 系统要求
  • 操作系统:支持主流 Linux 发行版(Ubuntu 20.04+/CentOS 7+/Debian 10+)
  • 硬件配置:内存 ≥512MB,磁盘 ≥10GB 可用空间(建议使用 SSD)
  • 网络要求:开放 80/443 端口(可通过 firewall-cmd --list-ports 验证)
1.2 安装基础依赖
# Ubuntu/Debian
sudo apt update && sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g-dev libssl-dev# CentOS/RHEL
sudo yum groupinstall "Development Tools" -y
sudo yum install -y pcre-devel zlib-devel openssl-devel

说明

  • build-essential 包含 GCC 编译工具链
  • pcre 支持正则表达式重写规则
  • zlib 提供 HTTP 压缩功能
  • openssl 启用 HTTPS 支持

二、三种主流安装方式

2.1 包管理器安装(推荐新手)
# Ubuntu/Debian
sudo apt install nginx -y
sudo systemctl enable --now nginx# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx

优势

  • 自动处理依赖关系
  • 默认集成 systemd 服务管理
  • 配置文件路径标准化(/etc/nginx/nginx.conf
2.2 源码编译安装(定制化推荐)
# 下载最新稳定版(以 1.25.3 为例)
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3# 配置编译参数
./configure \--prefix=/usr/local/nginx \--with-http_ssl_module \--with-http_v2_module \--with-threads \--with-stream# 编译安装
make -j $(nproc) && sudo make install# 创建系统服务
sudo nano /etc/systemd/system/nginx.service

服务文件内容

[Unit]
Description=The NGINX HTTP server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
PIDFile=/usr/local/nginx/logs/nginx.pid[Install]
WantedBy=multi-user.target

关键参数说明

  • --with-threads 启用线程池提升并发性能
  • --with-stream 支持 TCP/UDP 代理
2.3 Docker 容器化部署
# 拉取官方镜像
docker pull nginx:1.25-alpine# 启动容器(映射配置与静态资源)
docker run -d \--name nginx \-p 80:80 \-p 443:443 \-v /path/to/conf:/etc/nginx/conf.d \-v /path/to/html:/usr/share/nginx/html \nginx:1.25-alpine

优势

  • 快速部署与版本切换
  • 配置与数据持久化存储
  • 支持 Kubernetes 集群化扩展

三、核心配置优化

3.1 安全加固
# /etc/nginx/nginx.conf
server_tokens off;  # 隐藏版本信息
client_max_body_size 10m;  # 限制上传文件大小
limit_conn_zone $binary_remote_addr zone=addr:10m;  # 防止 DDoS 攻击
add_header X-Content-Type-Options "nosniff";  # MIME 类型安全
3.2 性能优化
events {worker_connections 10240;multi_accept on;use epoll;  # Linux 高效事件模型
}http {gzip on;gzip_types text/plain text/css application/json application/javascript;open_file_cache max=10000 inactive=30s;  # 文件缓存优化
}

调优效果

  • 静态文件吞吐量提升 3-5 倍
  • 内存占用降低 20%

四、验证与测试

4.1 基础验证
# 检查版本与模块
nginx -V# 查看服务状态
systemctl status nginx# 测试默认页面
curl -I 127.0.0.1

预期输出

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 24 Apr 2025 08:00:00 GMT
Content-Type: text/html
4.2 压力测试
# 使用 wrk 进行基准测试
wrk -t12 -c400 -d30s http://localhost

典型结果

Requests/sec: 35678.25
Transfer/sec: 4.21GB

五、常见问题排查

5.1 端口冲突
# 检查 80/443 端口占用
sudo lsof -i :80# 修改监听端口
sed -i 's/listen 80;/listen 8080;/g' /etc/nginx/conf.d/default.conf
5.2 权限问题
# 修复 SELinux 限制
sudo chcon -Rt httpd_sys_content_t /var/www/html/# 调整文件权限
sudo chown -R nginx:nginx /var/log/nginx

六、进阶学习路径

  1. 反向代理配置

    location / {proxy_pass http://backend;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;
    }
    
  2. SSL 证书部署

    # 使用 Certbot 自动化配置
    sudo certbot --nginx -d example.com
    
  3. 负载均衡策略

    upstream backend {least_conn;server 192.168.1.101:8080 weight=3;server 192.168.1.102:8080;
    }
    

参考资料

  • Windows 基础安装流程
  • CentOS 编译安装实践
  • Linux 环境优化方案
  • 反向代理配置案例
  • 多安装方式对比
  • 源码编译详解
  • 生产环境最佳实践

通过本指南,您已掌握从基础安装到生产级部署的全套技能。建议结合具体业务场景选择安装方式,并持续关注 Nginx 社区的动态更新。

相关文章:

  • (树状数组)洛谷 P6119/P3657 Why Did the Cow Cross the Road II G/P 题解
  • QLExpress 深度解析:构建动态规则引擎的利器
  • 摘要 | 李录在北大光华管理学院的演讲《价值投资》
  • Spark-Streaming核心编程
  • Java集成【邮箱验证找回密码】功能
  • 聊聊Spring AI Alibaba的OneNoteDocumentReader
  • 实现Variant
  • AI赋能Python长时序植被遥感动态分析、物候提取、时空变异归因及RSEI生态评估
  • 系统高性能设计核心机制图解:缓存优化、链表调度与时间轮原理
  • 白鲸开源WhaleStudio与崖山数据库管理系统YashanDB完成产品兼容互认证
  • 麒麟系统离线安装软件方法(kazam录屏软件为例)
  • SEO的关键词研究与优化 第一章
  • AI | 最近比较火的几个生成式对话 AI
  • YOLO训练时到底需不需要使用权重
  • 【AI提示词】私人教练
  • 昆仑万维开源SkyReels-V2,解锁无限时长电影级创作,总分83.9%登顶V-Bench榜单
  • 使用正确的 JVM 功能加速现有部署
  • Kaamel视角下的MCP安全最佳实践
  • python-69-基于graphviz可视化软件生成流程图
  • 文件操作、流对象示例
  • 现场|贝聿铭上海大展:回到他建筑梦的初始之地
  • 因商标近似李小龙形象被裁定无效,真功夫起诉国家知产局,法院判了
  • AI翻译技术已走向大规模商用,应用场景覆盖多个关键领域
  • 经济日报刊文:积极应对稳住外贸基本盘
  • 波音CEO称中方因中美“贸易战”停止接收波音飞机,外交部回应
  • 吃饭睡觉打国米,如今的米兰把意大利杯当成宝