Nginx安装和反向代理配置

2023-11-11

什么是反向代理

反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。反向代理代理的是服务器,反向代理暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
在这里插入图片描述

一、下载nginx

进入官网地址:http://nginx.org/en/download.html
下载最新的稳定版本,目前最新稳定版是 nginx-1.24.0,如图下:

在这里插入图片描述

下载成功后会得到一个zip包,直接解压到自己想要的目录就好
在这里插入图片描述

二、配置nginx

打开conf文件夹
在这里插入图片描述

找到nginx.conf文件,打开

在这里插入图片描述

以我现在的项目为例,以下是我的nginx.conf文件代码:


#user  nobody;
worker_processes 1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events {
    worker_connections 1024;
}


http {

    upstream portal {
        ip_hash;
        server 127.0.0.1:3001; #需要代理的ip端口
    }

    upstream cas {
        ip_hash;
        server 127.0.0.1:5000; #需要代理的ip端口
    }

    upstream exchange {
        ip_hash;
        server 127.0.0.1:3000; #需要代理的ip端口
    }

    upstream adminpannel {
        ip_hash;
        server 127.0.0.1:4040; #需要代理的ip端口
    }


    server {
        listen 80; 							#监听端口,默认是80	
        server_name portal.stvs.com;     	#反向代理服务器名称,供用户访问
        location / {       					#匹配客户端请求url
            proxy_pass http://portal;  		#反向代理配置,将请求转发到指定服务
            proxy_set_header Host $http_host;   #允许重新定义或者添加发往后端服务器的请求头,默认值
        }
    }

    server {
        listen 80;
        server_name exchange.stvs.com;
        location / {
            proxy_pass http://exchange;
            proxy_set_header Host $http_host;
        }

    }

    server {
        listen 80;
        server_name cas.stvs.com;
        location / {
            proxy_pass http://cas;
            proxy_set_header Host $http_host;
        }

    }

    server {
        listen 80;
        server_name adminpannel.stvs.com;
        location / {
            proxy_pass http://adminpannel;
            proxy_set_header Host $http_host;
        }

    }
}

三、配置hosts

先了解什么是hosts?
hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个映射关系。
当用户在浏览器中输入一个需要登录的网址时,系统会首先从hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
注意:hosts文件只能配置ip和域名的映射关系,但是不能配置端口号,默认访问80端口

不管你是windwos还是linux,那都是有的。
默认路径为:C:\Windows\System32\drivers\etc

打开路径,可以看到hosts文件,不过有些电脑是大写的HOSTS
在这里插入图片描述

打开hosts文件,追加配置,如下图:
在这里插入图片描述
我这里的配置是对应的上面nginx.conf文件的配置,一看就明白。

到这里,Nginx反向代理就算是配置好了。

四、启动nginx

找到上面解压nginx文件,双击nginx.exe,如下:
在这里插入图片描述

双击nginx.exe后,有时候会看到屏幕会闪一下,也就是控制台打开又马上消失。有时候没看到有明显反应。
双击后应该就是已经打开了nginx,可以去任务管理器找找看有没有nginx进程,如下图:

在这里插入图片描述

