linux离线安装caddy,web 服务新秀 caddy 安装部署

Caddy 简介

Caddy是一个Go语言写的,开源好用Web服务器。它具有如下的一些功能:

配置简单:Caddy服务器的运行可以通过Caddyfile配置文件进行配置。

自动的HTTPS:它可以自动申请 Let's Encrypt 域名证书,并进行配置,自动定期更新,并且免费。

HTTP/2:默认支持HTTP/2(由Go标准库支持)

虚拟主机托管:Caddy支持TLS的SNI。可以在具有单个公网IP的同一台主机上部署多个不同的域名的服务。可以为Caddy服务的不同域名配置不同的证书和密钥。

QUIC支持:Caddy实验性地支持QUIC协议,以获取更好的性能。

良好的可扩展性:因此Caddy非常方便针对自己的需求做定制。

丰富的插件:丰富的插件,对解决业务需求提供帮助;

理念先进:caddy 在功能上就融入了devops; 相关的理念,服务本身就具备持续集成模块。

随处运行:这主要与Go应用程序的特性有关。Go的模块都被编译为静态库,Go的应用程序在编译为可执行文件时都是静态链接,依赖的动态库极少,这使得部署使用非常方便。

安装部署

首先要安装一下go运行环境

go官方项目地址:

下载

解压

tar -C /usr/local -xzf go1.8.1.linux-amd64.tar.gz

创建go home 目录

mkdir /root/go1.8

设置环境变量echo  'export GOROOT=$HOME/go1.8' >>/etc/profileecho 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profilesource /etc/profile

验证go 版本

go versiongo version go1.8.1 linux/amd64

安装 caddy

新建用户,程序目录修改权限

useradd -M caddy

chsh -s /bin/false Caddy

mkdir -p /var/log/caddy/ #日志目录

mkdir -p /etc/caddy/config #配置目录

chown -R caddy /etc/caddy

chown -R caddy /var/log/caddy

安全考虑:不推荐 Root运行:可以通过像这样使用setcap来监听端口号小于1024的端口:

sudo setcap cap_net_bind_service=+ep ./caddy

直接运行命令如下(默认安装):

查看版本:

[root@hkjump ~]# caddy -versionCaddy 0.10.0

查看默认插件:

Caddy命令行接口。运行caddy -h 可以查看基本的帮助信息

[root@hkjump ~]# caddy -pluginsServer types:

http

Caddyfile loaders:

short

flag

default

Other plugins:

http.basicauth

http.bind

http.browse

http.errors

http.expvar

http.ext

http.fastcgi

http.gzip

http.header

http.index

http.internal

http.log

http.markdown

http.maxrequestbody

http.mime

http.pprof

http.proxy

http.push

http.redir

http.rewrite

http.root

http.status

http.templates

http.timeouts

http.websocket

shutdown

startup

tls

tls.storage.file

安装 hook.service,http.git 插件,方法如下;

curl https://getcaddy.com | bash -s hook.service,http.git

配置开机启动

vim /etc/systemd/system/caddy.service[Unit]

Description=Caddy Web Server

Documentation=https://caddyserver.com/docs

After=network.target

[Service]

User=caddy

StartLimitInterval=86400

StartLimitBurst=5

LimitNOFILE=16535

ExecStart=/usr/local/bin/caddy -agree=true -conf=/etc/caddy/Caddyfile -pidfile=/var/run/caddy/caddy.pid -log=stderr

PIDFile=/var/run/caddy/caddy.pid

Restart=on-failure

[Install]

WantedBy=multi-user.target

服务开机启动相关设置

chmod 644 /etc/systemd/system/caddy.service

systemctl enable caddy.service

systemctl start caddy.service

systemctl status caddy.service

参考文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值