nginx反向代理

简介

Nginx反向代理是一种服务器架构模式,它允许Nginx服务器接收客户端的请求,然后将这些请求转发到上游服务器(例如应用服务器)进行处理,并将处理后的响应返回给客户端。在这个过程中,Nginx充当了客户端和上游服务器之间的中介。

使用Nginx作为反向代理服务器的好处包括:

  1. 负载均衡:Nginx可以配置为将请求分发到多个上游服务器,以实现负载均衡。这有助于平衡服务器负载,提高系统的可扩展性和可靠性。

  2. 缓存:Nginx支持缓存功能,可以缓存上游服务器的响应,从而减少对上游服务器的请求次数,提高响应速度。

  3. 安全性:Nginx提供了多种安全特性,如SSL/TLS加密、访问控制、限流等,可以保护应用服务器免受恶意攻击。

  4. 灵活性:Nginx的配置非常灵活,可以根据需求进行定制,支持各种复杂的路由规则和请求处理逻辑。

环境

Redhat 9.2

代理服务器:192.168.200.133 proxy

后端服务器:192.168.200.128 nginx

步骤

主机更名

复制代码
[root@lnmp ~]# hostnamectl  hostname proxy
[root@lnmp ~]# bash
[root@proxy ~]# 

[root@savle ~]# hostnamectl  hostname nginx
[root@savle ~]# bash
[root@nginx ~]# 

安装nginx(yum安装)

复制代码
[root@proxy ~]# yum -y install  nginx*
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:00:10 前,执行于 2024年04月24日 星期三 15时40分43秒。
软件包 nginx-1:1.20.1-14.el9.x86_64 已安装。
软件包 nginx-all-modules-1:1.20.1-14.el9.noarch 已安装。
软件包 nginx-core-1:1.20.1-14.el9.x86_64 已安装。
软件包 nginx-filesystem-1:1.20.1-14.el9.noarch 已安装。
软件包 nginx-mod-http-image-filter-1:1.20.1-14.el9.x86_64 已安装。
软件包 nginx-mod-http-perl-1:1.20.1-14.el9.x86_64 已安装。
软件包 nginx-mod-http-xslt-filter-1:1.20.1-14.el9.x86_64 已安装。
软件包 nginx-mod-mail-1:1.20.1-14.el9.x86_64 已安装。
软件包 nginx-mod-stream-1:1.20.1-14.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@proxy ~]# 


[root@nginx ~]# yum -y install  nginx*
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:00:37 ago on Wed 24 Apr 2024 03:34:21 PM CST.
Package nginx-1:1.20.1-14.el9.x86_64 is already installed.
Package nginx-all-modules-1:1.20.1-14.el9.noarch is already installed.
Package nginx-core-1:1.20.1-14.el9.x86_64 is already installed.
Package nginx-filesystem-1:1.20.1-14.el9.noarch is already installed.
Package nginx-mod-http-image-filter-1:1.20.1-14.el9.x86_64 is already installed.
Package nginx-mod-http-perl-1:1.20.1-14.el9.x86_64 is already installed.
Package nginx-mod-http-xslt-filter-1:1.20.1-14.el9.x86_64 is already installed.
Package nginx-mod-mail-1:1.20.1-14.el9.x86_64 is already installed.
Package nginx-mod-stream-1:1.20.1-14.el9.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@nginx ~]# 

关闭防火墙和selinux

复制代码
[root@proxy ~]# systemctl  stop firewalld.service 
[root@proxy ~]# setenforce  0
[root@proxy ~]#

[root@nginx ~]# systemctl stop  firewalld
[root@nginx ~]# setenforce  0
[root@nginx ~]# 

重启nginx

复制代码
[root@proxy ~]# systemctl  restart  nginx.service 
[root@proxy ~]# systemctl  enable nginx.service 
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[root@proxy ~]# 


[root@nginx ~]# systemctl  restart  nginx.service 
[root@nginx ~]# systemctl  enable  nginx.service 
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[root@nginx ~]# 

更改后端服务器的网页内容以示区分

复制代码
[root@nginx ~]# vim  /usr/share/nginx/html/index.html 
<html>

        <title>测试专用</title>
        <head> 
                 <meta charset="utf-8">
        </head>

        <body>hello word!后端服务器</body>
</html>
[root@nginx ~]# systemctl  restart nginx.service 

在代理服务里新建一个新的配置文件添加上后端服务器IP地址

//注意格式

复制代码
[root@proxy ~]# vim /etc/nginx/conf.d/proxy.conf
server {
    listen 80;
    server_name your_domai;

    location / {
        proxy_pass http://192.168.200.128;    //后端服务的IP
    }
}                                                                               
[root@proxy ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@proxy ~]# systemctl  restart  nginx.service                                                             

回到浏览器刷新

IP没变 而页面发生该变

相关推荐
CheungChunChiu7 分钟前
Android 系统中的 NTP 服务器配置与选择逻辑详解
android·运维·服务器
0wioiw01 小时前
跨网络互联技术(Nginx反向代理)
服务器·网络·nginx
程序员潇潇2 小时前
Jenkins 插件下载速度慢安装失败?这篇文章可能解决你头等难题!
运维·自动化测试·软件测试·功能测试·程序人生·职场和发展·jenkins
minji...2 小时前
Linux 进程概念 (三) (进程状态,僵尸进程,孤儿进程,进程优先级)
linux·运维·服务器
敲上瘾3 小时前
Docker镜像构建优化指南:CMD/ENTRYPOINT、多阶段构建与缓存优化
运维·缓存·docker·容器·架构
先生沉默先3 小时前
Nginx 反向代理学习:单端口统一访问多服务
学习·nginx·arcgis
ζั͡山 ั͡有扶苏 ั͡✾10 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat
jun_bai10 小时前
python写的文件备份网盘程序
运维·服务器·网络
欢喜躲在眉梢里11 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
weixin_5377658011 小时前
【容器技术】虚拟化原理与Docker详解
运维·docker·容器