Nginx 安装配置

直接回答

  • 关键点:Nginx 是一个高性能 Web 服务器,安装和配置步骤因操作系统而异,研究表明 Linux(如 CentOS)是最常见环境。

安装步骤

Nginx 安装需要先准备编译工具和库,然后下载源码编译安装。以下是基本步骤:

  • 安装依赖:yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel(适用于 CentOS)。
  • 下载 Nginx 源码(如 1.22.0 版本)并编译:wget http://nginx.org/download/nginx-1.22.0.tar.gz,解压后运行 ./configure --prefix=/usr/local/webserver/nginx,然后 make && make install
  • 创建用户和组:/usr/sbin/groupadd www; /usr/sbin/useradd -g www www

配置步骤

  • 编辑配置文件 /usr/local/webserver/nginx/conf/nginx.conf,设置用户、进程数和端口(如 listen 80;)。
  • 常见配置包括反向代理(用 proxy_pass)和负载均衡(用 upstream)。
  • 启动 Nginx:/usr/local/webserver/nginx/sbin/nginx,测试配置:/usr/local/webserver/nginx/sbin/nginx -t

注意事项


详细报告

Nginx 是一个高性能的 Web 服务器和反向代理服务器,广泛用于处理高并发连接、负载均衡和缓存。以下是基于权威中文教程的详细安装和配置指南,适合 Linux 系统(如 CentOS)环境,涵盖从依赖安装到高级配置的完整流程。

背景与目的

Nginx 由俄罗斯程序设计师 Igor Sysoev 开发,最初用于 Rambler.ru 站点,当前版本(如 1.22.0)支持高并发和多种协议(如 HTTP/HTTPS、IMAP/POP3/SMTP)。研究表明,它是 Apache 的有力替代品,尤其在高连接并发场景下表现优异。本文旨在提供一个全面的安装和配置指南,基于 2025 年 6 月的最新实践。

安装步骤

安装 Nginx 需要先准备编译环境和依赖库,具体步骤如下:

  1. 安装依赖库和工具
    • Nginx 依赖 GCC 编译器、Zlib、PCRE 和 OpenSSL 等库。以下命令适用于 CentOS:yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
    • 如果需要 HTTPS 支持,安装 PCRE 库(可选):
      • 下载 PCRE 源码:[[invalid url, do not cite])
      • 安装步骤:cd /usr/local/src/ wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz tar zxvf pcre-8.35.tar.gz cd pcre-8.35 ./configure make && make install
        • 检查版本:pcre-config --version
  2. 下载并编译 Nginx
    • 从官方网站下载最新稳定版本:[[invalid url, do not cite])
    • 安装步骤:cd /usr/local/src/ wget http://nginx.org/download/nginx-1.22.0.tar.gz tar zxvf nginx-1.22.0.tar.gz cd nginx-1.22.0 ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 make && make install
    • 说明:
      • --prefix=/usr/local/webserver/nginx:指定安装目录。
      • --with-http_stub_status_module:启用状态监控模块。
      • --with-http_ssl_module:启用 HTTPS 支持。
      • 检查版本:/usr/local/webserver/nginx/sbin/nginx -v
  3. 创建 Nginx 用户和组
    • 为安全起见,创建专用用户和组:/usr/sbin/groupadd www /usr/sbin/useradd -g www www
    • 这确保 Nginx 以非 root 用户运行,减少安全风险。

配置步骤

