搭建代理服务器上网(自己搭建上网服务器)

1年前 (2024-04-23)

搭建代理服务器上网(自己搭建上网服务器)

众所周知,Web 服务器是 Web 开发中不可或缺的基础服务,在开发中经常会用到。耳熟能详的开源 Web 服务器有久负盛名的 Apache、性能强劲的 Nginx。而我们今天要介绍的开源项目是采用 Go 编写的 Web 服务端“后起之秀”:Caddy 它拥有下载无需安装就能用、零配置实现 HTTPS 等特点,从而在强者如云的 Web 服务器中占据了一席之地。

在这个 HTTPS 必选的时代,Caddy 凭借无需额外配置自动 HTTPS,分分钟完成 HTTPS 站点搭建,使它成为了中小型 Web 服务的服务器。Caddy 深受开源爱好者们的喜爱,2014 年开源今共收获了 3.6 万颗星。

Caddy 是一个强大的、可扩展的平台,可以为您的站点、服务和应用程序提供服务。

使用 Caddy 可以在 Linux、Mac、Windows 上快速部署 http(s) 站点或反向代理服务。支持:

与传统的 Nginx 或者 Apache 相比,Caddy 整体只有一个可执行文件,安装便捷不易出现奇怪的依赖问题,配置文件结构清晰语法简单易于上手,依托于模块化架构可以使用 Go 语言快速开发扩展模块。

下面让我们上手把玩一番吧。

系统环境:Ubuntu 20.04 LTS

Caddy 可以作为一个系统服务安装,令:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-httpscurl -1sLf 'https://dl.cloudith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/CADdy-stable.asccurl -1sLf 'https://dl.cloudith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.listsudo apt updatesudo apt install caddy

注意:这种方式安装完成后会启动服务,开机自动启动。

还可以下载一个可执行文件使用。

令行执行 caddy version 令,出现版本信息:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

即为安装成功!

下面将演示如何通过 Caddy 完成 HTTPS 站点。只需要 4 步:

步:安装,采用上面介绍的令安装

第二步:设置域名解析地址,在购买域名的网站设置。如下图:

设置完生效需要几分钟,可通过下面的令检查是否生效:

Caddy 默认使用执行令目录下的 Caddyfile 文件内的配置。

这里将从 Caddy 常用令开始,再到配置讲解,会通过一个实际案例来展示如何用 Caddy 配置网站和上线。

Caddy 的原生配置文件使用的是 JSON 格式。但是为了用户编写方便它提供了 Caddyfile 作为接口让用户可以快速配置站点信息,运行时 Caddy 会自动将 Caddyfile 的配置信息转为 JSON 配置文件。

Caddyfile 所能提供功能不如 JSON 配置文件强大,但是对于不需要复杂配置的用户而言完全够用了。

Caddyfile 的配置指令格式如下:

下面将演示如何用 Caddy 搭建站点,加深理解配置格式和令使用。

目录结构:

.├── Caddyfile├── index.html└── public └── HG.html

两个页面文件 index.html 和 HG.html 的内容如下:

<!-- index.html --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Hello World!</title></head><body> 你好,世界!</body></html>

<!-- HG.html --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>HelloGitHub</title></head><body> HelloGitHub</body></html>

Caddyfile 配置内容如下:

$ caddy run # 启动 Caddy

,效果如下:

Caddy 除了简单易懂的配置文件方式,还提供了管理配置的接口。通过这些接口可以轻松实现 Web 服务器管理自动化、集成发布等高级功能。

提供的接口和功能:

由于篇幅问题这里就不再进行演示了,如果您想深入了解可以阅读 Caddy 的官方文档。

看到这里你应该对 Caddy 有了一些了解,有没有一种相见恨晚的感觉?

虽然它的性能比不了 Nginx,但如果论上手的难易度 Caddy 甩 Nginx 几条街!主要是默认开启 HTTPS 功能太香了,你什么都不用管就可以免费、快速、轻松开启网站 HTTPS。

,如果你想搭建个静态博客或小站,快去试试 Caddy 吧!香不香只有“吃”过才知道~

这里是 HelloGitHub 推出的《讲解开源项目》系列,为您叩开开源项目的大门。

服务器