CentOS 6中安装Caddy 2的方法 2023-11-28 Website News 暂无评论 2213 次阅读 看到有一篇文章介绍Caddy 2,讲到Caddy 2的配置有多简单,并且程序是Go开发了,基本没有什么依赖,我在Debian 9下通过apt命令直接完成了安装,但是在CentOS 6中无法使用Yum来进行安装,找了一些资料后发现可以从官方的Github中直接下载对应的版本,由于解压出来是一个二进制文件,只要复制到对应目录下加一下权限就可以运行了,并且再手动配置一个Service就可以让Caddy 2运行起来了。 具体方法如下: 1、到Github上下载最新版的Linux文件, ```csharp https://github.com/caddyserver/caddy/releases ``` Centos 6下载的是:caddy_2.7.5_linux_amd64.tar.gz 下载到文件后解压出来后把Caddy文件复制到/bin/目录下,并且将caddy文件给与执行的权限。 ```csharp tar xzf caddy_2.7.5_linux_amd64.tar.gz mv caddy /bin/ chmod +x /bin/caddy ``` 2、在/etc/init.d/目录下创建一个caddy的服务执行文件,并且给予执行权限,文件内容如下: ```csharp vi /etc/init.d/caddy chmod +x /etc/init.d/caddy ``` 服务执行脚本 ```csharp #!/bin/bash # chkconfig: 2345 90 10 # description: The HTTP/2 web server with automatic HTTPS. ### BEGIN INIT INFO # Provides: Caddy # Required-Start: $network $syslog # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: The HTTP/2 web server with automatic HTTPS # Description: Start or stop the Caddy server ### END INIT INFO NAME="Caddy" NAME_BIN="caddy" BIN="/bin/caddy" CONF="/etc/caddy/Caddyfile" Info_font_prefix="\033[32m" && Error_font_prefix="\033[31m" && Info_background_prefix="\033[42;37m" && Error_background_prefix="\033[41;37m" && Font_suffix="\033[0m" RETVAL=0 check_running(){ PID=`ps -ef |grep "${NAME_BIN}" |grep -v "grep" |grep -v "init.d" |grep -v "service" |awk '{print $2}'` if [[ ! -z ${PID} ]]; then return 0 else return 1 fi } do_start(){ check_running if [[ $? -eq 0 ]]; then echo -e "${Info_font_prefix}[信息]${Font_suffix} $NAME (PID ${PID}) 正在运行..." && exit 0 else ulimit -n 51200 nohup "$BIN" run --config "$CONF" &>/tmp/caddy.log & sleep 2s check_running if [[ $? -eq 0 ]]; then echo -e "${Info_font_prefix}[信息]${Font_suffix} $NAME 启动成功 !" else echo -e "${Error_font_prefix}[错误]${Font_suffix} $NAME 启动失败 !" fi fi } do_stop(){ check_running if [[ $? -eq 0 ]]; then kill -9 ${PID} RETVAL=$? if [[ $RETVAL -eq 0 ]]; then echo -e "${Info_font_prefix}[信息]${Font_suffix} $NAME 停止成功 !" else echo -e "${Error_font_prefix}[错误]${Font_suffix} $NAME 停止失败 !" fi else echo -e "${Info_font_prefix}[信息]${Font_suffix} $NAME 未运行" RETVAL=1 fi } do_status(){ check_running if [[ $? -eq 0 ]]; then echo -e "${Info_font_prefix}[信息]${Font_suffix} $NAME (PID ${PID}) 正在运行..." else echo -e "${Info_font_prefix}[信息]${Font_suffix} $NAME 未运行 !" RETVAL=1 fi } do_restart(){ do_stop do_start } case "$1" in start|stop|restart|status) do_$1 ;; *) echo -e "使用方法: $0 { start | stop | restart | status }" RETVAL=1 ;; esac exit $RETVAL ``` 3、在/etc目录下创建caddy目录,并且创建一个Caddyfile的配置文件,大致内容如下: ```csharp vi /etc/Caddyfile ``` ```csharp 域名 { header { Strict-Transport-Security "max-age=31536000; preload" X-Content-Type-Options nosniff X-Frame-Options SAMEORIGIN } encode gzip tls /etc/caddy/server.cert.pem /etc/caddy/server.pem root * /var/www file_server browse } ``` 域名就是你需要解析的域名,tls中前面是域名证书+CA证书,保证证书链是完整的,后面是私钥。 完成了这些配置后,就可以通过 ```csharp service caddy restart ``` 来启动Caddy了。 标签: centos, centos 6, caddy 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