caddy 설정 사례

caddy 설정 사례:
caddy 는 현재 디 렉 터 리 의 Caddyfile (기본) 파일 에서 설정 을 읽 습 니 다. 물론 - conf 를 통 해 설정 파일 경 로 를 지정 할 수 있 습 니 다.Caddy file 의 설정 형식 은 정말 easy 입 니 다. 이것 도 caddy 의 목표 에 부합 합 니 다.
Caddy file 은 항상 사이트 의 Addr 로 시 작 됩 니 다.
단일 정적 사이트
Caddyfile 샘플 은 다음 과 같 습 니 다:
test.ptmind.com:80{     #  80  , 443   ,         ,    ssl     gzip                   #  gzip log  /var/log/caddy/test.ptmind.com.log         #        errors  /var/log/caddy/test.ptmind.com.log         #        root /etc/caddy/web-test     #     index index.html index.htm   #index       }

제시 하 다.
80 포트 를 감청 하고 주로 80 포트 를 방문 하면 해당 합 니 다.:80
가상 호스트 감청 도 메 인 이름 에 잠 그 기;example.com:80
ssl 암호 화 기능 을 자동 으로 설정 하 는 사이트 TLS 를 사용 하지 않 습 니 다.tls off
웹 사이트 루트 디 렉 터 리 (루트 가 지정 되 지 않 으 면 caddy 가 실행 하 는 현재 경 로 는 웹 사이트 의 루트 경로) 아래 파일 이름 을 알 고 있 습 니 다. 예 를 들 어 test. txt 는 브 라 우 저 에 domain / test. txt 를 입력 할 수 있 습 니 다. caddy 는 정확 한 서 비 스 를 실행 하고 브 라 우 저 는 test. txt 의 전문 을 표시 합 니 다.
단일 정적 사이트, ssl 인증서 자동 생 성
test.ptmind.com:443{     # 443   ,         ,    ssl     gzip                  log  /var/log/caddy/test.ptmind.com.log  root /etc/caddy/web-test  index index.html index.htm }

생 성 된 인증서 저장 위치:
caddy 시스템 사용자 집 디 렉 터 리 시작 아래:
루트 사용자 로 시 작 했 습 니 다.
[root@hkjump caddy]# ls -all /root/.caddy/total 16drwx------  4 root root 4096 Apr 26 20:49 .
dr-xr-x---. 5 root root 4096 Apr 28 17:02 ..
drwx------  3 root root 4096 Apr 26 20:49 acme
drwx------  2 root root 4096 Apr 26 20:49 ocsp

Caddy virtualhost 는 설정 을 지원 합 니 다. 하나의 포트 는 여러 도 메 인 이름 을 감청 할 수 있 습 니 다.
https://t1.ptmind.com{ 
gzip                  log  /var/log/caddy/t1.ptmind.com.log  root /etc/caddy/web-test1  
index index.html index.htm }
https://t2.ptmind.com{ 
gzip                  log  /var/log/caddy/t2.ptmind.com.log  root /etc/caddy/web-test2  
index index.html index.htm }

디 렉 터 리 파일 목록 탐색
https://caddy.ptbox.cn {root / tmp / \ # 집 디 렉 터 리 탐색 browse \ # 디 렉 터 리 탐색 열기}
fastcgi 에이전트
caddy 는 fastcgi 인 터 페 이 스 를 통 해 백 엔 드 에 요청 한 fastcgi 를 실현 하 는 server 를 보 낼 수 있 습 니 다.
시작 서비스 설치
/etc/init.d/php-fpm start
서비스 상태 보기
[root@hkjump php-fpm.d]# /etc/init.d/php-fpm statusphp-fpm (pid 16137) is running...
인증 서비스 포트
[root@hkjump php-fpm.d]# lsof -n -i:9000COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 16137 root    7u  IPv4  95128      0t0  TCP 127.0.0.1:cslistener (LISTEN)
php-fpm 16138  www    0u  IPv4  95128      0t0  TCP 127.0.0.1:cslistener (LISTEN)
php-fpm 16139  www    0u  IPv4  95128      0t0  TCP 127.0.0.1:cslistener (LISTEN)
php-fpm 16140  www    0u  IPv4  95128      0t0  TCP 127.0.0.1:cslistener (LISTEN)
php-fpm 16141  www    0u  IPv4  95128      0t0  TCP 127.0.0.1:cslistener (LISTEN)
php-fpm 16142  www    0u  IPv4  95128      0t0  TCP 127.0.0.1:cslistener (LISTEN)

caddy 설정 은 다음 과 같 습 니 다:
https://caddy.ptbox.cn { gzip
fastcgi / 127.0.0.1:9000 php                  
log  /var/log/caddy/caddy.ptbox.cn.log root /etc/caddy/php 
}

