说起Caddy,其实一开始是不想入坑的,因为已经会弄LNMP环境,知道可以用Nginx来弄网站环境搭建,有脚本可以直接创建虚拟主机就觉得还算简单,但是想想,如果以后OneInStack不做后续更新了,那么我该怎么办呢?
关于LNMP环境的搭建移步:关于Cloudreve的搭建(纯个人向,仅供参考)
Caddy这个玩意还是从万能的群友知道的,据说这个玩意搭建很简单,就写一下相关配置文件就可以用了,昨晚(应该说写这篇文章时候的凌晨),我花了点时间终于亲手测试了一下,能用了,不过还是一键脚本舒服就是了。现在就简单记录一下昨晚是怎么弄的吧。


准备工具:

1.Linux系统(本人测试环境:CentOS)
2.一个域名
3.服务器连接工具

第一步:开启相关端口(80和443)和关闭相关服务(selinux)

firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload

具体教程:关于建站时候的相关端口(80和443等)和相关服务(selinux)

第二步:安装caddy

Centos下:yum install caddy
Fedora下:dnf install caddy
ubuntu下:未测试
官方下载方案:curl https://getcaddy.com | bash 或者 curl https://getcaddy.com | bash -s personal

第三步:安装php

Fedora:dnf install php-fpm php-mysqlnd php-curl php-mbstring
CentOS:yum install php-fpm php-mysqlnd php-curl php-mbstring

第四步:安装数据库

Fedora:dnf install mariadb-server
CentOS:yum install mariadb-server

先启动数据库服务:systemctl start mariadb
初始化数据库:mysql_secure_installation
Enter current password for root (enter for none): //输入root的密码:Enter直接确认键
Set root password? [Y/n] //是否设置root的密码:Y
New password: //新密码:输入你的密码
Re-enter new password: //重复输入新密码:再输入一次密码
Remove anonymous users? [Y/n] //是否删除匿名用户: Y
Disallow root login remotely? //是否禁止root的远程登录:Y
Remove test database and access to it?[Y/n] //是否删除测试的数据库:Y
Reload privilege tables now? [Y/n] //是否现在重新加载权限表:Y

第五步:进入Caddy配置文件修改相关信息

文件位置:/etc/caddy/caddy.conf

你的域名 {
  gzip   /*gzip压缩,用于对网站资源压缩以提升浏览速度*/
  root 【网站路径】  /*配置网站路径*/
  fastcgi / 127.0.0.1:9000 php  /*配置php-fpm对php网站的解析,静态网站可以忽视*/
  log 【日志路径】  /*日志存放的路径*/
  rewrite {
  /*伪静态,可选*/
  }
}

注意:

1.伪静态(可选)

直接把内容写在rewrite括号里面就可以,伪静态规则需要根据你使用的站点内核的规则填写,例如thinkphp或者是typecho都不一样

2.关于fastcgi设置

有时候填入127.0.0.1:9000无法正常使用,这时候我们需要打开php-fpm配置文件。
php-fpm配置文件路径:/etc/php-fpm.d/www.conf 从配置文件里找到:

listen = ########

把########复制,替换上面的127.0.0.1:9000 ;也可以直接把127.0.0.1:9000复制替换########【推荐做法】

第六步:修改www.conf里面的配置信息

打开php-fpm配置文件找到user和group
php-fpm配置文件路径:/etc/php-fpm.d/www.conf
源文件里面这两个玩意是这样写的

user = apache
group = apache

然后我们要把后面的apache改成caddy

user = caddy
group = caddy

【有时候有些组件会丢失,补充安装即可,例如:php-cli】

第七步:caddy服务和其他服务

启动caddy:systemctl start caddy
重启:systemctl restart caddy
状态:systemctl status caddy
【安装了php之后还要启动一下php-fpm服务和数据库服务(此处数据库是mariadb,所以是systemctl start mariadb)】
每一次修改caddy.conf文件的时候,都要进行一次重启caddy服务,否则不能正常使用

第八步:解析域名


本记录仅仅只是开启使用caddy绑定自己的域名而已,很多功能都没有用到,后期研究后将会慢慢补充。看着很简单,实际也做了不少功课的了。因为在使用Caddy的时候,找不到配置文件,还要特地使用typecho来做测试,所以搞了很长时间就是了。
参考资料:Caddy网页服务器简单部署实践