当然也可以使用nginx命令来启动和关闭nginx,具体就自行百度了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx安装和反向代理配置 的相关文章

  • kubernetes 集群中 django 应用程序的 Nginx 配置

    我在为部署在 kubernetes 中的 django 应用程序创建 nginx 配置文件时遇到困难 Nginx 和 app 是同一集群中的两个独立容器 据我了解 容器可以通过 127 0 0 1 XX 和主机名相互通信 我为此使用 min
  • Nginx - 自定义 404 页面

    Nginx PHP 在 fastCGI 上 对我来说非常有用 当我输入不存在的 PHP 文件的路径时 我不会得到默认的 404 错误页面 任何无效的 html 文件都会出现该错误页面 而只会得到 未指定输入文件 如何自定义此 404 错误页
  • nginx docker 容器:502 错误网关响应

    我有一个服务监听 8080 端口 这不是一个容器 然后 我使用官方镜像创建了一个 nginx 容器 docker run name nginx d v root nginx conf etc nginx conf d p 443 443 p
  • 错误:从上游读取响应标头时上游过早关闭连接 [uWSGI/Django/NGINX]

    我目前在用户正在进行的查询中总是得到 502 它通常返回 872 行 在 MySQL 中运行需要 2 07 然而 它返回了大量信息 每一行包含很多东西 有任何想法吗 运行 Django tastypie Rest API Nginx 和 u
  • nginx 匹配位置中的特定单词

    我在匹配 nginx request body 变量中的特定单词时遇到问题 如果正文请求中有特殊单词 我想代理传递 所以我的方法是这样的 location php if request body proxy pass http test p
  • 如何在运行 NGINX Docker 容器的 AWS EC2 上启用 HTTPS?

    我在 AWS 上有一个运行 Amazon Linux 2 的 EC2 实例 在上面 我安装了 Git docker 和 docker compose 完成后 我克隆了我的存储库并运行docker compose up让我的生产环境启动 我访
  • NGINX hashbang 重写

    我想知道 hashbang url 的位置或重写 nginx 指令会是什么样子 基本上像前端控制器一样通过 hashbang 路由所有非 hashbanged url 所以 http example com about staff 将路由至
  • Openresty 中的并发模型是什么?

    我很难理解 openresty 或 nginx 的并发模型 我读了Lua变量作用域 http wiki nginx org HttpLuaModule Lua Variable Scope 它解释了变量的生命周期 但它没有说明对它们的并发访
  • Nginx - Heroku Docker - 是否可以在 Heroku 上运行 Nginx 作为反向代理

    我试图弄清楚如何使用 Nginx 在 Heroku 应用程序上构建反向代理 问题是 Heroku 似乎每个应用程序只接受一个容器 但我的应用程序系统至少会使用三个容器 一个用于 Nginx 一个用于我的应用程序前端 一个用于我的业务逻辑服务
  • 如何使用gunicorn和bokeh服务配置Nginx

    我想提供一个 Flask 应用程序 该应用程序使用本地网络服务器上的嵌入式散景服务 为了说明这一点 我使用了一个例子散景服务示例 https github com bokeh bokeh blob 0 12 11 examples howt
  • Nginx merge_slashes 重定向

    我在我的 Java 应用程序中使用 nginx 我的问题是 nginx 正在合并斜杠 我无法将我的网站重定向到正确的版本 例如 http goout cz cs koncerty praha 被合并到 http goout cz cs ko
  • 错误请求 400:nginx/gunicorn

    我已经遵循了这个教程 http blog wercker com 2013 11 25 django 16 part3 html http blog wercker com 2013 11 25 django 16 part3 html我现
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 连接被拒绝:当uwsgi和nginx在不同容器中时

    我正在尝试设置两个 docker 容器 是的 无需 docker compose 分开 一个带有 nginx 另一个带有带有基本 Flask 应用程序的 uwsgi 我在 docker 内的同一网络中运行容器我的 nginx 配置已添加 链
  • 上游太大 - nginx + codeigniter

    我从 Nginx 收到此错误 但似乎无法弄清楚 我正在使用 codeigniter 并使用数据库进行会话 所以我想知道标题怎么会太大 有没有办法检查标题是什么 或者看看我能做些什么来修复这个错误 如果您需要我提供任何conf文件或其他文件
  • 为什么我会收到 ElasticBeanstalk::ExternalInitationError?

    我的应用程序基于 RubyOnRails 构建 并使用乘客部署为弹性 beanstalk 应用程序 我尝试向 nginx 服务器添加标头并重新启动它 这是我的配置文件 是 aws elastic beanstalk 中 ebextensio
  • Nginx url 限制 502 网关

    我有一个问题 但我接受绕过此功能的其他建议 基本上 我在 get 请求中向我的服务器发送大约 3000 个字符的大行文本 然后服务器将其作为 url 中的参数发送到谷歌翻译 问题 当 url gt 1900 个字符时 Nginx 会抛出 5
  • 如何配置 nginx 重写规则以使 CakePHP 在 CentOS 上运行?

    大家好 请帮帮我 我正在尝试在运行 Nginx 和 Fact CGI 的 Centos 服务器上设置 cakephp 环境 我已经在服务器上运行了一个 WordPress 站点和一个 phpmyadmin 站点 因此我已经正确配置了 PHP
  • 为什么将域连接到“Shopify”需要 CNAME 和 A 记录?

    为什么将域连接到 Shopify 需要CNAME and ARecord ref https help shopify com en manual domains add a domain using existing domains co
  • 通过 PHP 脚本重新启动 Nginx

    我目前正在努力使我的 WordPress 插件与 nginx 兼容 该插件需要访问 conf文件在wp content uploads目录 以便它可以添加所需的规则 目前 它更新了 htaccess文件位于同一目录中 更改立即生效 无需干预

