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官方项目地址:

https://golang.org/dl/

下载

wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz

解压

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 version go 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

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

curl https://getcaddy.com | bash

查看版本:

[[email protected] ~]# caddy -version Caddy 0.10.0

查看默认插件:

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

[[email protected] ~]# caddy -plugins

Server 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

参考文档

https://github.com/caddyserver/examples
https://github.com/Unknwon/wuwen.org/issues/11
http://www.jianshu.com/p/15fc32760993
http://tonybai.com/2015/06/04/caddy-a-web-server-in-go/

时间: 2024-08-28 00:15:49

web 服务器新秀 caddy 安装部署的相关文章

Linux服务器集群架构部署搭建(四)WEB服务器LNMP/LAMP搭建部署及站点产品安装(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 集群WEB服务器LNMP生产应用 1.1 Nginx的应用场合:根据功能来进行应用 ①静态服务器(图片,视频服务)国内使用的只有两款,另一个是lighttpd.百度贴吧.豆瓣.html.js.css.flv等. ②动态服务:nginx+fastcgi的方式运行php.jsp.动态的并发很少(根据优化达到500-1500),

CentOS6.5 web服务器apache的安装与基本设置啊

使用yum安装apache yum install httpd -y Apache  web 服务器目录的文件 目录 描述 WEB站点目录 /var/www Apache web站点文件的目录 /var/www/html 存放WEB站点的WEB文件 /var/www/cgi-bin 存放CGI程序文件 /var/www/html/manual 存放服务器手册 配置文件 .htaccess 基于目录的配置文件..htaccess文件包含对它所在目录中文件的访问控制指令 /etc/httpd/con

淘宝开源Web服务器Tengine基本安装步骤

Tengine 是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量 网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商城等得到了很好的验证.它的最终目标是打造一个高效. 稳定.安全.易用的 Web 平台.Tengine现已开源. 以下是在CentOS 6.0编译安装Tengine的基本步骤: 1.安装Tengine 安装pcre #支持Tengine伪静态 # cd /usr/local/src # tar zxv

Linux 通过配置Cobbler服务器全自动批量安装部署

实现目的:通过配置Cobbler服务器,全自动批量安装部署Linux系统 安装centos 7唯一要变就是在网络类型里面选择使用网络地址NAT模式因为要实时在线下载 vim /etc/sysconfig/network-scripts/ifcfg-ens33 对网卡进行配置因为在这是DNS自动获取说有只需要激活网卡就好 ONBOOT=yes ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡才能去连接网络,进行网络通讯 systemctl restart network.servi

Windows Server 2008R2安装WEB服务器详细过程+安装完成后添加角色服务

一.Windows Server 2008R2安装WEB服务器详细过程1.进入系统 打开服务器管理器:在角色选项卡下点击添加角色2.弹出 添加角色向导 点击下一步3.勾上WEB服务器(IIS) 点击下一步4.根据自己所需要的服务勾选 点击安装安装进度条5.安装完成二.安装完成后添加角色服务1.点击角色,找到角色服务 点击添加角色服务2.选择角色服务弹出安装此角色.还需安装几个默认的配套服务 点击添加所需的角色服务安装的进度条安装完成 原文地址:https://blog.51cto.com/144

eclipse的web项目的tomcat安装部署问题

一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字.或者说可以访问项目工程,但是localhost:8080无法访问 二.验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中.在内置浏览器中输入http://localhost:8080/webDemo/login.jsp可正常打开.但在外部浏

Office Web Apps安装部署(sharepoint2013)

Office Web Apps安装部署(sharepoint2013) 分类: sharepoint 20132014-07-11 11:41 155人阅读 评论(0) 收藏 举报 sharepoint2013microsoft officeasp.netoffice web apps解决方案 目录(?)[+] 原文地址: http://www.cnblogs.com/poissonnotes/p/3238238.html 系统要求为Windows Server 2012, 注意:安装Offic

Office Web Apps安装部署(一)

来源于:http://www.cnblogs.com/poissonnotes/p/3238238.html 系统要求为Windows Server 2012, 注意:安装Office Web Apps的服务器除了Office Web Apps之外,不能安装其他应用.包括不能安装Office,lync,,sharepoint等应用,即要单独部署. 安装IIS 7.0 打开服务器管理器 添加角色和功能 打开“添加角色和功能向导”界面,点击下一步 因为是基于本机安装,所以要选择“基于角色或者基于功能

Web office apps 安装部署

系统要求为Windows Server 2012, 注意:安装Office Web Apps的服务器除了Office Web Apps之外,不能安装其他应用.包括不能安装Office,lync,,sharepoint等应用,即要单独部署. 安装IIS 7.0 打开服务器管理器 添加角色和功能 打开“添加角色和功能向导”界面,点击下一步 因为是基于本机安装,所以要选择“基于角色或者基于功能安装” 点击“下一步” 在服务器角色列表上选择“Web服务器” “下一步”,安装. 注意,在安装IIS的时候要