Nginx保姆级部署教程(2025最新版)

06-01 1323阅读

Nginx保姆级部署教程(2025最新版)


一、环境准备
  1. 操作系统

    • 支持Linux(CentOS、Ubuntu等)、Windows(需通过源码编译)。
    • 本文以 CentOS 7 和 Ubuntu 22.04 为例。
    • 依赖工具安装

      # CentOS
      yum install -y wget vim gcc make openssl openssl-devel pcre pcre-devel zlib zlib-devel
      # Ubuntu
      sudo apt update
      sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
      

二、Nginx安装
1. 源码编译安装(推荐)
# 下载Nginx稳定版(以1.26.2为例)
wget http://nginx.org/download/nginx-1.26.2.tar.gz
tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
# 配置编译参数(支持SSL、HTTP2等模块)
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-pcre
# 编译并安装
make && make install
2. 包管理器安装(Ubuntu)
sudo apt install nginx
# 验证安装
nginx -v

三、Nginx基础配置
1. 启动与停止
# 启动
/usr/local/nginx/sbin/nginx  # 源码安装路径
systemctl start nginx        # Ubuntu包管理器安装
# 停止
/usr/local/nginx/sbin/nginx -s stop
systemctl stop nginx
# 重载配置(修改配置文件后执行)
nginx -s reload
2. 防火墙配置
# CentOS(firewalld)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
# Ubuntu(ufw)
sudo ufw allow 'Nginx Full'
sudo ufw reload
3. 默认配置文件详解

配置文件路径:/usr/local/nginx/conf/nginx.conf(源码安装)或 /etc/nginx/nginx.conf(包管理器安装)

核心配置块:

http {
    server {
        listen 80;                  # 监听端口
        server_name example.com;     # 域名
        root /var/www/html;          # 网站根目录
        index index.html;            # 默认首页
        location / {
            try_files $uri $uri/ /index.html;  # 处理前端路由
        }
        # 反向代理配置
        location /api/ {
            proxy_pass http://backend-server:8080;  # 后端服务地址
            proxy_set_header Host $host;
        }
    }
}

四、静态资源部署
1. 配置静态资源目录
location /static/ {
    root /var/www/static;   # 路径拼接:root路径 + location路径
    # 或使用 alias(路径替换)
    # alias /var/www/static/;
}
  • root与alias区别:
    • root:路径拼接(如访问 /static/image.jpg,实际路径为 /var/www/static/static/image.jpg)。
    • alias:路径替换(如访问 /static/image.jpg,实际路径为 /var/www/static/image.jpg)。
      2. 错误页面配置
      error_page 404 /404.html;
      location = /404.html {
          root /var/www/error_pages;
          internal;  # 仅允许内部访问
      }
      

      五、反向代理与负载均衡
      1. 反向代理示例
      location /api/ {
          proxy_pass http://127.0.0.1:8000;  # 后端服务地址
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
      }
      
      2. 负载均衡配置
      upstream backend_servers {
          server 192.168.1.101:8080 weight=3;  # 权重3
          server 192.168.1.102:8080;           # 默认权重1
          ip_hash;  # 基于IP的会话保持
      }
      server {
          location / {
              proxy_pass http://backend_servers;
          }
      }
      

      六、SSL证书配置(HTTPS)
      server {
          listen 443 ssl;
          server_name example.com;
          ssl_certificate /etc/ssl/certs/example.com.crt;
          ssl_certificate_key /etc/ssl/private/example.com.key;
          # 安全增强配置
          ssl_protocols TLSv1.2 TLSv1.3;
          ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
          ssl_prefer_server_ciphers on;
      }
      

      证书获取方式:

      • 使用Let’s Encrypt免费证书(推荐):
        sudo certbot --nginx -d example.com
        
      • 自签名证书(测试环境):
        openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /path/to/key -out /path/to/cert
        

        七、常见问题解决
        1. 启动报错:libpcre.so.1 not found

          ln -s /usr/local/lib/libpcre.so.1 /lib64/  # CentOS
          
        2. 配置文件语法错误

          nginx -t  # 检查配置语法
          
        3. 端口被占用

          lsof -i :80  # 查看占用进程
          kill -9 
          

        八、高级功能扩展
        • 日志分割:使用logrotate定期切割日志文件。
        • Gzip压缩:在nginx.conf中启用gzip on;。
        • 防盗链配置:通过valid_referers限制资源引用来源。

          总结

          以上为Nginx从安装到高级配置的全流程教程,覆盖静态资源托管、反向代理、负载均衡及HTTPS加密等核心场景。若需更详细配置(如高可用集群、缓存优化),可参考:Nginx官方文档 或 CSDN相关专题。

          Nginx保姆级部署教程(2025最新版)
          (图片来源网络,侵删)
          Nginx保姆级部署教程(2025最新版)
          (图片来源网络,侵删)
          Nginx保姆级部署教程(2025最新版)
          (图片来源网络,侵删)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码