Caddy之静态站点应用场景

一、背景与介绍

        无意之中看到公司部门的软件介质下载站点不是使用Nginx部署,而是使用Caddy。就比较好奇了,这个Caddy是个什么东西? 为啥他们没用Nginx呢,带着好奇心搜索了一下相关资料。

        官方解释:  Caddy is a powerful, extensible platform to serve your sites, services, and apps, written in Go. If you're new to Caddy, the way you serve the Web is about to change.

        Caddy是一个功能强大、可扩展的平台,可为您的网站、服务和应用程序提供服务,使用Go编写。如果你是Caddy的新手,那么你为网络服务的方式即将改变。

        官网地址: Welcome — Caddy Documentation

        Github项目地址: https://github.com/caddyserver/caddy

        Star数还挺高的,也是Go的一个明星项目。说白了看下来,总结下Caddy是个什么东东。

        Caddy是对标Nginx的开源Web服务器,同时可以做反向代理、负载均衡等功能。 Nginx有的功能它也有。 

        已经存在Nginx为啥还要使用Caddy呢?

        自我总结了Caddy的优势和应用场景如下:

        1、使用Go语言编写,二进制轻量、跨平台、占用资源小, 当然这个nginx也具备

        2、内置了很多开箱即用的功能,很多情景要编写Nginx的配置文件才能实现的功能,Caddy
就已经内置了。例如file-server部署一个简单的文件服务站点, 一条命令就能搞定, Nginx在这个场景里面就显得比较复杂(针对非运维或者不是很熟悉Nginx的人员而言)

        3、入门门槛低, 针对配置https站点友好,一两条命令就能将你的站点变为https站点,同时支持ssl证书续签,这个功能很多的一些小站长方便使用.

        下面带大家走一下file-server的demo就知道,想部署一个文件服务站点特别简单,3个步骤就完成了。

二、静态站点部署-入门操作

1、基本安装[centos、ubuntu等]

yum install yum-plugin-copr -y
yum copr enable @caddy/caddy -y
yum install caddy -y

2、以某个目录为基准,公开这个目录内容服务[类似文件服务器]

caddy file-server --root ./site/ --browse --listen :80

  以./site/为root目录,  --browse[目录、文件具有索引功能], 监听服务的端口在80

  此时先记录下服务器目录结构:

3、访问站点服务,查看效果

三、总结

        相对Nginx的地位来说,Caddy还任重道远。 开源业界各种说要取代Nginx的新闻资讯层出不穷,但是Nginx真的很能打,几乎没人会尝试一个新的Web服务器去取代已经高性能、稳定的Nginx。 除了个别大厂能够说使用自己自研的能力去替换Nginx, 相信绝大多数公司的体量能把Nginx玩明白都十分不起了!

        每个产品都有自己的特点、特定合适的应用场景, Caddy的入门门槛确实低很多,也有很多内置开箱即用的功能,这是它的优势。 但如果生产环境要使用高性能的Web服务,还是继续推荐使用Nginx,不要轻易尝试Caddy,除非你能Hold得住它,给你的应用场景带来正向的反馈,否则就不要自寻烦恼。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/293974.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谈谈MVCC机制

在MySQL中,MVCC(多版本并发控制)是InnoDB存储引擎使用的并发控制机制。它提供对数据的并发访问,并确保多用户环境中数据的一致性和隔离性。 InnoDB通过“Undo log”存储每条记录的多个版本,提供历史记录供读取&#x…

基于javaweb宠物领养平台管理系统设计和实现

基于javaweb宠物领养平台管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…

Php_Code_challenge12

题目: 答案: 解析: 字符串拼接。

深度学习| DiceLoss解决图像数据不平衡问题

图像数据不平衡问题 图像数据不平衡:在进行图像分割时,二分类问题中,背景过大,前景过小;多分类问题中,某一类别的物体体积过小。在很多图像数据的时候都会遇到这个情况,尤其是在医学图像处理的…

燃气官网安全运行监测系统-阀井燃气监测仪-旭华智能

近年来,燃气爆炸事故频发,造成了重大人员伤亡和财产损失。这也再次为我们敲响警钟,燃气是我们日常生活中不可或缺的能源,但其潜在的危险性也是不容小觑。因此在重要节点加装燃气阀井气体监测仪,并将数据上传到系统平台…

渐变颜色作图

