본문 바로가기

쿠분투

nginx를 파일 서버로 사용해 보기

*ChatGPT를 활용해서 작성했습니다.

*nginx(엔진엑스, Engine-X)는 웹 서버 소프트웨어인데 파일 서버로도 사용이 가능한 오픈소스 프로그램이다. 파일서버로서 nginx의 설정 방법에 대해 알아보자.

(1) 다음과 같이 명령어를 입력해 nginx를 설치한 후, 서비스를 시작한다.

$ sudo apt install nginx

$ sudo systemctrl start nginx

(2) 웹브라우저로 http://서버IP 로 접속하면 Welcome to nginx! 페이지가 뜬다.

(3) /var/www 폴더 아래에 다운로드할 수 있는 하위 폴더인 files를 만든다. 그리고 전송할 파일을 이 폴더에 넣는다.

$ sudo mkdir /var/www/files

(4) 다음과 같이 입력해 nginx 설정 파일을 열고, 꼭 필요한 설정인 파일이 있는 폴더 경로 설정과 폴더 목록 보기 설정을 한다.

$ kate /etc/nginx/sites-available/default

server {
root /var/www/files; # 파일이 있는 폴더 경로 설정
autoindex on; # 폴더 목록 보기 허용
}

(5) 설정을 변경하였으므로 설정 문법 검사를 하고, 설정을 다시 로드한다.

$ sudo nginx -t

$ sudo systemctl reload nginx

(6) 웹브라우저를 열고 http://서버IP 접속을 해 파일이 출력되는지 확인한다. 각 파일을 클릭해 다운로드할 수 있다.

(7) nginx 부팅될 때 자동 실행되게 하거나 자동 실행되지 않게 하려면 다음과 같이 입력한다.

$ sudo systemctl enable nginx : nginx 서비스가 부팅될 때 자동 실행한다

$ sudo systmectl disable nginx : nginx 서비스가 부팅될 때 실행되지 않게 한다.

*테스트해 본 결과 다운로드할 폴더로 홈 폴더의 하위 폴더로 설정하는 것이 어렵고 심볼릭 링크된 하위 폴더도 인식되지 않았다.한글로 된 폴더의 문자가 깨졌으며, 파일 폴더에 파일이 없는 경우에도 에러 메시지가 떴다. 그리고 웹페이지가 접속이 된 것 같은데 캐쉬 파일을 로드한 것이라서 사실은 네트워크 에러가 있는 경우도 있었다. 이전 페이지를 캐쉬한 것이 로드된 것이다. 이런 경우는 Ctrl+F5 키를 눌러서 다시 웹페이지를 로드해야 했다.