nginx 내가 지정한 폴더 호스팅

GoGoComputer·2024년 11월 23일

전체 호스팅

Nginx에서 특정 폴더의 디렉토리 목록을 표시하려면 autoindex 기능을 활성화해야 합니다. 이를 위해 다음과 같이 설정 파일을 수정하십시오:

  1. Nginx 설정 파일 열기:

    • 일반적으로 /etc/nginx/nginx.conf 또는 /etc/nginx/sites-available/default 파일을 사용합니다.
    • 편집기(예: nano 또는 vi)로 해당 파일을 엽니다.
  2. location 블록 추가 또는 수정:

    • 디렉토리 목록을 표시하려는 경로에 대한 location 블록을 추가하거나 기존 블록을 수정합니다.

    • 예를 들어, /downloads 경로에 대해 설정하려면 다음과 같이 작성합니다:

      location /downloads {
          alias /var/www/downloads/;
          autoindex on;
          autoindex_exact_size off;  # 파일 크기를 KB, MB 단위로 표시
          autoindex_localtime on;    # 로컬 시간대로 파일 수정 시간 표시
      }

      여기서 alias 지시어는 실제 파일 시스템 경로를 지정하며, autoindex 지시어는 디렉토리 목록 표시를 활성화합니다.

  3. Nginx 설정 테스트 및 재시작:

    • 설정 파일에 오류가 없는지 확인합니다:

      sudo nginx -t
    • 오류가 없다면 Nginx를 재시작하여 변경 사항을 적용합니다:

      sudo systemctl reload nginx

이제 웹 브라우저에서 http://your_domain/downloads/로 접속하면 해당 디렉토리의 파일 목록이 표시됩니다.

추가로, 디렉토리 목록의 표시 형식을 커스터마이즈하거나 접근 권한을 설정하려면 autoindex 모듈의 다양한 지시어를 활용할 수 있습니다. 자세한 내용은 Nginx 공식 문서를 참고하시기 바랍니다.

HTML CSS JS 호스팅

Nginx를 사용하여 특정 폴더에 있는 HTML, CSS, JS 파일을 호스팅하려면 다음 단계를 따르세요:

  1. Nginx 설치 확인:

    • 먼저, Nginx가 설치되어 있는지 확인합니다.

    • 설치되어 있지 않다면, 다음 명령어로 설치합니다:

      sudo apt-get update
      sudo apt-get install nginx
  2. 호스팅할 파일 준비:

    • 예를 들어, /home/user/website 디렉토리에 HTML, CSS, JS 파일을 저장합니다.
  3. Nginx 설정 파일 수정:

    • Nginx의 설정 파일을 열어 수정합니다. 일반적으로 /etc/nginx/sites-available/default 파일을 사용합니다.

    • 편집기(예: nano 또는 vi)로 해당 파일을 엽니다:

      sudo nano /etc/nginx/sites-available/default
  4. 서버 블록 설정:

    • server 블록 내에 root 지시어를 사용하여 호스팅할 파일의 경로를 지정합니다.

    • 예를 들어, 다음과 같이 설정합니다:

      server {
          listen 80;
          server_name your_domain_or_IP;
      
          root /home/user/website;
          index index.html;
      
          location / {
              try_files $uri $uri/ =404;
          }
      }
    • 여기서 root는 호스팅할 파일이 있는 디렉토리를 지정하며, index는 기본으로 제공할 파일을 설정합니다.

  5. Nginx 설정 테스트 및 재시작:

    • 설정 파일에 오류가 없는지 확인합니다:

      sudo nginx -t
    • 오류가 없다면 Nginx를 재시작하여 변경 사항을 적용합니다:

      sudo systemctl reload nginx
  6. 방화벽 설정 확인:

    • 방화벽이 설정되어 있다면, HTTP 트래픽을 허용하도록 설정합니다:

      sudo ufw allow 'Nginx Full'
  7. 웹 브라우저에서 확인:

    • 웹 브라우저를 열고 서버의 도메인 또는 IP 주소로 접속하여 설정한 웹사이트가 정상적으로 표시되는지 확인합니다.

이 과정을 통해 Nginx를 사용하여 지정한 폴더의 HTML, CSS, JS 파일을 호스팅할 수 있습니다. 자세한 내용은 Nginx 공식 문서를 참고하시기 바랍니다.

예시

Nginx 설정에서 server_name 지시어는 도메인 이름이나 IP 주소를 지정하여 해당 서버 블록이 특정 요청을 처리하도록 합니다. 만약 서버의 호스트명이 momo이고, IP 주소가 123.45.67.89라면, 다음과 같이 설정할 수 있습니다:

server {
    listen 80;
    server_name momo 123.45.67.89;

    root /home/user/website;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

여기서 server_name 지시어에 호스트명 momo와 IP 주소 123.45.67.89를 모두 지정하여, 해당 서버 블록이 두 경우 모두 처리하도록 설정하였습니다. 이렇게 하면 클라이언트가 momo 또는 123.45.67.89로 요청할 때 이 서버 블록이 응답하게 됩니다.

설정을 완료한 후, Nginx 설정 파일에 오류가 없는지 확인하고, Nginx를 재시작하여 변경 사항을 적용해야 합니다:

sudo nginx -t
sudo systemctl reload nginx

이 과정을 통해 지정한 호스트명과 IP 주소로의 요청을 처리할 수 있습니다.

profile
IT를 좋아합니다.

0개의 댓글