当前位置: 首页 > news >正文

Nginx的反向代理

一、什么是Nginx;

         Nginx(发音为 "engine-x")​​ 是一个高性能的​​开源 Web 服务器、反向代理服务器​​和​​负载均衡器​​,以其​​高并发处理能力、低内存消耗​​和​​稳定性​​著称,在现代互联网架构中扮演核心角色。

1)核心功能;

  • Web 服务器
    • 替代 Apache: 直接处理 HTTP(S) 请求,快速响应静态资源(HTML、CSS、JS、图片)。

    • 优势:基于​​异步非阻塞 I/O 模型​​(如 epoll),能轻松应对数万并发连接,资源占用远低于传统多线程服务器。

  • ​​反向代理

    • 工作流程:用户 → Nginx (接收请求) → 转发请求 → 后端应用服务器(如 Node.js/Tomcat) → Nginx → 用户;

    • 主要作用:隐藏真实服务器 IP,抵御直接攻击;客户端无需知晓后端架构;缓存响应结果加速访问。

  • 负载均衡

    • 分发策略:轮询;加权轮询;IP哈希;最小连接数;

    • 健康检查:自动屏蔽故障节点,保障服务高可用;

二、Nginx的安装

1)准备三台虚拟服务器并连接好工具(工具自行选择);

2)使用二进制安装,官网下载Nginx;

Nginx下载官网:nginx: download

3)将压缩包上传到虚拟机并解压;

 4)创建软连接方便后续使用;

ln -s nginx-1.28.0 nginx

 5)进入Nginx文件目录安装Nginx并启动;

# 安装Nginx依赖的工具
yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel openssl openssl-devel
# 进入Nginx目录
cd nginx
# 检测配置依赖
./configure --prefix=/usr/nginx
# 进行编译并安装
make
make install
# 启动Nginx
nginx -c /usr/nginx/conf/nginx.conf# 拓展:
nginx -s stop # 停止服务
nginx -s reload # 重载配置文件(重启服务)
nginx -t # 检测配置文件是否存在错误# 进入本地浏览器输入服务器IP就可以正常访问;

 二、Nginx配置反向代理;

# 我们借用www.qq.com暂时作为我们后端代理的服务域名;# 进入Nginx配置文件目录;
cd /usr/nginx/conf
# 编辑配置文件;
vim nginx.conf
# 我暂时把文件中注释掉的行都删除,防止我们操作错误;
# 我这里使用XFTP进行文件编辑,这样方便查看,操作便捷;

1)配置前:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;location / {root   html;index  index.html index.htm;} error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}   }
}

2)配置后:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;location / {proxy_pass http://www.qq.com; # 只需要在这里配置一个域名代理,要全路径!}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}
# 重新加载Nginx配置文件;
nginx -s reload
# 并在浏览器输入我们的ip直接回车,会直接代理到www.baidu.com这个域名上;

http://www.lryc.cn/news/589173.html

相关文章:

  • 光米投影 多余之物的本思
  • IPM31主板E3300usb键盘鼠标安装成功Sata接口硬盘IDE模式server2003-nt-5.2.3790
  • 服务器上PHP环境安装与更新版本和扩展(安装PHP、Nginx、Redis、Swoole和OPcache)
  • 26.将 Python 列表拆分为多个小块
  • 22.计算指定范围内数字的幂次和
  • 【c++】在const成员函数中使用mutex
  • CCF-GESP 等级考试 2025年6月认证Python四级真题解析
  • 【时时三省】(C语言基础)通过指针引用多维数组
  • mac上的app如何自动分类
  • MongoDB 数据库 启用访问控制
  • GitHub 上 Star 数量前 8 的开源 Web 应用项目
  • AI大模型开发架构设计(22)——LangChain的大模型架构案例实战
  • 飞搭系列 | 子事件流节点,让逻辑复用更简单!
  • error: #147: declaration is incompatible with错误解决
  • 从OSI到TCP/IP:Linux网络架构深度解析
  • 【15】MFC入门到精通——MFC弹窗提示 MFC关闭对话框 弹窗提示 MFC按键触发 弹窗提示
  • OpenCV图像自动缩放(Autoscaling)函数autoscaling()
  • 如何加固Web服务器的安全?
  • Volo-HTTP 0.4.0发布:正式支持 HTTP/2,客户端易用性大幅提升!
  • python学习---dayday6
  • AbMole小课堂 | Angiotensin II(血管紧张素Ⅱ)在心血管研究中的多元应用
  • Kimi-K2与DeepSeek-Chat全面对比:哪款AI大模型更强?
  • 【Python】定时器快速实现
  • React响应式组件范式:从类组件到Hooks
  • 嵌入式开发学习(第二阶段 C语言笔记)
  • 文心4.5开源背后的战略棋局:百度为何选择All in开放?
  • Python_1
  • xss-labs 1-8关
  • 零信任安全架构:如何在云环境中重构网络边界?
  • kotlin布局交互