index. php 파일 생 성:
[root@hkjump caddy]# more /etc/caddy/php/index.php
인증, 브 라 우 저 접근 caddy. ptbox. cn 에서 php 관련 설정 정 보 를 볼 수 있 습 니 다.
프로필 불 러 오기
단일 프로필 가 져 오기:
import config/common.conf
폴 더 vhosts 폴 더 불 러 오기:
import ../vhosts/*
인 스 턴 스 설정
[root@hkjump caddy]# more Caddyfile https://cgi.ptbox.cn { gzip
fastcgi / 127.0.0.1:9000 php            
log  /var/log/caddy/caddy.ptbox.cn.log root /etc/caddy/php/
}
import ./vhosts/*     #  vhosts           
[root@hkjump caddy]# cat ./vhosts/test.conf https://test.ptbox.cn { gzip                  
log  /var/log/caddy/test.ptbox.cn.log  root /etc/caddy/web-test  index index.html index.htm 
}

caddy 를 시작 하면 서 비 스 는 자동 으로 설정 을 불 러 오고 여러 도 메 인 이름 을 감청 합 니 다.
[root@hkjump caddy]# caddy                  Activating privacy features... done.    
https://cgi.ptbox.canhttps://test.ptbox.cnhttp://cgi.ptbox.cnhttp://test.ptbox.cn

점프 기능: redir
도 메 인 이름 이동
test.ptbox.cn 바로 가기 www.ptmind.com 도 메 인 이름
test.ptbox.cn:443 {
tls [email protected]
redir https://www.ptmind.com{uri}}

파일 이동
redir /resources/p_w_picpaths/photo.jpg /resources/p_w_picpaths/drawing.jpg 307
다 중 디 렉 터 리 이동
redir 307 {  /foo     /info/foo
  /todo    /notes
  /api-dev /api       meta}

프로 토 콜 에 따라 이동:
모든 http 요청 도 메 인 이름 으로 이동
redir 301 {
  if {>X-Forwarded-Proto} is http
  /  https://{host}{uri}
}

http. git 결합 git push 자동 배치 사이트 나 코드
설정 옵션 의미
git [repo path] {
  repo        :  SSH HTTPS URL。
  path        :  clone        ;          。           ;
  branch      :git       ;    master  。
  key         :SSH     
  interval    :           ;    3600(1  ),   5.  -1      。  clone_args  :   cli args   git cloneeg --depth=1。git clone          。
  pull_args   :   cli args   git pulleg  -s recursive -X theirs。git pull        。
  hook        :hook           webhook,      GitHub Travis     。
  hook_type   :Webhook        ,GitHub, Gitlab, BitBucket, Travis and Gogs。  then        command [args...]  :clone        ;  then_long   command [args...]  :          ,       。
}

정시 git clone 자동 추출 코드
https://caddy.ptbox.cn {    gzip
    log  /var/log/caddy/caddy.ptbox.cn.log
    root /etc/caddy/web-test
    index index.html
    git   [email protected]:kevin/web-test.git /etc/caddy/web-test {    branch v2       #git       ;    interval 6000   #           ;    key  /root/.ssh/id_rsa
    }}

웹 훅 을 설정 하고 git commt 상태 에 따라 업데이트 코드 를 자동 으로 끌 어 옵 니 다.
메모: gitlab 프로젝트 에 웹 - hook 주 소 를 설정 합 니 다:https://caddy.ptbox.cn/webhook
https://caddy.ptbox.cn {    gzip
    log  /var/log/caddy/caddy.ptbox.cn.log
    root /etc/caddy/web-test
    index index.html
    git   [email protected]:kevin/web-test.git /etc/caddy/web-test {    branch v2    hook   /webhook    #  hook  ,    hook_type gitlab   #hook       key  /root/.ssh/id_rsa
    then chmod 755 /var/log/caddy/caddy.ptbox.cn.log
    }}

git 업데이트 후 caddy 서비스 에 알 립 니 다. caddy 로 그 는 정 보 를 알려 줍 니 다.
2017/05/02 15:50:02 Received pull notification for the tracking branch, updating...
From gitlab.ptmind.com:kevin/web-test
 * branch            v2         -> FETCH_HEAD

부하 균형
Caddy 는 부하 균형 설정 을 지원 하고 세 가지 부하 균형 알고리즘 을 지원 합 니 다: random (랜 덤), leastconn (최소 연결) 및 roundrobin.
부하 균형 역시 proxy middleware 를 통 해 이 루어 진다.
localhost:2015 { 
log ./2015.log

proxy / localhost:9001 localhost:9003 { 
policy round_robin 
} 
proxy /bar localhost:9002 localhost:9004 { 
policy least_conn 
} 
}

서비스 설정 다시 불 러 오기
centos 6 시리즈
You could signal Caddy with USR1, which does a zero-downtime reload.
Caddy can be easily reloaded as such:

From the terminal run the following commands:1.Get the PID from the running caddy instance:

ps -C caddy
PID TTY          TIME CMD1392 pts/0    00:00:00 caddy2.Send kill command with USR1 parameterkill -s USR1 1392

centos 7 계열
caddy.service
[Unit]Description=Caddy Web ServerDocumentation=https://caddyserver.com/docsAfter=network.target[Service]User=caddyStartLimitInterval=86400StartLimitBurst=5LimitNOFILE=16535ExecStart=/usr/local/bin/caddy -agree=true -conf=/etc/caddy/Caddyfile -pidfile=/var/run/caddy/caddy.pid -log=stderrPIDFile=/var/run/caddy/caddy.pidRestart=on-failure[Install]WantedBy=multi-user.target

참고 문서
https://caddyserver.com/docshttps://github.com/caddyserver/exampleshttps://github.com/caddyserver/examples/blob/master/systemd/caddy.service

좋은 웹페이지 즐겨찾기