长春企业建站平台抖音广告投放平台

张小明 2026/1/10 10:55:09
长春企业建站平台,抖音广告投放平台,网站开发必学书籍,网站建设网络推广代理公司文章目录前言一、NGINX 是什么#xff1f;二、为什么选择 NGINX#xff1f;三、安装 NGINX1. 使用包管理器安装2. 从源码编译安装四、NGINX 基本配置与工作原理1. 主要配置文件结构2. 核心指令块3. 工作进程与事件模型五、反向代理1. 基本反向代理示例2. 路径转发与重写六、负…文章目录前言一、NGINX 是什么二、为什么选择 NGINX三、安装 NGINX1. 使用包管理器安装2. 从源码编译安装四、NGINX 基本配置与工作原理1. 主要配置文件结构2. 核心指令块3. 工作进程与事件模型五、反向代理1. 基本反向代理示例2. 路径转发与重写六、负载均衡1. 轮询默认2. 最少连接least_conn3. IP 哈希ip_hash4. 权重weight5. 健康检查七、缓存与加速1. 反向代理缓存2. 静态文件缓存3. Gzip 压缩八、SSL/TLS1. 基本 SSL 配置2. 安全头部3. 限流与防护九、日志与监控1. 日志配置2. 简易状态监控十、NGINX 高级特性1. WebSocket 代理2. gRPC 代理3. Lua 扩展OpenResty / ngx_lua4. 动态模块5. HTTP/2 与 HTTP/3 支持6. 反向代理上传大文件前言NGINX 因其高并发、低内存消耗和丰富功能已成为 Web 服务器、反向代理和负载均衡器中的佼佼者。一、NGINX 是什么NGINXEngine X是一款高性能、高并发、开源的 HTTP 服务器同时也可用作反向代理、负载均衡、邮件代理IMAP/POP3等。由 Igor Sysoev 于 2004 年开发旨在解决 C10k处理上万个并发连接问题。事件驱动架构采用异步非阻塞的事件驱动模型在高并发场景下表现优异内存消耗相对较低。模块化设计核心功能加上多种可选模块用户可以编译所需模块或使用动态模块。广泛应用很多大型网站如 Netflix、Airbnb、GitHub、腾讯、阿里等都在使用 NGINX 作为前端网关或负载均衡器。当客户端发来大量并发请求时NGINX 的事件模型可以高效地调度网络 I/O避免线程/进程过多导致的上下文切换开销。二、为什么选择 NGINX高并发处理能力事件驱动使其能处理数万并发连接资源利用效率高。低内存消耗相比传统进程/线程模型内存使用更可控。灵活的反向代理和负载均衡功能支持多种负载均衡算法轮询、IP 哈希、最少连接等及健康检查。丰富的缓存支持可做静态资源缓存、反向代理缓存提升响应速度并减轻后端压力。易于扩展通过第三方模块如 Lua、Image Filter、GeoIP2 等满足不同需求。稳定成熟社区活跃文档丰富生态完善。三、安装 NGINX1. 使用包管理器安装以 Ubuntu/Debian 为例sudoaptupdatesudoaptinstall-y nginx安装后服务通常自动启动。使用以下命令检查状态sudosystemctl status nginx在 CentOS/RHELsudoyuminstall-y epel-releasesudoyuminstall-y nginxsudosystemctlenable--now nginx2. 从源码编译安装# 安装依赖sudoaptupdatesudoaptinstall-y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev# 下载 NGINX 源码以 1.24.0 为例wgethttp://nginx.org/download/nginx-1.24.0.tar.gztarzxvf nginx-1.24.0.tar.gzcdnginx-1.24.0# 配置编译选项可根据需求添加模块或路径./configure\--prefix/usr/local/nginx\--with-http_ssl_module\--with-http_v2_module\--with-stream\--with-stream_ssl_module\--with-http_gzip_static_module# 编译并安装makesudomakeinstall# 启动sudo/usr/local/nginx/sbin/nginx四、NGINX 基本配置与工作原理1. 主要配置文件结构主配置文件nginx.conf通常位于/etc/nginx/nginx.conf或/usr/local/nginx/conf/nginx.conf。其他配置常将虚拟主机配置放在conf.d/或sites-available/、sites-enabled/目录中。日志文件access_log、error_log设置在配置文件内。2. 核心指令块events {}设置事件模型如worker_connections。http {}HTTP 功能及模块配置包括server{}、upstream{}、proxy_*、gzip等。stream {}TCP/UDP 流量代理用于非 HTTP 协议负载均衡如数据库、MQ 代理。mail {}邮件代理配置IMAP/POP3/SMTP。3. 工作进程与事件模型worker_processes: 通常设置为 CPU 核心数或 auto。worker_connections: 每个 worker 可处理的并发连接数。异步事件驱动使用 epoll/kqueue 等高效 I/O 多路复用。五、反向代理NGINX 常用作反向代理将请求转发到后端应用服务器。1. 基本反向代理示例http { upstream backend { server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 80; server_name example.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; proxy_connect_timeout 5s; proxy_read_timeout 30s; } } }upstream定义后端服务器组。proxy_pass转发请求。设置请求头确保后端可获知原始请求信息。2. 路径转发与重写location /api/ { proxy_pass http://backend/api/; }使用rewrite做 URL 重写location /old/ { rewrite ^/old/(.*)$ /new/$1 permanent; }六、负载均衡1. 轮询默认upstream backend { server 192.168.0.101; server 192.168.0.102; server 192.168.0.103; }请求按顺序分配简单易用。2. 最少连接least_connupstream backend { least_conn; server 192.168.0.101; server 192.168.0.102; }将请求发给当前活动连接数最少的后端适合请求时间差异大的场景。3. IP 哈希ip_hashupstream backend { ip_hash; server 192.168.0.101; server 192.168.0.102; }根据客户端 IP 分配后端保证同一客户端请求分配到同一后端有助于会话粘性。4. 权重weightupstream backend { server 192.168.0.101 weight3; server 192.168.0.102 weight1; }对后端分配比例进行控制资源更强的服务器可配置更高权重。5. 健康检查NGINX 开源版需借助第三方模块如 nginx-upstream-check-moduleNGINX Plus 原生支持健康检查。或通过配置proxy_next_upstream、超时等简单应对后端异常proxy_connect_timeout 2s; proxy_read_timeout 5s; proxy_next_upstream error timeout invalid_header http_502 http_503 http_504;七、缓存与加速1. 反向代理缓存http { proxy_cache_path /var/cache/nginx levels1:2 keys_zonemy_cache:10m max_size1g inactive60m use_temp_pathoff; server { listen 80; server_name example.com; location / { proxy_cache my_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; proxy_cache_bypass $cookie_nocache $arg_nocache; add_header X-Cache-Status $upstream_cache_status; proxy_pass http://backend; } } }proxy_cache_path配置缓存存储位置和大小。proxy_cache_valid设置不同响应码的缓存时长。proxy_cache_bypass控制绕过缓存。在响应头中添加X-Cache-Status便于调试。2. 静态文件缓存对于静态资源可利用expires、add_header Cache-Controllocation ~* \.(js|css|png|jpg|jpeg|gif|svg)$ { root /var/www/static; expires 7d; add_header Cache-Control public; }3. Gzip 压缩http { gzip on; gzip_min_length 1024; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xmlrss text/javascript; }通过压缩减少传输体积加快加载。八、SSL/TLS1. 基本 SSL 配置使用 Let’s Encrypt 生成证书示例工具 certbot并在 NGINX 中配置server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://backend; ... } }强制 HTTP 跳转到 HTTPS。开启 HTTP/2 提升多路复用性能。2. 安全头部add_header X-Frame-Options SAMEORIGIN always; add_header X-Content-Type-Options nosniff always; add_header Referrer-Policy no-referrer-when-downgrade always; add_header Content-Security-Policy default-src self; always;帮助防止点击劫持、MIME 类型混淆等问题。3. 限流与防护限制连接数、请求速率http { limit_conn_zone $binary_remote_addr zoneaddr:10m; limit_req_zone $binary_remote_addr zonereq:10m rate5r/s; server { ... location /login { limit_conn addr 1; limit_req zonereq burst10 nodelay; proxy_pass http://backend; } } }防止恶意请求可结合 fail2ban、WAF如 ModSecurity、OpenRestyLua 规则等。九、日志与监控1. 日志配置access_log记录请求信息可自定义格式log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log warn;通过日志分析工具如 GoAccess、ELK、Fluentd进行流量趋势、错误率分析。2. 简易状态监控在配置中开启server { listen 127.0.0.1:8081; server_name localhost; location /nginx_status { stub_status on; allow 127.0.0.1; deny all; } }访问http://127.0.0.1:8081/nginx_status得到活动连接、请求计数等信息。可配合 Prometheus 的 nginx-exporter 采集指标或自定义脚本定期抓取。十、NGINX 高级特性1. WebSocket 代理location /ws/ { proxy_pass http://backend_ws; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection Upgrade; proxy_set_header Host $host; }支持实时通信应用。2. gRPC 代理http { upstream grpc_backend { server 127.0.0.1:50051; } server { listen 80 http2; location / { grpc_pass grpc://grpc_backend; } } }3. Lua 扩展OpenResty / ngx_lua借助 Lua 脚本进行动态处理、ACL、灰度发布等server { location /lua { content_by_lua_block { ngx.say(Hello from Lua!) } } }4. 动态模块许多第三方模块可以按需编译成动态模块并通过load_module引入如ngx_brotli、ngx_pagespeed等。5. HTTP/2 与 HTTP/3 支持HTTP/2 可提高多路复用效率HTTP/3QUIC需在较新版 NGINX 或使用第三方 patch/模块支持。在生产中可根据客户端支持情况逐步部署 HTTP/2HTTP/3 目前生态仍在发展可视需求尝试。6. 反向代理上传大文件设置较大client_max_body_sizehttp { client_max_body_size 100m; }并调整相关超时确保上传稳定。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