随机推荐

  • Web服务器群集:Tomcat配置https证书

    目录 一 理论 1 SSL 2 HTTPS协议和HTTP协议的区别 3 https证书配置 4 tomcat强制使用https 二 实验 1 https证书配置过程 2 tomcat强制使用https 三 总结 一 理论 1 SSL 1 概
  • 应用RFID技术的智慧图书馆系统带来了哪些便利?

    RFID技术是一种非接触式的自动识别技术 它通过射频信号自动识别目标对象并获取相关数据 识别工作无须人工干预 可工作于各种恶劣环境 RFID技术可识别高速运动物体并可同时识别多个标签 操作快捷方便 RFID技术主要由三个部分组成 标签 由耦
  • 最流行的自动化测试工具,总有一款适合你(附部分教程)

    前言 在自动化测试领域 自动化工具的核心地位毋庸置疑 本文总结了最顶尖的自动化测试工具和框架 这些工具和框架可以帮助组织更好地定位自己 跟上软件测试的趋势 这份清单包含了开源和商业的自动化测试解决方案 1 Selenium Selenium
  • App Tamer for Mac(CPU智能控制管理) v2.8.1

    App Tamer 是一款针对 macOS 平台的软件 它可以帮助用户有效地管理和控制正在运行的应用程序 通过优化 CPU 使用率 减少电池消耗和降低系统负载 App Tamer 提供了更加流畅和高效的计算体验 App Tamer mac软
  • 程序员下班儿后如何提升自己?

    作为一个程序员 下班后提升自己是非常重要的 以下是GPT提供的一些建议 1 学习新技术 技术行业发展迅速 不断学习新技术是保持竞争力的关键 了解行业趋势 选择合适的新技术进行学习和实践 2 参与开源项目 积极参与开源项目可以提高自己的编码能
  • 【MATH6005-Introduction to Python and MATH6181-Python & Forecasting】

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 Mid module Assignment Assignment 1 TASK1 Function prototype Function Behavior atributes
  • vue实现浏览器桌面通知

    浏览器桌面通知 当浏览器最小化 或者切换到其他标签页不在当前系统页面 或在其他页面时依然可以显示通知 使用前注意 生产环境地址必须为https协议 开发环境可以用localhost IP地址 且必须允许显示通知才能显示桌面通知 存在兼容性问
  • golang urfave/cli 命令包

    官方文档 https godoc org github com urfave cli 提供了一个命令行框架 go get github com urfave cli import github com urfave cli 导入包 cli
  • GET和POST之间的主要区别

    1 GET是从服务器上获取数据 POST是向服务器传送数据 2 在客户端 GET方式在通过URL提交数据 数据在URL中可以看到 POST方式 数据放置在HTML HEADER内提交 3 对于GET方式 服务器端用Request Query
  • 认识动态规划

    你的打赏是我奋笔疾书的动力 概念篇 线性规划 下图给出了模型 其中目标函数和约束条件里面的不等式函数都是关于xi的线性函数 这类问题都有一些不错的求解方式 整数规划 若在线性模型中 变量限制为整数 则称为整数线性规划 即为整数规划 可见整数
  • 低代码——前端进阶的必修课

    近年来 随着技术的不断发展 前端开发工作变得越来越重要 作为初中级前端工程师 我们始终在追求进步 不断探索新技术 新思路 以提升自己的竞争力 而如今 学习低代码技术已刻不容缓 在这篇文章中 我将为大家介绍前端进阶的高级指南 重点探讨低代码技
  • JS-----数据结构与算法(2)

    目录 三 栈结构 1 认识栈结构 2 封装栈结构 3 应用 3 1 十进制转二进制 3 2 进制转换法 四 队列 1 队列是什么 2 队列的封装 3 队列的应用 击鼓传花 4 双端队列 5 判断是否为回文 三 栈结构 1 认识栈结构 栈 s
  • hdu 2024C语言合法标识符

    链接http acm hdu edu cn showproblem php pid 2024 思路 根据定义写 1 所有标识符必须由一个字母 a z或A Z 或下划线 开头 2 标识符的其它部分可以用字母 下划线或数字 0 9 组成 3 大
  • python中format的用法-python基础_格式化输出(%用法和format用法)

    目录 用法 1 整数的输出 o oct 八进制 d dec 十进制 x hex 十六进制 1 gt gt gt print o 20 2 24 3 gt gt gt print d 20 4 20 5 gt gt gt print x 20
  • 体积着色器(Volume Shader)

    控制体积材质 如灯光雾 的颜色 透明度和蒙版不透明度 通过该着色器 可以直接将其他属性和效果与材质的颜色 透明度和蒙版不透明度相连 体积着色器 Volume Shader 可用于 聚光灯 Spot Light 点光源 Point Light
  • 月份表示用指针数组保存表示每个月份的英文单词以及“Illegal month”的首地址,然后编程实现:从键盘任意输入一个数字表示月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Il

    提示 各个月份的写法分别是 January February March April May June July August September October November December 程序的运行结果示例1 Input mon
  • WDK学习笔记_区块链项目实现_MAE

    文章目录 摘要 项目 区块链凤鸡溯源项目的实现 实现总流程 1 1 编写区块链网络配置文件 1 1 1 证书配置文件 crypto config 总体逻辑 详情 代码 1 1 2 创世区块及通道配置文件 总体逻辑 详情 代码 1 1 3 启
  • Chrome浏览器修改页面背景色

    转自 http jingyan baidu com article 5552ef47315ef9518ffbc9e7 html 有时候我们用浏览器看网页的内容时 如果长时间盯着白底黑字的屏幕 眼睛会很累 希望把网页页面的默认颜色改为淡绿色
  • 二叉树概念

    1 掌握树的基本概念 树 是一类重要的非线性数据结构 是以分支关系定义的层次结构 每个结点有零个或多个子结点 没有父结点的结点称为根结点 每一个非根结点有且只有一个父结点 除了根结点外 每个子结点可以分为多个不相交的子树 2 掌握树的相关概
  • Nginx安装和反向代理配置

    什么是反向代理 反向代理是指以代理服务器来接受internet上的连接请求 然后将请求转发给内部网络上的服务器 并将从服务器上得到的结果返回给internet上请求连接的客户端 此时代理服务器对外就表现为一个反向代理服务器 反向代理代理的是