WLS2 nginx 설치하기
목차
Nginx(“engine-x”로 발음)는 웹 서버(web server) 입니다. 웹서버가 하는 일은 인터넷을 통해 웹사이트, 애플리케이션, 미디어 파일 등 웹 콘텐츠를 제공하는 일입니다. IT에 대해서 잘은 몰라도 인터넷 하면 먼저 떠오르는게 웹서버라면 웹의 기술에 꽤 이해도가 있는 사람으로 볼 수 있지요. 과거에는 아파치가 시장을 주도해왔는데 현재는 nginx 점유율이 아파치를 추월하여 앞으로도 시장의 중심이 될 것으로 기대하고 있습니다.
nginx는 높은 성능, 안정성 및 확장성으로 유명하며 트래픽이 많은 웹사이트 및 애플리케이션에 널리 사용됩니다. 정적 및 동적 콘텐츠를 제공하는 것 외에도 Nginx는 역방향 프록시 서버, 로드 밸런서 및 캐싱 서버의 역할을 수행하여 웹 애플리케이션을 최적화하고 보호하는 추가 기능을 제공할 수 있습니다. 한마디로 범용 웹서버로 백엔드 개발자는 필수적으로 알아야 하는 소프트웨어 입니다. 다행인 것은 아파치보다는 설정이 쉬운 편 입니다. (라고는 해도 웹서버 자체가 종합적인 주제라 뭐가 많음;;;)
뭐 리눅스(Linux)를 사용하는 이유도 따지고 보면 nginx같은 웹서버 환경에 익숙해지기 위해서가 아닐까 싶습니다. 리눅스는 매력적인 운영체제지만 학습곡선이 좀 있습니다. 근데 또 하다보면 시간이 해결해기도 합니다. 필자는 윈도우의 WSL2와 서브PC에서 리눅스를 일상적으로 사용하는데 아직도 모르는 것들이 많습니다. 그런 것들을 하나씩 해결해 나가면서 리눅스의 기술을 체화시켜 나가는 것이지요.
좋습니다, 잡담은 이 정도로 하고 WSL2에 nginx를 설치해보겠습니다.
언제나 그렇듯 sudo apt update 후 nginx를 설치합니다.
sudo apt install nginx
설치가 되면 바로 nginx가 실행됩니다. 웹브라우저의 url 창에 127.0.0.1이나 localhost를 입력하면 다음과 같은 기본 페이지를 볼 수 있습니다. (클라우드 컴퓨터에 설치하면 웹브라우저에 Public IP를 입력하면 된다. hostname -I 같은 명령어로 IP를 확인)
nginx의 서비스는 ufw에 등록되어 있습니다. app list를 보면 현재 사용가능한 앱이 나옵니다. Nginx Full은 80번 포트와 443 포트(TLS/SSL 인증)이고 HTTP가 80, HTTPS가 443 포트입니다.
다음 명령어로 nginx의 실행상태를 확인할 수 있습니다. active(running)은 현재 실행중임을 표시합니다.
systemctl status nginx
nginx 종료와 시작
다음은 nginx를 종료해봅니다. 종료 후에 다시 브라우저에서 확인해보면 페이지를 불러오지 못합니다.
sudo systemctl stop nginx
다시 시작하는 명령어입니다.
sudo systemctl start nginx
WSL2 systemctl 사용방법
현재 WSL2에서는 기본설정이 systemctl를 사용할 수 없습니다. 이것을 사용가능하게 하려면 /etc/wsl.conf 파일에 다음 내용을 추가해줘야 합니다. (파일이 없으면 만들면 됨 – sudo vim /etc/wsl.conf)
[boot] systemd=true
로그 파일 보기
nginx의 기본 설정 파일은 /etc/nginx/nginx.conf 입니다. 로그 파일을 찾아보면 아래와 같이 access_log가 나옵니다.
tail 명령어로 실시간 Access기록을 추적할 수 있습니다.
tail -f /var/log/nginx/access.log
/etc/nginx/sites-enabled/default 링크로 include된 설정 파일을 확인해봅니다. Distro나 버전에 따라 차이가 있을 수 있습니다. 아래 이미지는 Nginx 1.18 (Ubuntu)의 default 설정입니다. 보면 root와 index 페이지가 나와있습니다.
해서 여기 있는 root 로케이션 / 의 파일을 찾아서 cat 해봅니다. welcome to nginx 페이지가 들어있습니다.
여기까지가 WSL2 nginx 설치와 확인한 내용이고, nginx 설정에 대한 부분은 다른 포스트에서 다루겠습니다.
참조링크
Beginner’s Guide (nginx.org Nginx) 공식 초보자 가이드