用Nginx搭建一个具备缓存功能的反向代理服务
在同一台服务器上,使用nginx
提供服务,然后使用openresty
提供反向代理服务。
参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx
。
参考《用Nginx搭建一个可用的静态资源Web服务器》搭建静态资源Web服务器,但是/nginx/conf/nginx.conf
里边的内容修改为:
worker_processes 1;
events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;gzip on;gzip_min_length 1;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;server {# 让nginx只能监控本地发来的8080端口listen 127.0.0.1:8080;server_name localhost;access_log /nginx/logs/Sea123.access.log;location / {alias dlib/;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
/nginx/sbin/nginx -c /nginx/conf/nginx.conf
使用配置文件/nginx/conf/nginx.conf
启动nginx
。
参考《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1,使用systemd管理OpenResty服务》安装Openresty
,但是/usr/local/openresty/nginx/conf/nginx.conf
里边的内容修改为:
worker_processes 1;
events {worker_connections 1024;
}
http {upstream local {server 127.0.0.1:8080;}include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {proxy_pass http://local;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
使用/usr/local/openresty/nginx/conf/nginx.conf
当成配置启动openresty中的nginx
。
在Firefox输入ip
,然后按下F12,选择网络,刷新页面,然后点击文件为/
的记录,可以看到响应头里边的Server
为openresty/1.19.3.1
。
此文章为10月Day 20学习笔记,内容来源于极客时间《Nginx 核心知识 150 讲》
相关文章:

用Nginx搭建一个具备缓存功能的反向代理服务
在同一台服务器上,使用nginx提供服务,然后使用openresty提供反向代理服务。 参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx。 参考《用Nginx搭建一个可用的静态资源Web服务器》搭建静态资源Web服务器,但是/nginx/conf/nginx.conf里…...

YOLOv5改进实战 | 更换主干网络Backbone(三)之轻量化模型Shufflenetv2
前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…...
【Markdown】 Markdown 操作备忘录
To Do List 显示目前todo list 的状态 getLogger() 单例类, 通过引入模块,获取单例日志对象 结果可视化调研 模型结果保存及测试 - [ ] getLogger() 单例类, 通过引入模块,获取单例日志对象 - [ ] 结果可视化调研 - [x] 模型结果…...

【自动化测试】基于Selenium + Python的web自动化框架
一、什么是Selenium? Selenium是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: 1、Selenium IDE&…...
zookeeper连接客户端操作数据时报错Socket is not connected
文章目录 一、报错信息二、问题描述三、原因分析:四、解决方案: 一、报错信息 DEBUG org.apache.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown input java.net.SocketException: Socket is not connectedat sun.nio.ch.Net.tra…...

mysql select语句中from 之后跟查询语句
概念:将from后面的查询语句放在FROM的后面,则查询到的结果,就会被当成一个“表”; 这里有一个特别要注意的地方,放在FROM后面的子查询,必须要加别名。 select dui.id,dui.party_service_id mes_id, dui.party_id,dui.…...
Yolov8小目标检测(26):多尺度空洞注意力(MSDA) | 中科院一区顶刊 DilateFormer 2023.9
💡💡💡本文独家改进:多尺度空洞注意力(MSDA)采用多头的设计,在不同的头部使用不同的空洞率执行滑动窗口膨胀注意力(SWDA),全网独家首发,创新力度十足,适合科研 多尺度空洞注意力(MSDA) | 亲测在红外弱小目标检测涨点,map@0.5 从0.755提升至0.784 💡�…...

NLP:从头开始的文本矢量化方法
一、说明 NLP 项目使用文本,但机器学习算法不能使用文本,除非将其转换为数字表示。这种表示通常称为向量,它可以应用于文本的任何合理单位:单个标记、n-gram、句子、段落,甚至整个文档。 在整个语料库的统计 NLP 中&am…...
Kotlin 中 apply、let、also、run的区别
apply apply 函数接收一个目标并回来该目标自身。它答应您在目标上履行一些操作,同时仍然回来原始目标。 fun <T> T.apply(block: T.() -> Unit): TT 是目标的类型,block 是一个 lambda 表达式,能够在该目标上履行一些操作。在这个…...

Android JKS MD5 SHA1 公钥生成 私钥生成 APP备案 内容获取
1 查看 jks keytool -list -v -keystore /Users/lipengfei/Desktop/android/androidproject.jks密钥库类型: jks 密钥库提供方: SUN您的密钥库包含 1 个条目别名: ddgj 创建日期: 2018-11-16 条目类型: PrivateKeyEntry 证书链长度: 1 证书[1]: 所有者: CNcn, OUcn, Ocn, Lcn,…...
常用linux的命令(持续更新)
1.防火墙相关 centos7 防火墙 查状态:systemctl status firewalld.service 关闭:systemctl disable firewalld.service 重启生效 关闭:systemctl stop firewalld.service 马上生效 systemctl stop firewalld 临时关闭防火墙 systemctl disabl…...

《动手学深度学习 Pytorch版》 8.7 通过时间反向传播
8.7.1 循环神经网络的梯度分析 本节主要探讨梯度相关问题,因此对模型及其表达式进行了简化,进行如下表示: h t f ( x t , h t − 1 , w h ) o t g ( h t , w o ) \begin{align} h_t&f(x_t,h_{t-1},w_h)\\ o_t&g(h_t,w_o) \end{ali…...
2023-10-20 游戏开发-cocos旧版本2.0.6-下载地址-记录
官方下载地址: Cocos Creator 下载 - 轻量高效的开发引擎 Tags cocos/cocos-engine GitHub cocos creater 旧版本: Tool/Package/REAMDE.md adofsauron/CocosCreatorFAQ - Gitee.com v2.0.6版本: Mac版:http://cocos2d-x.org/filedown/CocosStudioForMac-v2.0.…...

Python 框架学习 Django篇 (三) 链接数据库
只要你是做后端开发的,那么就离不开各种数据库,Django框架对各种数据库都非常友好,比如常见的PostgreSQL、MySQL、SQLite、Oracle,django都对他们提供了统一调用api,我们这里主要使用mysql数据库作为演示 一、ORM机制 …...
【debug】安装diffusion的bug解决合集
环境问题 ImportError: cannot import name ‘CLIPImageProcessor’ from ‘transformers’ (D:\Python\lib\site-packages\transformers_init_.py) https://github.com/huggingface/transformers/issues/23340 解决:查看更详细信息,安装环境 transfor…...
面试题 01.02. 判定是否互为字符重排
题目来源: leetcode题目,网址:面试题 01.02. 判定是否互为字符重排 - 力扣(LeetCode) 解题思路: 遍历计数即可。 解题代码: class Solution { public:bool CheckPermutation(string s1, …...

笔记39:在Pycharm中为项目添加新解释器
很久不用pycharm都生疏了 a a a 第一步:创建虚拟环境 略 a a a 第二步:将虚拟环境应用到项目中去 【File】----【Settings】----【Project:~~~】-----【Project Interpreter】----【选择合适的解释器】 因为我们要用新的解释…...
C#—VB.NET的相同点与不同点
目录 前言 一、相同之处 二、不同之处 三、总结 前言 VB.NET 和C#是两种由微软公司开发的面向对象编程语言。它们在语法上有很多相似之处,但也有一些不同之处。本文将讨论 VB.NET 和C#之间的相同之处和不同之处。 一、相同之处 1.面向对象编程语言:…...
【Edabit 算法 ★☆☆☆☆☆】【返回数组第一个元素】 Return the First Element in an Array
【Edabit 算法 ★☆☆☆☆☆】【返回数组第一个元素】 Return the First Element in an Array arrays language_fundamentals Instructions Create a function that takes an array containing only numbers and return the first element. Examples getFirstValue([1, 2, 3…...

在Qt中怎么操作MySQL数据库
一、安装驱动 (1)安装 在Qt中操作MySQL数据库首先要安装mysql的驱动文件,将MySQL下的libmusql.dll文件复制到Qt的安装路径下的bin文件夹下即可。 本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...