Nginx 的配置文件通常位于 /usr/local/webserver/nginx/conf/nginx.conf,支持多种上下文(如 main、server、location)。以下是详细配置指南:

  1. 基本配置
    • 编辑配置文件,示例配置:user www www; # 使用 www 用户和组 worker_processes 2; # 设置工作进程数 worker_rlimit_nofile 65535; # 每个进程最大文件描述符数 events { worker_connections 65535; # 每个进程最大连接数 use epoll; # 使用 epoll 提高性能 } http { include mime.types; # 包含 MIME 类型 default_type application/octet-stream; # 默认 MIME 类型 sendfile on; # 启用高效文件传输 keepalive_timeout 65; # 保持连接超时时间 server { listen 80; # 监听端口 server_name localhost; # 服务器名称 location / { root /usr/local/webserver/nginx/html; # 默认根目录 index index.html index.htm; # 默认首页文件 } } }
    • 检查配置:/usr/local/webserver/nginx/sbin/nginx -t
  2. 高级配置
    • 反向代理
      • 在 location 块中使用 proxy_passlocation / { proxy_pass [invalid url, do not cite] # backend 是 upstream 块定义的服务器组 }
      • 常用代理设置:proxy_connect_timeout 60; proxy_read_timeout 60; proxy_buffer_size 4k;
    • 负载均衡
      • 定义 upstream 块:upstream backend { server 192.168.10.100:8080; server 192.168.10.101:8080; }
      • 支持多种负载均衡算法,如轮询、IP 哈希等。
    • HTTPS 配置
      • 添加 HTTPS 服务器块:server { listen 443 ssl; server_name localhost; ssl_certificate /path/to/cert.pem; # SSL 证书 ssl_certificate_key /path/to/key.pem; # SSL 私钥 location / { root /usr/local/webserver/nginx/html; index index.html index.htm; } }
      • 需要准备 SSL 证书,通常通过 Let’s Encrypt 或商业 CA 获取。
    • 访问控制
      • 使用 allow 和 deny 限制访问:location /private { allow 192.168.1.100; # 允许特定 IP deny all; # 拒绝所有其他 IP }
      • 密码保护:使用 htpasswd 生成密码文件。
    • 目录列表
      • 启用自动目录列表:location /images { root /var/www/nginx-default/images; autoindex on; }
  3. 启动和管理
    • 启动 Nginx:/usr/local/webserver/nginx/sbin/nginx
    • 常用命令:
      • 重载配置:/usr/local/webserver/nginx/sbin/nginx -s reload
      • 停止:/usr/local/webserver/nginx/sbin/nginx -s stop
      • 重新打开日志:/usr/local/webserver/nginx/sbin/nginx -s reopen
    • 检查进程:ps -ef | grep nginx

注意事项

  • 确保安装目录和配置文件路径与实际环境一致。
  • 测试配置文件后再启动 Nginx,避免运行时错误。
  • 如果使用 HTTPS,必须准备 SSL 证书和私钥。
  • 防火墙设置:确保 80 和 443 端口开放(如 firewall-cmd --add-port=80/tcp --permanent)。
  • 性能优化:调整 worker_processes 和 worker_connections 根据服务器 CPU 核心数和负载。

对比不同教程

通过对比 菜鸟教程 – Nginx 安装配置CSDN 博客 – Linux Nginx的安装与配置 和 FineReport 帮助文档 – Linux系统安装配置Nginx,可以发现:

  • Runoob 和 CSDN 提供更通用的安装指南,适合初学者。
  • FineReport 更聚焦于负载均衡场景,适合集群架构。
  • 版本差异:Runoob 使用较旧版本(如 1.6.2),CSDN 使用较新版本(如 1.22.0),建议优先选择最新稳定版本。

以下是关键点的对比表:

特性菜鸟教程CSDN 博客FineReport 文档
安装版本1.6.2(较旧)1.22.0(较新)1.21 及以上(推荐最新)
详细程度基础步骤清晰,适合初学者图文详细,含 HTTPS 配置聚焦负载均衡,适合集群
HTTPS 支持有提及,但配置较简单包含 SSL 证书详细配置强调负载均衡与 HTTPS 结合
推荐使用场景通用 Web 服务器高并发和 HTTPS 场景企业级集群负载均衡

进一步学习资源

更多详细内容可参考以下教程:

关键引用

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注