> 技术文档 > Nginx 安装与配置全流程指南(2025 最新版)_nginx部署

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


一、环境准备与依赖安装

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

说明

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

二、三种主流安装方式

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

优势

  • 自动处理依赖关系
  • 默认集成 systemd 服务管理
  • 配置文件路径标准化(/etc/nginx/nginx.conf
2.2 源码编译安装(定制化推荐)
# 下载最新稳定版(以 1.25.3 为例)wget https://nginx.org/download/nginx-1.25.3.tar.gztar zxvf nginx-1.25.3.tar.gzcd 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 serverAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadPIDFile=/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.confserver_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 OKServer: nginxDate: Wed, 24 Apr 2025 08:00:00 GMTContent-Type: text/html
4.2 压力测试
# 使用 wrk 进行基准测试wrk -t12 -c400 -d30s http://localhost

典型结果

Requests/sec: 35678.25Transfer/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 社区的动态更新。

艺术中国网