首页 > 系统相关 >Nginx 实战指南

Nginx 实战指南

时间:2024-01-19 12:32:53浏览次数:34  
标签:指南 实战 http header cache server Nginx proxy your

Nginx 是一款高性能的开源反向代理服务器,也可用作负载均衡器、Web服务器和缓存服务器。本实战指南将带你深入了解 Nginx 的安装、基础配置、高级配置、最佳实践以及性能调优。

步骤 1: 安装 Nginx

Ubuntu

sudo apt update
sudo apt install nginx

CentOS

sudo yum install epel-release
sudo yum install nginx

步骤 2: 基础配置

1. 静态网站配置

编辑 Nginx 配置文件:

sudo nano /etc/nginx/nginx.conf

server 部分添加以下配置:

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;

    root /var/www/html;  # 修改为你的网站根目录
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

保存并退出,然后重新加载配置:

sudo nginx -s reload

2. 反向代理配置

编辑 Nginx 配置文件:

sudo nano /etc/nginx/nginx.conf

server 部分添加以下配置:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://your_backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

替换 your_domain.comyour_backend_server 为实际的域名和后端服务器地址。

步骤 3: 高级配置

SSL/TLS 配置

server {
    listen 443 ssl;
    server_name your_domain.com;

    ssl_certificate /etc/nginx/ssl/your_domain.crt;  # 替换为你的 SSL 证书路径
    ssl_certificate_key /etc/nginx/ssl/your_domain.key;  # 替换为你的 SSL 证书私钥路径

    location / {
        proxy_pass http://your_backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

负载均衡配置

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }

    server {
        listen 80;
        server_name your_domain.com;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

缓存配置

http {
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

    server {
        location / {
            proxy_pass http://backend;
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
            add_header X-Proxy-Cache $upstream_cache_status;
        }
    }
}

步骤 4: 性能调优

  1. 调整 Worker 进程数: 根据服务器的 CPU 核心数,调整 worker_processes 配置项,提高性能。
worker_processes auto;
  1. 文件描述符限制: 增加系统文件描述符限制,编辑 /etc/security/limits.conf
nginx soft nofile 65536
nginx hard nofile 65536
  1. 启用 Keepalive: 在 http 配置块中启用 Keepalive,提高连接的重用率。
http {
    ...
    keepalive_timeout 65;
    ...
}
  1. 开启 Gzip 压缩: 启用 Gzip 压缩,减小传输数据量。
http {
    ...
    gzip on;
    gzip_comp_level 5;
    gzip_min_length 256;
    ...
}
  1. 调整缓冲区大小: 根据服务器内存大小,调整缓冲区大小。
http {
    ...
    client_body_buffer_size 10K;
    client_header_buffer_size 1k;
    ...
}
  1. 启用 FastCGI 缓存: 对于 FastCGI,启用缓存提高性能。
http {
    ...
    fastcgi_cache_path /path/to/fastcgi/cache levels=1:2 keys_zone=my_fastcgi_cache:10m max_size=10g inactive=60m use_temp_path=off;
    ...
}

通过以上调优步骤,你将使 Nginx 在高负载环境下更加高效。根据实际服务器资源和需求,适度调整配置,确保系统的稳定性和性能。

标签:指南,实战,http,header,cache,server,Nginx,proxy,your
From: https://blog.51cto.com/jiemei/9327740

相关文章

  • 洛谷题单指南-模拟和高精度-P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two
    原题链接:https://www.luogu.com.cn/problem/solution/P1518题意解读:此题是一道模拟题,关键要解决几个问题:1、如何转换方向2、如何在地图中移动3、如何判断无法抓住牛。解题思路:定义chara[10][10]用于存储地图,cx,cy和fx,fy分别代表牛、Farmer所在的位置,cdir、fdir分别代表牛......
  • 使用nginx部署多个前端项目(三种方式)
    使用nginx部署多个前端项目(三种方式):https://blog.csdn.net/qq_25460159/article/details/112947177?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-112947177-blog-126032000.235^v40^pc_relevant_anti_vip&spm=1001.2101.3001......
  • 当“服务器上部署多个Web应用”,使用Nginx反向代理配置
    当“服务器上部署多个Web应用”,使用Nginx反向代理配置:https://wangcw.blog.csdn.net/article/details/80567233?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-80567233-blog-130914904.235%5Ev40%5Epc_relevant_a......
  • 小程序开发实战案例五 | 小程序如何嵌入H5页面
    在接入小程序过程中会遇到需要将H5页面集成到小程序中情况,今天我们就来聊一聊怎么把H5页面塞到小程序中。 本篇文章将会从下面这几个方面来介绍:小程序承载页面的前期准备小程序如何承载H5小程序和H5页面如何通讯小程序和H5页面的相互跳转 小程序承载页面的......
  • Nginx的日志处理
    Nginx的日志处理背景之前一直被各种咨询nginx的使用问题.大部分都是性能,加模块,以及一些tcp端口等的问题.其实这些都还好,还有一个比较麻烦的问题时日志相关的.nginx的日志稍有不注意就会变的非常大.导致不可用.其实应该是实现logrotate的方式比较好一些.其实实......
  • Nginx配置反向代理实例及Keepalived主从切换
    概述工作中经常需要帮同事配置反向代理,反向代理的使用场景一般为办公网跨网访问生产网应用资源。今天简单记录下操作步骤,以备之后查阅。NGX配置nginx的配置一般放置在/etc/nginx/nginx.conf下,可以使用whereisnginx查看nginx的具体位置[root@NGXapp01~]#whereisnginxngi......
  • Nginx基础配置详解(main、events、http、server、location)
    Nginx基础配置详解(main、events、http、server、location):https://blog.csdn.net/weixin_43834401/article/details/130562289?ops_request_misc=&request_id=&biz_id=102&utm_term=nginx%20server%20%E7%9A%84%E6%A0%B9%E7%9B%AE%E5%BD%95&utm_medium=distribute.pc_......
  • redis实战 pdf 下载
    《redis实战》深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用Redis来说不可多得的参考书籍。《redis实战》一共由三个部分组成。部分对Redis进行了介绍,说明了Redis的基本使用......
  • lvs+nginx
    参考:https://www.cnblogs.com/KL2016/p/16159864.html在流量抵达的最外层通常会选择使用LVS作为负载服务器,LVS是一种基于四层负载的高性能服务器,它的内部只会对外界的数据包进行分发处理,通常一台高性能的LVS机器就能支持百万的并发连接。为了保证LVS的高可用,通常LVS会部署多......
  • 洛谷题单指南-模拟和高精度-P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
    原题链接:https://www.luogu.com.cn/problem/P1328题意解读:非常简单的一道题,核心考点就是循环数组以及评分规则的构建。评分规则:甲vs乙,1表示甲赢,-1表示甲输,-0表示平转化为数组:intrule[5][5]={0,-1,1,1,-1,1,0,-1,1,-1,-1,1,0,-1,1,-1,......