首页 > 系统相关 >蓝易云 - Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化教程

蓝易云 - Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化教程

时间:2025-01-06 13:06:52浏览次数:3  
标签:Control 跨域 header Access Nginx add proxy 蓝易云

Nginx是一款高性能的开源Web服务器和反向代理服务器,它具有丰富的功能和模块,可以实现动静分离、压缩、缓存、黑白名单、跨域、高可用和性能优化。以下是Nginx一网打尽的教程:

  1. 动静分离:
    动静分离是将动态资源(如PHP、Python脚本)和静态资源(如图片、CSS、JavaScript文件)部署在不同的服务器上,以提高网站的性能和并发处理能力。在Nginx中,可以通过配置 location指令来实现动静分离,例如:
location /static/ {
    alias /var/www/static/;
}

location / {
    proxy_pass http://backend_server;
}

上述配置将URL以 /static/开头的请求映射到静态资源目录,而其他请求将被代理到后端服务器。

  1. 压缩:
    Nginx支持对传输的数据进行Gzip压缩,以减小传输数据的大小,提高网页加载速度。可以通过以下配置启用压缩:
gzip on;
gzip_types text/plain text/css application/json;

上述配置将启用Gzip压缩,并指定压缩类型为文本、CSS和JSON文件。

  1. 缓存:
    Nginx可以通过配置缓存来减轻后端服务器的负载和加快页面加载速度。可以使用 proxy_cache指令来配置缓存,例如:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g;
server {
    location / {
        proxy_pass http://backend_server;
        proxy_cache my_cache;
        proxy_cache_valid 200 1d;
    }
}

上述配置将启用缓存,并将后端服务器的响应缓存1天。

  1. 黑白名单:
    Nginx可以通过配置黑白名单来限制特定IP地址或IP地址段的访问。可以使用 allow和 deny指令来实现,例如:
location / {
    allow 192.168.1.0/24;
    deny all;
    proxy_pass http://backend_server;
}

上述配置将只允许IP地址为192.168.1.0/24的客户端访问,其他IP地址将被拒绝。

  1. 跨域:
    Nginx可以配置CORS(跨域资源共享)来解决跨域问题。可以通过以下配置添加必要的CORS响应头:
location / {
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Max-Age' 1728000;
        return 204;
    }
    if ($request_method = 'POST') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type';
        add_header 'Access-Control-Allow-Credentials' 'true';
    }
    proxy_pass http://backend_server;
}

上述配置将在响应头中添加必要的CORS头信息。

  1. 高可用:
    Nginx支持配置反向代理和负载均衡,以实现高可用性和高性能。可以通过以下配置实现负载均衡:
upstream backend {
    server backend_server1;
    server backend_server2;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

上述配置将请求代理到后端的多个服务器,实现负载均衡。

  1. 性能优化:
    Nginx可以通过调整工作进程数、连接超时等参数来优化性能。可以根据服务器的配置和需求,调整Nginx的配置参数。

总结:
Nginx是一个功能强大的Web服务器和反向代理服务器,可以通过动静分离、压缩、缓存、黑白名单、跨域、高可用和性能优化来提升网站的性能、安全性和可靠性。

标签:Control,跨域,header,Access,Nginx,add,proxy,蓝易云
From: https://blog.csdn.net/tiansyun/article/details/144936660

相关文章

  • Nginx转发解析长域名多路径域名.240105
    ​Nginx解析短域名,例如:访问http://192.168.1.23可直接跳转到http://192.168.1.23/webroot/decisionserver{listen90;server_namelocalhost;#匹配/转到/webroot/decision上;#^(.*)$表示/后任意部分,除非和其他location匹配否则一律转向/webroot/dec......
  • 学习 - Nginx - 域名配置多个站点
    Nginx-域名配置多个站点一、配置本地hosts文件我的虚拟机IP地址是192.168.226.101这里我配置了一个s1.com的域名配置的域名已经生效,直接跳转到Nginx的默认页面二、配置多个站点1、进入到根目录创建目录wwwcd/mkdirwww2、在www文件夹内,创建主站点"www"和视频站......
  • docker-compose的nginx更换完ssl证书不起作用的完美解决方法.240109
    ​以Harbor为例,ssl证书更新后,docker-compose启动不起作用。问题出在一句很重要的命令:./prepare步骤:(Harbor样例)1.cd/data/ssl换ssl证书Harbor.ymlssl证书部分:#ConfigurationfileofHarbor#TheIPaddressorhostnametoaccessadminUIandregistryservice.#......
  • 【Nginx开发】Nginx 性能优化全方案,打造一个高效服务器
    Nginx是一款高性能的Web服务器,广泛应用于互联网领域。然而在高并发、大流量的情况下,Nginx的性能可能会受到一定的影响。因此,对Nginx进行性能优化是非常必要的。本文将从多个方面介绍如何基于Nginx进行性能优化。一、调整工作进程数和线程数Nginx采用异步非阻塞的方式处理请求......
  • 学习- Nginx-浅谈nginx配置文件的含义
    conf目录下的nginx.conf文件worker_processes1;--工作进程个数(通常是一个物理CPU内核设置一个进程个数)events{--事件驱动模块worker_connections1024;--一个工作进程可以创建多少个工作链接默认1024}http{includemim......
  • RuoYi-Vue从http升级为https(Jar+Nginx)
    一、前提条件1.已通过数字证书管理服务控制台签发证书。2.SSL证书绑定的域名已完成DNS解析,即域名与主机IP地址相互映射。附:阿里云网站运维检测平台3.已在Web服务器开放443端口(HTTPS通信的标准端口)。如果使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP......
  • 深入比较 Nginx、Ingress 和 Nginx Ingress Controller
    个人名片......
  • Nginx——入门介绍、安装与核心配置文件结构(一/五)
    目录1.Nginx简介1.1.背景介绍1.2.名词解释1.3.常见服务器对比1.3.1.IIS1.3.2.Tomcat1.3.3.Apache1.3.4.Lighttpd1.3.5.其他的服务器1.4.Nginx的优点1.4.1.速度更快、并发更高1.4.2.配置简单,扩展性强1.4.3.高可靠性1.4.4.热部署1.4.5.成本低、BSD许可证1.5.Nginx的......
  • 如何使用Let's Encrypt和Nginx为您的网站提供免费的SSL/TLS证书
    步骤1:安装Certbot和Nginxyuminstall-yepel-releaseyuminstall-ycertbotyuminstallcertbotpython3-certbot-nginx步骤2:配置Nginx以使用域名 #编辑Nginx配置文件sudonano/etc/nginx/conf.d/your_domain#添加以下内容server{listen80;server_name......
  • 学习-Nginx-安装nginx1.21.6开源软件
    下载地址http://nginx.org/download/nginx-1.21.6.tar.gz通过网盘分享的文件:Nginx1.21.6链接:https://pan.baidu.com/s/1tcsTs2IEmN80wt5VQ5U3PA?pwd=sky1提取码:sky1Xftp传输安装包解压缩安装包tarzxvfnginx-1.21.6进入到nginx文件夹查看需要的依赖./configu......