企业网站的特征佛山从事网站建设

CSS 盒子模型(Box Model)详解0、序言(非必要)1、盒子模型的组成1.0 盒子模型的总览1.1 第一层 内容(content)1.2 第二层 内边距(padding)1.3 第三层 边框(border&#xf…

张小明 2026/1/8 8:04:44 网站建设

档案馆建设网站微信小程序游戏制作

一、前期准备 注册企业微信 访问企业微信官网注册企业账号(需营业执照)。完成企业认证(认证费用为300元/年)。 创建应用 登录企业微信管理后台(https://work.weixin.qq.com/)。进入「应用管理」→「自建应…

张小明 2026/1/8 15:48:05 网站建设

网站没备案做淘宝客创造网站软件

我叫李晓,35岁,已在北京的金融行业工作十年。每当夜深人静,我总会翻看那些婚介所的宣传页,幻想着那种“优雅、稳重、懂得体贴”的理想对象。于是,我把自己列入了数十家婚介所的候选名单,却始终得不到满意的…

张小明 2026/1/8 11:29:07 网站建设

wordpress 显示作者安阳网站如何做优化

前言研发突然反馈一个版本上线后线上系统younggc时间变长,而这个版本修改的代码就是非常普通的CRUD,但是younggc时间就硬生生暴涨了100%。导致天天告警,虽然问题不大,但非常想知道原因,于是向我求助。问题现场如下图所…

张小明 2026/1/8 19:28:49 网站建设

可以自己买个服务器做网站吗.net网站开发实训

Seed-Coder-8B-Base PyTorch:打造你的本地化代码生成引擎 在现代软件开发中,一个令人熟悉的场景是:开发者在深夜调试一段复杂的算法逻辑,光标停在函数体开头,脑海中已有思路却迟迟无法落笔。此时,如果能有…

张小明 2026/1/8 19:04:57 网站建设

手机网页链接制作长沙如何优化排名

Vertex AI生成式AI预配吞吐量全面解析:模型支持、资源配置与成本优化指南 【免费下载链接】Qwen3-Next-80B-A3B-Instruct 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-Next-80B-A3B-Instruct 在企业级生成式AI应用部署中,性能稳…

张小明 2026/1/10 1:37:07 网站建设