직접적으로 웹 서버를 구축한 적이 없어서 가상 서버를 통해 웹서버를 구축한다는 말 자체가 생소하고 어려웠습니다. 지금이야 어느 정도의 개념이 이해가 되서 검색이라도 가능하지만 예전의 나와 같은 사람들이 이해할 수 있도록 글을 정리해 볼 생각입니다.
먼저 쉽게 생각하여 컴퓨터 한 대를 빌려 그곳에 서버를 구축하는 것입니다. 물리적으로 이 서버를 구축할 수도 있지만 클라우드 서비스나 가상머신을 이용하여 한 대의 컴퓨터 안에서도 가상환경 속에 서버를 구축할 수 있습니다.
가상환경 속의 컴퓨터가 준비되었다고 가정하고 우리는 이제 이 컴퓨터에 서버를 만들기위해 운영체제를 설치해야합니다. 자유도가 높고 웹서버에 많이 사용하는 Linux인 Ubuntu를 설치합니다.
Ubuntu가 설치된 가상 환경에 Nginx라는 웹 서버 프로그램을 설치합니다. 이 Nginx가 우리의 웹 서버 역할을 해줄 것입니다. 이제 우리는 가상환경 속에 우리가 작성한 코드를 실행시켜 Nginx와 연결시키기만 하면 됩니다. 우리가 작성한 코드를 가상환경 속에서 불러오기 위해서는 git clone을 통해 쉽게 가져올 수 있습니다.
쉽게말해 흐름은 이렇습니다.
Ubuntu라 불리우는 Linux 운영체제를 사용하는 컴퓨터를 빌려, Nginx를 설치하고 우리가 작성한 코드를 Nginx로 띄웁니다. 다른 컴퓨터에서 이 가상 컴퓨터의 ip주소나 domain에 접근하면 nginx 설정에 맞게 브라우저에 보여줍니다.
sudo apt update
sudo apt upgrade
sudo apt autoremove
sudo apt install nginx
sudo apt remove nginx #제거
sudo service start nginx
sudo service status nginx
nginx.conf에는 이미 어느정도 세팅이 되어있지만 사용자에 따라 커스텀이 가능합니다.
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
server {
listen 80;
location / {
root html;
index index.html index.htm;
}
}
}
/etc/nginx/sites-available의 폴더에서 여러 설정파일들을 생성한 뒤 그 파일들 중 원하는 설정을 선택적으로 sites-enabled폴더에 동기화해서 적용하는 symlink 기능을 이용합니다.
sudo ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/