clear clc close all % 生成 x 值 x linspace(0, 5, 1000); % 计算对应的 y 值(二次函数分布) y x .^ 2; % 添加一些随机噪声 y y randn(size(y)); clinspace(1,10,length(x)); arry1[x,y]; arry2sortrows(arry1,2,descend); arry3[arry2,c]…

vue 文件下载

1.返回路径下载 注: 针对一些浏览器无法识别的文件格式(如pdf、xls、ppt)。可以直接在地址栏上输入URL即可触发浏览器的下载功能。 情况1 //地址栏输入文件URLwindow.location.href URLwindow.open(URL) 注:该方式将下载逻辑放在后端处理&#xff0c…

pyqt 创建右键菜单栏

class MainModule(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__(parentNone)self.setupUi(self)# 允许出现菜单栏self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu)# 对空间添加右键菜单栏处理 self.tableWidget.customContextMenuRequested.…

学习vue3第十二节(组件的使用与类型)

1、组件的作用用途 目的: 提高代码的复用度,和便于维护,通过封装将复杂的功能代码拆分为更小的模块,方便管理, 当我们需要实现相同的功能时,我们只需要复用已经封装好的组件,而不需要重新编写相…

Arcgis获取乡镇矢量

现有全中国乡镇矢量边界(2023年),如何获取其中的自己所需的子区域(一个小镇)呢? 可以先去查一下自己的镇代码,我查的是东马圈镇代码 打开分析工具-提取分析-筛选 刚刚记下了FID 验证一下&am…

跑腿小程序|基于微信小程序的跑腿平台小程序设计与实现(源码+数据库+文档)

跑腿平台小程序目录 目录 基于微信小程序的跑腿平台小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、跑腿任务管理 3、任务类型管理 4、公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、…

LeetCode226:反转二叉树

题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 解题思想 使用前序遍历和后序遍历比较方便 代码 class Solution { public:TreeNode* invertTree(TreeNode* root) {if (root nullptr) return root;swap(root->left, root…

day4 linux上部署第一个nest项目(java转ts全栈/3R教室)

背景:上一篇吧nest-vben-admin项目,再开发环境上跑通了,并且build出来了dist文件,接下来再部署到linux试试吧 dist文件夹是干嘛的? 一个pnpn install 直接生成了两个dist文件夹,前端admin项目一个&#xf…

在低成本loT mcu上实现深度神经网络端到端自动部署-深度神经网络、物联网、边缘计算、DNN加速——文末完整资料

目录 前言 DNN 量化神经网络 并行超低功耗计算范式 面向内存的部署 结果 原文与源码下载链接 REFERENCES 前言 在物联网极端边缘的终端节点上部署深度神经网络( Deep Neural Networks,DNNs )是支持普适深度学习增强应用的关键手段。基于低成本MCU的终端节点…

Vue小练习:记录任务所花费时间

文章目录 笔记遇到的问题(有解决方案的)如何使用按钮控制一个页面是否显示vue怎么向后端发送请求如何添加新功能?如何接收前端发送的数据?如何把一个类对象存储到数据库如何实现自动注入 未解决的问题无法将该差值表达式放到一个方…

Mojo与Python——wsl安装mojo

文章目录 前言一、wsl设置二、安装步骤三、mojo初体验四、vscode联合开发总结 前言 此课程为系列课程,借助python语言来学习python语言的超集mojo。可以持续关注。 一、wsl设置 powershell查看wsl的版本,如果版本是1需要修改为2。 二、安装步骤 1.安装m…

国产桌面操作系统统一身份认证及2FA双因子认证安全升级方案

某金融运营服务公司,主要负责业务处理、客户服务、业务监控、报表统计等金融运营服务,为集团下设二级单位,坐落于一线城市,对政策风向有很高的敏锐度。 该公司已为公司业务人员、客户服务、监督员等配备了数百台国产桌面操作系统…

从输入url到页面展示的过程

唠唠叨:我不想误人子弟,我这篇算是搬运工,加上自己的理解做点总结,所以还请大家科学上网去看这篇:https://aws.amazon.com/cn/blogs/mobile/what-happens-when-you-type-a-url-into-your-browser/ 是这六个步骤&#…

QuillEditor无法识别显示含有div和转义字符的问题

在解决前端根据爬取抓过来的数据时&#xff0c;要显示到富文本框中&#xff0c;如下&#xff1a; <div class\"info_cont\" id\"zoomcon\">\n <p><br></p><p style\";text-align: justify;font-family: Calibri;font-size…