首页 > 系统相关 >caddy 替代nginx? caddy测试体验

caddy 替代nginx? caddy测试体验

时间:2023-11-23 15:27:09浏览次数:39  
标签:-- caddy Caddyfile nginx 体验 网站 curl localhost

安装

官网: https://caddyserver.com
帮助文档: https://caddy2.dengxiaolong.com/docs/running
cadddy也是一个守护进程的前后台守护应用,后台服务一直监听cli的操作
所有所有的service的操作都支持

优势

目前来看 caddy的的优势是==nignx +acme.sh

  1. Ubuntu下安装
    sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add -
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
    sudo apt update
    sudo apt install caddy
    
  2. docker 安装
    docker pull caddy
    

应用

托管你的网站

假设你的网站存放在 ~/mysite 目录下,在终端运行如下命令,即可在浏览器中访问你的网站。

➜ caddy file-server --root ~/mysite
## 文件服务器,改变端口
caddy file-server --root /root/caddytest404/404html --listen :8081 --browse

image
image

是不是非常简单,只需要这一行命令,你就可以托管一个网站。现在打开浏览器,输入 127.0.0.1 即可访问你的网站。 在以上命令中, file-server 是caddy的子命令,表示要启动一个文件服务的意思, --root 表示要以哪个文件目录作为文件服务的根目录,也就是我们的网站所在文件夹。

现在你还只能用IP来访问你的网站,如果想通过一个名字比如 localhost ,就需要通过 --domain 来指定。

 caddy file-server --root ~/mysite --domain localhost

现在在浏览器中就可以通过 localhost 访问你的网站了,比IP要好记。
在公网上访问你的网站
在上一小节中,你的网站还只能在本机访问,如果你想让每个人都可以访问你的网站,首先你需要有一台具备公网IP的服务器,把你的网站目录文件放在这台服务器上。

现在,在这台服务器上运行如下命令,即可让所有人都可以访问你的网站,而且是HTTPS的。默认端口443

 caddy file-server --root ~/mysite --domain www.flysnow.org

深入

首先 caddy start 启动 后台运行
image

  1. 编写配置文件 Caddy的核心配置只是一个JSON文档
    把下面的内容保存成一个JSON文件:
{
	"apps": {
		"http": {
			"servers": {
				"example": {
					"listen": [":2015"],
					"routes": [
						{
							"handle": [{
								"handler": "static_response",
								"body": "Hello, world!"
							}]
						}
					]
				}
			}
		}
	}
}
  1. 本地json配置文件通过curl post到本地的服务 注意-d 后面的@不是文件名必须带,这被称作api方法
    image

我们使用另一个GET请求验证Caddy是否应用了我们的新配置:2019端口默认启动的demo端口

curl localhost:2019/config/

image

在浏览器中打开localhost:2015或使用curl测试它是否符合预期:

curl localhost:2015

image

cadddyfile配置 (推荐使用,简单配置)

最后也是转换成原生的json
制作Caddyfile
如果Caddy已经运行,停止它(Ctrl+C),然后运行:

caddy adapt
或者如果你把Caddyfile存储在其他地方,或者把它命名为Caddyfile以外的东西:

caddy adapt --config /path/to/Caddyfile

image
以上只是为了看到转换的json形式,没有任何实际作用,或者你需要使用api post到守护进程

你将看到JSON输出!这里发生了什么?
配置文件写法,带不带括号的区别,多个站点需要加{}
然后按回车键并输入你想要它做的事情,所以它看起来像这样:

localhost

respond "Hello, world!"

保存并从Caddyfile所在的同一文件夹中运行Caddy: 推荐使用caddy start

caddy start

你可以通过将它们包裹在花括号{ }中来在Caddyfile中定义多个站点。将Caddyfile 更改为:

localhost {
	respond "Hello, world!"
}

localhost:2016 {
	respond "Goodbye, world!"
}

你可以通过两种方式为Caddy提供更新的配置:直接使用API:

curl localhost:2019/load \
	-X POST \
	-H "Content-Type: text/caddyfile" \
	--data-binary @Caddyfile

或使用reload命令,它会为你执行相同的API请求:

caddy reload

