帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Ubuntu上安装Caddy网站、服务和应用服务器?

如何在Ubuntu上安装Caddy网站、服务和应用服务器?

发布时间:2020年05月26日 08:36:32    来源: A5互联

如今有很多服务器环境来运行网站、应用和服务。你可以走标准路径或容器路径。你也可以走虚拟机路线,然后沿着这些路径中的任何一条或者混合搭配。

今天我们用另一种方法来提供这些网站、服务和应用程序呢,这个平台就是Caddy。

Caddy是一个用Go编写的可扩展平台,它可以让你的网站、服务和应用服务化。事实上,Caddy可以做很多事情。你可以把它当作:

网站服务器、标准代理、反向代理、西德卡代理、负载平衡器、API网关、入口控制器、系统管理器、流程管理器、任务调度器。

我想向您介绍在Ubuntu Server 18.04上安装Caddy的过程,然后演示如何使用它来提供基本的网站。

准备工作:

正常运行Ubuntu Server 18.04系统的服务器(尽管它将在所有当前受支持的版本上运行)

具有sudo特权的用户

1、如何安装Caddy

Caddy不能从标准仓库中安装,所以我们必须将必要的repo添加到Ubuntu服务器中。打开一个终端窗口并发出命令。

echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list

添加存储库后,使用以下命令更新apt:

sudo apt-get update

最后,使用以下命令安装Caddy:

sudo apt-get install caddy -y

安装完成后,可以通过发出以下命令来进行验证:

caddy version

上面的命令应该打印出Caddy的完整版本字符串(图A)。

2、如何使用Caddy部署简单的网站

现在已经安装了Caddy,让我们创建一个简单的网站。发出命令:

curl localhost:2019/config/

您应该看到以下文本:

<a href="/config/">Moved Permanently</a>.

我们将创建一个非常简单的页面并将其上传到Caddy服务器。Caddy的配置都是用JSON写的。因此,使用以下命令创建一个新文件:

nano caddy.json

在该新文件中,粘贴以下内容:

{

“ apps”:{

“ http”:{

“ servers”:{

“ example”:{

“ listen”:[“:2015”],

“ routes”:[

{

“ handle”:[{

“ handler”:“ static_response ”,

“ body”:“您好,a5idc!”

}]

}

]

}

}

}

}

}

保存并关闭文件。使用以下命令启动Caddy:

caddy run

您将不会得到提示,因此请使用另一个实例登录到服务器并使用以下命令上传文件:

curl localhost:2019/load -X POST -H "Content-Type: application/json" -d @caddy.json

发出curl命令:

curl localhost:2019

您应该看到打印输出“ Hello,a5idc!”。

您还可以将浏览器指向http:// SERVER_IP:2015(其中SERVER_IP是托管Caddy的服务器的IP地址),你应该也能看到打印出来的信息。

当然,您不必编写JSON文件即可打印出“ Hello,a5idc”。幸运的是,开发人员包括使用Caddyfile进行部署的功能。您可以使用以下命令创建一个新文件,而不用写大括号密集型JSON:

nano Caddyfile

在该文件中,粘贴以下内容:

:2015

respond "Hello, a5idc!"

保存并关闭文件。

使用Ctrl + C组合键停止Caddy,然后加载新的配置文件并使用以下命令重新启动Caddy:

caddy adapt

上面的命令必须在Caddyfile所在的目录中运行。如果没有,则可以将命令发出为:

caddy adapt --config /path/to/Caddyfile

/ path / to / Caddyfile是Caddyfile的完整路径。

将浏览器指向http:// SERVER_IP:2015(其中SERVER_IP是托管服务器的IP地址),您应该会再次看到 "Hello, a5idc!"的信息。

3、如何使用Caddy服务静态网站

至此,您已经提供了一个文件。如果您要使用静态网站怎么办?将所有必需的文件放在一个目录(例如〜/ website)中,该目录包括一个index.html文件,然后发出以下命令:

caddy file-server --browse --root ~/website --listen :2015

运行该命令后,将浏览器指向http:// SERVER_IP:2015(其中SERVER_IP是托管Caddy的服务器的IP地址),您应该在浏览器中看到index.html页面。

以上就是Caddy的要点。当然,我们所做的只是提供一个非常基本的网站。Caddy可以做的事情还有很多。下次我们再来看看Caddy,我们会更深入一点,甚至可以从一个Caddy文件中提供多个网站。