Ubuntu Server

우분투 16.04 Nginx 소스 컴파일 설치하기

우성군 0 1805 0

우분투 16.04 LTS에서는 Nginx 저장소만 추가 후 바로 패키지 설치가 가능합니다.

 

# Nginx

deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx

deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx

위 내용을 소스에 넣고 nginx를 설치하면 됩니다.

 

 

하지만 소스를 직접 다운 받아 컴파일 설치도 가능합니다.

 

소스 컴파일을 하는 이유는 여러가지가 있겠지만 모듈 활성화 및 서드파티 모듈을 이용하기 위함이 가장 큰 이유일 것 같습니다.

 

저번달부터 HTTPS만 사용하는 홈페이지를 구축 중인데, 거의 마지막 단계인 사이트 투명성 (Certificate Transparency) 탑재를 위해 

 

서드파티 모듈을 설치하기 위해 매우 쉽고 편하고 빠른 패키지 설치를 포기하고 소스 컴파일 설치의 삽질을 시작하기로 마음 먹고 

 

오늘 드디어 CT 인증을 받고 이 게시물을 작성합니다.

 

 

https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/ 

 

Nginx 공식 홈페이지에서 제공하는 방법을 이용하였습니다.

 

간단하게 한글 번역 수준처럼 가볍게 보시면 됩니다.

 

공식 홈페이지에서는 PCRE와 ZLIB 설치를 요구하는데, 해당 패키지만 설치하면 굳이 소스 컴파일 할 필요가 없습니다.

 

apt install libperl-dev libpcre3 libpcre3-dev libssl-dev openssl libgd2-xpm-dev libgeoip-dev zlib1g-dev libxslt-dev 

 

위 명령어로 앞으로 필요한 라이브러리를 미리 설치합니다. (pcre, zlib, openssl은 필수이고, 나머지는 옵션으로 보시면 됩니다.)

 

 

./configure --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module
 

 

저는 위와 같은 옵션으로 설정해줬습니다. 사실 필요없는 것도 많지만... 적절하게 골라서 설치하시길 바랍니다.

 

그리고 설치가 완료되면 init.d 스크립트를 설치해야 합니다. (패키지를 설치하면 전부 필요없는 과정입니다 ^^;;)

 

https://github.com/JasonGiedymin/nginx-init-ubuntu 

 

보통 위 스크립트를 이용한다고 나와있어서 설치해보니...

 

우분투 16.04에서는 nginx가 정지되지 않았습니다.

 

 

그래서 github 이슈를 보니 저와 같이 정지가 안된다는 글이 있더라구요. 그 사람이 추천한

 

https://github.com/Fleshgrinder/nginx-sysvinit-script 

 

위 링크를 해봤는데 정말 깔끔하게 시작, 정지가 잘 되더라구요 -_-;

 

 

이후 기본적인 설정은

 

https://blog.lael.be/post/2600 

 

https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04 

 

위 링크를 참조하시면 됩니다.

, , , , , ,

0 Comments