测试第一个实例:
image

参考资料

caddy镜像反代网站
必看,caddy最简单应用

标签:--,caddy,Caddyfile,nginx,体验,网站,curl,localhost
From: https://www.cnblogs.com/codedingzhen/p/17846898.html

相关文章

  • nginx-通过配置不同的虚拟主机实现,不同的uri访问不同资源
    先来一个配置再来另外一个这两个地址对应的域名都配置解析了,并且解析的ipv4地址是你的服务器ip,且上面配置文件中的内容都在服务器做了相应的配置,对应的路径下的资源是需要准备好的(比如网站或图片或静态html)这些都设置好了以后就可以生效了......
  • 从规范管控到体验升级,看银行业如何把招聘玩出新花样?
    在数字化浪潮下,银行业的数字化转型成为了必然趋势,国有行、地方性中小银行都产生了大量的数字化人才需求。与此同时,各大行分行尤其是县域级支行都陆续出现了「基层人才供给不足」的现象,不仅如此,银行企业对校园人才的争夺也日益激烈,在今年银行业校园招聘中,仅六大国有行就发布了近10万......
  • CodeWhisperer 体验总结
    CodeWhisperer体验总结|CodeWhisperer是一款亚马逊新推出的通用代码生成器可以实时进行代码数据的提供还可以定义安全问题CodeWhisperer对个人用户是免费使用企业用户需要订阅使用亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、......
  • nginx-下载安装与配置
    nginx下载从官网下载,使用命令在linux下载即可,这个是目前稳定版最新的1.24.0版本,如果想要用旧版本直接修改版本号即可(旧版本我用的是1.12.2)下载需要使用wget命令,默认是没有的#安装wgetyuminstallwget#建议直接下载到合适的地方先切换cd/usr/local#新版wgethtt......
  • haproxy+nginx实现web负载均衡集群:
    haproxy+nginx实现web负载均衡集群: 主机|系统|IP地址|主要软件|—|—|—|—|—Haproxy服务器|CentOS7.9X86_64|192.168.8.101|haproxy-1.5.19.tar.gzNginx服务器1|CentOS7.9X86_64|192.168.8.200|nginx-1.12.0.tar.gzNginx服务器2|CentOS7.9X86_64|192.168.8.20......
  • Nginx loki监控日志的学习
    Nginxloki监控日志的学习背景学习自:https://mp.weixin.qq.com/s/Qt1r7vzWvCcJpNDilWHuxQ增加了一些自己的理解第一部分nginx日志的完善在logformat的后面增加一个:log_formatjson_analyticsescape=json'{''"msec":"$msec",'......
  • nginx高可用
    高可用方案简单说就是集群,什么是集群呢,加单说就是一个不够来俩个,俩不够来三。所以高可用就是在之前传统方式的基础上,万一nginx挂了,所有服务都将不可用。所以可以使用以下结构,进行设计让两台需要集群的nginx进行绑定一个虚拟ip。准备:需要两台虚拟机、两台都安装nginx、安装ke......
  • nginx出现很多进程,怎么杀掉进程。
    linux关闭nginx的方法:1、利用“ps-ef|grepnginx”命令查看nginx进程后,利用“kill-QUIT进程号”关闭nginx即可;2、利用“kill-TERM 999”快速杀死进程即可;3、利用“pkill-9nginx”强行停止进程即可。4、利用“kill-9 999”杀死进程5、查找进程ps-ef|grepnginx|g......
  • nginx安装
    1.安装、cd/usr/nginxwgethttp://nginx.org/download/nginx-1.9.2.tar.gztar-xzvfnginx-1.9.2.tar.gzcd/usr/nginx/nginx-1.9.2./configure--prefix=/usr/local/nginx-1.9.2--with-http_ssl_module--with-http_stub_status_modulemake&&makeinstall2......
  • nginx遇到的坑
    1)自定义请求头获取不到请求头request_token中包含'_'字符,会nginx过滤掉。默认情况下,underscores_in_headers为off,表示当客户端请求头中带有下划线的字段默认将会被标识为无效字段。解决方案添加如下配置:http{underscores_in_headerson;}2)nginx没有透传host请求头,tomcat......