아파치 HTTP/2 적용 – mod_http2 모듈을 이용(CentOS7)

| 2017년 9월 29일 | 0 Comments

0. 설치 환경

서비스 가상 서버 `vCore.V2`
이용 요금 150원/일, 4,000원/월 * 부가세 별도
하드웨어 CPU: 1 vCore, RAM: 1 GB, HDD: SSD 25 GB
운영체제 CentOS 7.X(64bit)

 

1. HTTP/2
HTTP 1.1과 호환성을 유지하면서도 웹브라우저 페이지 로딩 속도를 개선한 HTTP 프로토콜입니다. 클라이언트와 서버간에 데이터 프레임이 지정되는 방식과 데이터가 전송되는 방식을 수정하여 속도를 개선하여 페이지 로드 시간을 50%정도 줄였다고 합니다.

 

2. 아파치 mod_http2 모듈
아파치에서는 2.4.17버전부터 지원되는 mod_http2 모듈을 이용하여 구현이 가능합니다. mod_http2는 libngttp2 라이브러리를 사용하며, OpenSSL 1.0.2 이상을 필요로 합니다. 또한 Prefork 모드를 지원하지 않기 때문에 컴파일시 주의하여야 합니다.

 

3. libnghttp2 설치
yum install -y epel-release
yum install -y libnghttp2 libnghttp2-devel
rpm -e epel-release

 

4. openssl 설치
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar zxvf openssl-1.0.2l.tar.gz
cd openssl-1.0.2l
./config shared
make
make install

 

5. openssl 관련 기본 설정
cd /usr/bin
mv openssl openssl_backup
ln -s /usr/local/ssl/bin/openssl openssl
echo “/usr/local/ssl/lib” > /etc/ld.so.conf.d/openssl.conf
ldconfig

 

6. 아파치 컴파일 옵션(기본적으로 사용하시는 옵션에서 아래 옵션 추가한 후 컴파일 진행해주시면 됩니다.)
–enable-modules=shared –enable-ssl –with-ssl=/usr/local/ssl –with-mpm=event –enable-http2

 

7. PHP 컴파일 옵션(기본적으로 사용하시는 옵션에서 아래 옵션 추가한 후 컴파일 진행해주시면 됩니다.)
–with-openssl=/usr/local/ssl –with-openssl-dir=/usr/local/ssl –enable-maintainer-zts

 

8. httpd.conf 설정(모둘 활성화)
LoadModule http2_module        modules/mod_http2.so
<IfModule http2_module>
        ProtocolsHonorOrder On
        Protocols h2 h2c http/1.1
</IfModule>

 

9. 적용 확인

 

 

 

10. 참고한 문서

HTTP/2 guide – https://httpd.apache.org/docs/2.4/howto/http2.html
Apache Module mod_http2 – https://httpd.apache.org/docs/2.4/mod/mod_http2.html

Category: LINUX

김영훈

About the Author ()