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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hexo+azure 블로그 구축우선 Azure에 가상 호스트를 만듭니다.저는 중국에 있기 때문에 서버는 동아시아를 선택해야 합니다.시스템은 제가 선택한 Ubuntu입니다. 전에 사용했기 때문에 비교적 익숙합니다.생성할 때 OpenSSL의 일치 열...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.