Ubuntu 16.04에서 PHP-FPM으로 캐디 웹 서버를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- 우분투 18.04(Bionic Beaver)
- 우분투 16.04(Xenial Xerus)
이 페이지에서
- 전제 조건
- 우리가 할 일\n
- 1단계 - 캐디 웹 서버 설치
- 2단계 - 기본 캐디 웹 서버 구성
- 3단계 - Systemd Ubuntu 16.04에서 서비스로 캐디 실행\n
- 4단계 - PHP 및 PHP-FPM 7.0 설치
- 5단계 - PHP-FPM으로 캐디 웹 서버 구성
- 6단계 - 테스트
- 참조
Caddy 또는 Caddy 웹 서버는 Go로 작성된 오픈 소스 HTTP/2 지원 웹 서버입니다. 캐디는 Linux, Windows, Mac OS, Android 및 BSD 운영 체제를 실행하는 시스템을 포함하여 다양한 시스템에서 실행할 수 있습니다. 캐디에는 많은 기능이 있으며 웹 서버 및 응용 프로그램의 리버스 프록시로 설치할 수 있습니다. 가장 눈에 띄는 캐디 웹 서버 기능은 추가 구성 없이 기본적으로 활성화되는 자동 HTTPS입니다.
이 튜토리얼에서는 Ubuntu 16.04에서 PHP-FPM 7.x로 Caddy 웹 서버를 설치하고 구성하는 방법을 단계별로 보여줍니다. 로컬 환경에 캐디를 설치한 다음 PHP 기반 애플리케이션용 PHP-FPM을 구성합니다.
전제 조건
- 우분투 16.04 서버
- 루트 권한\n
우리가 할 일
- Caddy 웹 서버 설치
- Caddy 웹 서버 구성
- Systemd Ubuntu 16.04에서 캐디를 서비스로 실행\n
- PHP 및 PHP-FPM 7.0 설치
- PHP-FPM으로 캐디 웹 서버 구성
- 테스트
1단계 - 캐디 웹 서버 설치
이 단계에서는 설치 프로그램 스크립트를 사용하여 캐디 웹 서버를 설치합니다. 스크립트는 자동으로 바이너리 파일을 다운로드하고 bin 디렉터리에 압축을 풉니다.
설치 프로그램 스크립트를 다운로드하고 실행 가능하게 만드십시오.
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
이제 sudo로 설치 프로그램 스크립트를 실행합니다.
sudo ./getcaddy personal http.ipfilter,http.ratelimit
메모:
- getcaddy=캐디 설치 스크립트.
- 개인=설치용 라이선스.
- http.ipfileter ... = 캐디 플러그인 설치를 포함합니다.\n
캐디 웹 서버 설치를 기다리면 아래와 같은 결과가 나타납니다.
캐디 웹 서버는 Ubuntu 16.04에 설치되었습니다.
2단계 - 기본 캐디 웹 서버 구성
이 단계에서는 캐디 웹 서버를 구성합니다. caddy라는 새 사용자를 만들고 캐디 구성 파일을 위한 새 디렉터리, 캐디 로그 파일을 위한 새 디렉터리 및 캐디 웹 루트 디렉터리를 위한 새 디렉터리를 만듭니다.
아래와 같이 /bin/false 옵션을 사용하여 새로운 caddy 사용자를 생성합니다.
useradd -M -s /bin/false caddy
이제 다음 mkdir 명령을 실행하여 caddy 디렉터리를 만듭니다.
mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html
그리고 소유권을 캐디 사용자로 변경합니다.
chown -R caddy:root /etc/caddy /var/log/caddy
다음으로 Caddyfile이라는 새 캐디 구성 파일을 만듭니다. /etc/caddy 디렉터리로 이동하고 vim 명령어로 구성을 만듭니다.
cd /etc/caddy/
vim Caddyfile
거기에 기본 캐디 구성을 붙여넣습니다.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls off
gzip
}
저장 및 종료.
메모:
- tls off = 로컬 서버에서 캐디를 실행 중이었습니다. 라이브 서버에 있는 경우 옵션을 활성화하십시오.\n
캐디 웹서버 기본 설정이 완료되었습니다.
3단계 - Systemd Ubuntu 16.04에서 서비스로 캐디 실행
이 단계에서는 캐디 웹 서버를 systemd 시스템에서 서비스로 실행하고 캐디 웹 서버용 index.html 파일을 생성합니다.
vim을 사용하여 caddy.service라는 새 서비스 파일을 만듭니다.
vim /etc/systemd/system/caddy.service
다음 구성을 거기에 붙여넣으십시오.
[Unit]
Description=Caddy HTTP/2 web server
[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
저장 및 종료.
이제 systemd 시스템을 다시 로드하고 아래와 같이 systemctl 명령을 사용하여 캐디 서비스를 시작합니다.
systemctl daemon-reload
systemctl start caddy
시스템 부팅 시마다 실행되도록 활성화합니다.
systemctl enable caddy
Caddy 웹 서버는 이제 Ubuntu 16.04에서 서비스로 실행됩니다.
다음으로 웹 루트 디렉토리 /var/www/html 아래에 새로운 index.html 파일을 생성합니다.
해당 디렉터리로 이동하고 아래 명령을 사용하여 index.html 파일을 만듭니다.
cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html
이제 파일의 소유자를 caddy 사용자 및 그룹으로 변경하십시오.
chown -R caddy:caddy /var/www/html
index.html 파일이 생성되었습니다. 웹 브라우저를 열고 Caddyfile 구성에 입력한 도메인 이름 주소를 입력합니다. 제 주소는 다음과 같습니다.
http://hakase-labs.co/
그러면 우리가 만든 색인 페이지가 표시됩니다.
4단계 - PHP 및 PHP-FPM 7.0 설치
이 단계에서는 Ubuntu 리포지토리에서 PHP-FPM 패키지를 설치합니다.
아래의 apt 명령을 실행합니다.
sudo apt install -y php7.0-fpm php7.0-cli curl
설치가 완료되면 PHP-FPM에 대한 구성 파일을 구성합니다.
/etc/php/7.0/fpm 디렉토리로 이동하고 vim을 사용하여 풀 구성 파일 wwwconf를 편집합니다.
cd /etc/php/7.0/fpm
vim pool.d/www.conf
아래 줄의 주석을 제거하십시오.
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
저장 및 종료.
이제 caddy 사용자를 www-data 그룹에 추가하십시오.
usermod -a -G www-data caddy
PHP-FPM 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
캐디 웹 서버 설치를 위한 PHP-FPM 설치 및 구성이 완료되었습니다.
아래 netstat 명령을 사용하여 PHP-FPM 소켓 파일 프로세스를 확인하십시오.
netstat -pl | grep php
5단계 - PHP-FPM으로 캐디 웹 서버 구성
PHP-FPM 설치 및 구성 후 Caddy 웹 서버에 PHP-FPM 지원을 추가합니다.
/etc/caddy 구성 디렉토리로 이동하고 vim을 사용하여 구성 파일 Caddyfile을 편집합니다.
cd /etc/caddy
vim Caddyfile
이제 아래와 같이 도메인 이름 괄호 아래에 캐디에 대한 다음 PHP-FPM 구성을 추가하십시오.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
errors /var/log/caddy/errors.log
tls off
gzip
# PHP-FPM Configuration for Caddy
fastcgi / /run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
}
저장 및 종료.
캐디 웹 서버와 PHP-FPM 서비스를 다시 시작하십시오.
systemctl restart caddy
systemctl restart php7.0-fpm
PHP-FPM으로 캐디 웹 서버 구성이 완료되었습니다.
6단계 - 테스트
웹 루트 디렉토리 /var/ww/html로 이동하여 phpinfo 파일 info.php를 생성합니다.
cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php
웹 브라우저를 열고 아래와 같이 캐디 웹 서버 URL 설치를 입력하십시오.
http://hakase-labs.co/info.php
그러면 아래와 같이 PHP 정보 페이지가 나타납니다.
Ubuntu 16.04에서 PHP-FPM을 사용하는 Caddy 웹 서버 설치가 성공적으로 완료되었습니다.
참조
- https://caddyserver.com/docs/fastcgi