首页 > 系统相关 >可以取代宝塔和Nginx的Web服务器:Caddy

可以取代宝塔和Nginx的Web服务器:Caddy

时间:2024-04-04 19:35:22浏览次数:19  
标签:Web Caddy sudo caddy apt Nginx https

一、安装

官网文章:https://caddyserver.com/docs/install

我们的服务器是Ubuntu,在官网上得到下述5条命令,复制粘贴后即可安装成功:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
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

PS:在实际的安装里,上述5行代码需要逐行拷贝了去执行,才能安装成功。

二、运行

如果80或443端口被占用,导致Caddy无法启动,请移步到这篇文章:Caddy进阶:因为Nginx占用了80和443端口导致Caddy无法启动

caddy只是一个命令行,安装好了caddy就是说linux能支持caddy这个命令了。

首次安装后,caddy不会自动启动。

4、caddy最好的方式,进阶,就是在你的某个目录下,放置一个名为Caddyfile的文件(没有扩展名),在文件里编排好内容,然后执行caddy run即可启动;

在Linux服务器上,自己规划的目录里,比如新建/home/public/software/caddy目录,用vi编辑器,新建一个文件

vi Caddyfile

内容如下:(tls后面的参数是用于申请证书的自己的电子邮件。)

www.abc123.com {
        reverse_proxy http://cloudtest.vicp.net:32684
        tls [email protected]
}

然后让caddy重载配置文件:

sudo caddy reload

在保存Caddyfile的目录里,启动caddy

sudo caddy start

三、常用命令

1、caddy run和caddy start

caddy的启动,有两个命令,一个是caddy run,一个是caddy start,两者的区别就是后者是守护进程的方式启动。

2、自动修复Caddyfile

caddy fmt --overwrite

有一次修改了Caddyfile,保存后执行caddy reload,报错,说文档的第11行有语法错误。用肉眼怎么也看不出错误来。于是按照报错的提示,执行了上述命令。错误就被自动改正了。

四、为什么说取代宝塔和Nginx?

对于Linux的菜鸟来说,很多服务器上安装宝塔,只是为了安装和使用Nginx。因为用宝塔,可以在web界面上管理nginx,配置一堆的网站和维护SSL证书。

Caddy对反向代理的配置极其简单,如上所述;

Caddy最大的厉害之处,是自动向Let’s Encrypt申请证书、续签证书,自动配置全站https。

另外Caddy在反向代理WebSocket的长连接的配置也是内置的、极其简单。

一句话:Caddy让SSL和反向代理变得极其简单了。

标签:Web,Caddy,sudo,caddy,apt,Nginx,https
From: https://www.cnblogs.com/amisoft/p/18114465/caddy

相关文章

  • Caddy进阶:因为Nginx占用了80和443端口导致Caddy无法启动
    日志里面有个红色的error,表示安装后没有启动caddy的服务。看了很多文章,感觉都没有把我当小白。自己折腾了几个小时,总算搞明白了。1、如果80端口和443端口被其它程序(比如Nginx)占用了,得先卸载Nginx。查看443端口被谁占用了:root@web005:~#sudolsof-i:443COMMANDPIDUSE......
  • 第6天:基础入门-抓包技术&HTTPS协议&APP&小程序&PC应用&WEB&转发联动
    第六天一、抓包技术-HTTP/S-Web&APP&小程序&PC应用想要抓包都必须要配置代理和端口,这些工具只能抓取HTTP/S协议的数据,走其他协议的数据抓不了有些APP具有代理检测功能,若发现你开启了代理,直接无法访问APP1.Web网页:安装完抓包软件之后,需要在软件上导出CA证书,在浏览器上......
  • CHC5054Web应用程序开发
    Web应用程序开发:课件分配这门课程相当于CHC5054模块100%的分数。您还需要以下模块的技能:●CHC4008(Python编程)●CHC4007(设计报告)●CHC5049(数据库设计)●CHC5226(安全实施)规格您的任务是开发和测试一个简单的基于网络的学习管理系统的完整堆栈,该系统旨在促进教育课程的管理、交付和跟......
  • CTFshow web入门 爆破
    web21随便输入一个账号密码发现是base64调一下设置先clear了再添加要爆破的部分由于那一段分不开所以设置头为admin密码为shark63,账号一般为admin所以不用管(我用的不好,别人直接出来了我得这样子才行,将就着看)web22域名失效了,看的wp很细节,在子域名里面有flagweb23......
  • ctfshow web入门 php特性 web89--web107
    web89看到有intval函数这里建议先观看一篇博客好绕过https://blog.csdn.net/wangyuxiang946/article/details/131156104?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171220387216800197044297%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%......
  • 有了uWGSI服务器,Django 为什么还需要 Nginx?
     一个普通的个人网站,访问量不大的话,当然可以由uWSGI和Django构成。但是一旦访问量过大,客户端请求连接就要进行长时间的等待。这个时候就出来了分布式服务器,我们可以多来几台Web服务器,都能处理请求。但是谁来分配客户端的请求连接和Web服务器呢?Nginx就是这样一个管家......
  • 第01章 JavaWeb基础
    B/S架构是Brower/Server的缩写,即浏览器/服务器结构。在这种结构中,客户端不需要开发任何用户界面,而是通过浏览器(如IE,Firefox,Chrome,Safari等等)向服务器发送请求,由服务器进行处理后将响应结果返回浏览器,最后浏览器将结果内容展示出来。我们写的JavaWeb程序是在服务器端运行的。W......
  • CTFHub(web RCE)
    目录RCE命令注入方法一:方法二:方法三:注意:过滤cat过滤空格过滤目录分隔符过滤运算符综合过滤练习文件包含php://input远程包含读取源代码方法一:方法二:方法三:eval执行RCE(remotecommand/codeexecute,远程命令执行)命令执行一般发生在远程,故被称为远程命......
  • 使用VPS搭建本地可以访问的gemini(个人记录)参考github,cloudflare,nginx
    第一步:购买一台VPS服务器,可以正常ping通google和baidu,不可细说 第二步:参考这个网站的docker部分,docker到linux服务器中,不使用vercel部署(被墙)https://juejin.cn/post/7317700926826922035docker项目地址:https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.......
  • ctfshow--web13 .user.ini上传和bak源码泄露
    upload.php.bak源码泄露了审计一下点击查看代码<?php header("content-type:text/html;charset=utf-8"); $filename=$_FILES['file']['name']; $temp_name=$_FILES['file']['tmp_name']; $size=$_FILES['file'......