Debian 8에 Nginx를 설치하는 방법
소개
Nginx는 Apache2의 인기 있는 HTTP 서버 대안입니다. 리버스 프록시, 메일 서버 또는 웹 서버로 사용할 수 있습니다. 2015년 7월 현재 Netcraft 조사에 따르면 Nginx는 현재 시장의 14%를 차지하고 있으며 2007년 이후 증가 추세를 보이고 있습니다.
이 가이드에서는 Debian 8 서버에 Nginx를 설치합니다.
전제 조건
이 자습서를 따르려면 다음이 필요합니다.
- 새로운 데비안 8.1 드롭릿 1개
- 이 튜토리얼의 2단계와 3단계에 따라 설정할 수 있는 루트가 아닌 sudo 사용자
달리 명시되지 않는 한 이 자습서의 모든 명령은 sudo 권한이 있는 루트가 아닌 사용자로 실행해야 합니다.
1단계 - Nginx 설치
이 단계에서는 apt-get
이라는 내장 패키지 설치 프로그램을 사용합니다. 관리를 획기적으로 단순화하고 깨끗한 설치를 용이하게 합니다.
전제 조건의 일부로 apt-get
을 사용하여 apt 패키지 색인을 업데이트하고 sudo
패키지를 설치해야 합니다. 다른 Linux 배포판과 달리 Debian 8은 sudo
가 설치된 상태로 제공되지 않습니다.
Nginx는 앞서 언급한 HTTP 서버로, 적은 메모리 사용량으로 큰 로드를 처리하는 데 중점을 둡니다. 설치하려면 다음 명령을 실행하십시오.
- sudo apt-get install nginx
Nginx와 가장 널리 사용되는 두 가지 오픈 소스 웹 서버인 Apache2의 차이점에 대한 정보는 이 기사를 참조하십시오.
2단계 - 웹 서버 테스트
이 단계에서는 Nginx 서버에 액세스할 수 있는지 테스트합니다.
웹 브라우저에서 http://your_server_ip
에 액세스하여 your_server_ip
를 서버의 IP 주소로 바꿉니다. 서버가 실행 중임을 확인하는 기본 Nginx 페이지가 표시되어야 합니다.
웹 브라우저에 대한 액세스 권한이 없는 경우에도 명령줄에서 서버를 테스트할 수 있습니다. 웹 사이트가 외부 세계에 표시되는지 확인하려면 다른 시스템에서 테스트하는 것이 가장 좋습니다. 다음 명령을 실행합니다.
- curl your_server_ip
다음 HTML 출력이 표시되어야 합니다.
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx on Debian!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx on Debian!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working on Debian. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a></p>
<p>
Please use the <tt>reportbug</tt> tool to report bugs in the
nginx package with Debian. However, check <a
href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=nginx;repeatmerged=0">existing
bug reports</a> before reporting a new bug.
</p>
<p><em>Thank you for using debian and nginx.</em></p>
</body>
</html>
오류는 다음과 같을 것입니다. 이것을 보지 안 됩니다.
curl: (52) Empty reply from server
3단계 — Nginx 프로세스 관리
이제 웹 서버를 가동하고 실행 중이므로 몇 가지 기본 관리 명령을 검토할 수 있습니다.
웹 서버를 중지하려면 다음을 입력하십시오.
- sudo systemctl stop nginx
중지된 웹 서버를 시작하려면 다음을 입력하십시오.
- sudo systemctl start nginx
서비스를 중지했다가 다시 시작하려면 다음을 입력합니다.
- sudo systemctl restart nginx
단순히 구성을 변경하는 경우 Nginx는 종종 연결을 끊지 않고 다시 로드할 수 있습니다. 이를 위해 다음 명령을 사용할 수 있습니다.
- sudo systemctl reload nginx
다음을 입력하여 서버가 재부팅될 때 웹 서버가 자동으로 다시 시작되도록 할 수 있습니다.
- sudo systemctl enable nginx
이 구성이 작동하는지 테스트하려면 서버를 다시 시작하십시오.
- sudo shutdown -r now
그런 다음 서버가 다시 시작되므로 로그아웃합니다.
1~2분 후에 2단계를 반복하여 재부팅 시 웹 서버가 시작되는지 테스트할 수 있습니다.
서버 루트 및 구성
Nginx를 통해 자신의 페이지나 애플리케이션 서비스를 시작하려면 Nginx 구성 파일과 기본 서버 루트 디렉터리의 위치를 알고 싶을 것입니다.
기본 서버 루트
기본 서버 루트 디렉토리는 /var/www/html
입니다. 이 디렉터리에 있는 파일은 웹 서버에서 제공됩니다. 이 위치는 /etc/nginx/sites-enabled/default
에 있는 Nginx와 함께 제공되는 기본 서버 블록 구성 파일에 지정됩니다.
서버 블록 구성
Apache의 가상 호스트로 알려진 추가 서버 블록은 /etc/nginx/sites-available
에 새 구성 파일을 생성하여 추가할 수 있습니다. 이러한 구성을 활성화하려면 다음을 사용하여 /etc/nginx/sites-enabled
에 대한 심볼릭 링크를 만듭니다.
- sudo ln -s /etc/nginx/sites-available/site /etc/nginx/sites-enabled/site
sites-enabled
디렉토리의 모든 구성 파일은 Nginx에 의해 로드됩니다.
Nginx 글로벌 구성
기본 Nginx 구성 파일은 /etc/nginx/nginx.conf
에 있습니다. 여기에서 Nginx 데몬 프로세스를 실행하는 사용자, Nginx가 실행 중일 때 생성되는 작업자 프로세스 수와 같은 설정을 변경할 수 있습니다.
결론
이제 웹 서버를 설치했으므로 제공할 콘텐츠 유형과 보다 풍부한 경험을 만드는 데 사용할 기술에 대한 많은 옵션이 있습니다.
서버 보안을 위한 추가 옵션을 탐색할 수도 있습니다. 이제 월드 와이드 웹에 공개되었으며 매우 취약하다는 점을 기억하십시오.