Nginx는 인터넷에서 가장 큰 사이트 중 일부의 로드를 처리하는 무료 오픈 소스 고성능 HTTP 및 역방향 프록시 서버입니다. Nginx는 독립 실행형 웹 서버로 사용할 수 있으며 Apache 및 기타 웹 서버의 역방향 프록시로 사용할 수 있습니다.
Apache에 비해 Nginx는 많은 수의 동시 연결을 처리할 수 있으며 연결당 메모리 설치 공간이 작습니다.
이번 포스팅에서는 Ubuntu 18.04에 Nginx를 설치하는 데 필요한 단계를 설명합니다.
필수 구성 요소
튜토리얼로 시작하기 전에 sudo 권한을 가진 사용자로 로그인했는지 확인하고 포트 80 또는 443에서 Apache 또는 다른 웹 서버를 실행하지 않아야 합니다.
Nginx 설치
Nginx 패키지는 기본 Ubuntu 리포지토리에서 사용할 수 있습니다. 설치가 매우 간단합니다.
먼저 패키지 목록을 업데이트한 후 Nginx를 설치합니다.
sudo apt update
sudo apt install nginx
설치가 완료되면 Nginx 서비스가 자동으로 시작됩니다. 다음 명령을 사용하여 서비스 상태를 확인할 수 있습니다.
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-04-29 06:43:26 UTC; 8s ago
Docs: man:nginx(8)
Process: 3091 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 3080 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 3095 (nginx)
Tasks: 2 (limit: 507)
CGroup: /system.slice/nginx.service
├─3095 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─3097 nginx: worker process
방화벽 구성
UFW를 사용하여 방화벽을 관리한다고 가정하면 HTTP(80) 및 HTTPS(443) 포트를 열어야 합니다. 두 포트에 대한 규칙이 포함된 'Nginx Full' 프로필을 활성화하면 이 작업을 수행할 수 있습니다.
sudo ufw allow 'Nginx Full'
상태 유형을 확인하려면 다음을 수행합니다.
sudo ufw status
출력은 다음과 같습니다.
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
설치 테스트
새 Nginx 설치를 테스트하려면 http://YOUR_를 엽니다.원하는 브라우저에서 IP를 선택하면 아래 이미지에 표시된 기본 Nginx 랜딩 페이지가 표시됩니다.
Nginx 서비스 관리
다른 systemd 서비스와 동일한 방식으로 Nginx 서비스를 관리할 수 있습니다.
Nginx 서비스를 중지하려면 다음을 실행합니다.
sudo systemctl stop nginx
다시 시작하려면 다음을 입력합니다.
sudo systemctl start nginx
Nginx 서비스를 다시 시작하려면 다음을 수행합니다.
sudo systemctl restart nginx
일부 구성을 변경한 후 Nginx 서비스를 다시 로드합니다.
sudo systemctl reload nginx
기본적으로 Nginx 서비스는 부팅 시 시작됩니다. 부팅 시 시작하도록 Nginx 서비스를 사용하지 않도록 설정하려면 다음을 수행합니다.
sudo systemctl disable nginx
다시 활성화하려면 다음을 수행합니다.
sudo systemctl enable nginx
Nginx 구성 파일의 구조 및 사례
- 모든 Nginx 구성 파일은 /etc/nginx 디렉터리에 있습니다.
- 기본 Nginx 구성 파일은 /etc/nginx/nginx.conf입니다.
- Nginx 구성을 보다 쉽게 유지 관리할 수 있도록 각 도메인에 대해 별도의 구성 파일을 생성하는 것이 좋습니다. 필요한 만큼의 서버 블록 파일을 가질 수 있습니다.
- Nginx 서버 블록 파일은 /etc/nginx/sites-available 가능한 디렉토리에 저장됩니다. 이 디렉토리에 있는 구성 파일은 /etc/nginx/sites-enable 디렉토리에 연결되지 않는 한 Nginx에서 사용하지 않습니다.
- 서버 블록을 활성화하려면 사이트 사용 가능한 디렉토리의 구성 파일 사이트에서 사이트 사용 가능 디렉토리로 symlink(포인터)를 만들어야 합니다.
- 표준 이름 지정 규칙을 따르는 것이 좋습니다. 예를 들어 도메인 이름이 mydomain.com인 경우 구성 파일의 이름을 /etc/nginx/vmx-available/mydomain.com.conf로 지정하십시오.
- /etc/nginx/snippets 디렉토리에는 서버 블록 파일에 포함할 수 있는 구성 스니펫이 포함되어 있습니다. 반복 가능한 구성 세그먼트를 사용하는 경우 해당 세그먼트를 캡처로 리팩터링하고 서버 블록에 코드 조각 파일을 포함할 수 있습니다.
- Nginx 로그 파일(access.log 및 error.log)은 /var/log/nginx 디렉토리에 있습니다. 서버 블록마다 다른 액세스 및 오류 로그 파일을 갖는 것이 좋습니다.
- 도메인 문서 루트 디렉터리를 원하는 위치로 설정할 수 있습니다. webroot의 가장 일반적인 위치는 다음과 같습니다.
- /home/<user_name>/<site_name>
- /var/varw/<site_name>
- /var/varw/properties/<site_name>
- /opt/<site_name>
결론
Ubuntu 18.04 서버에 Nginx를 설치했습니다. 이제 애플리케이션 배포를 시작할 준비가 되었습니다.
'SW > 리눅스' 카테고리의 다른 글
Ubuntu 18.04 : Nginx에 Let's Encrypt로 SSL/HTTPS 적용 방법, 예제, 명령어 (3) | 2020.10.10 |
---|---|
Ubuntu 18.04 : Nginx 서버 블락 설정 방법, 예제, 명령어 (0) | 2020.10.09 |
Ubuntu 16.04 에서 18.04로 업그레이드 하는 방법, 예제, 명령어 (0) | 2020.10.07 |
Cent OS 7 : Apache 설치 방법, 예제, 명령어 (0) | 2020.10.06 |
Debian 9 : Java 설치 방법, 예제, 명령어 (0) | 2020.10.05 |