라즈베리 파이를 위한 정말 간단한 HTML 서버

라즈베리 파이를 위한 정말 간단한 HTML 서버

저는 라즈베리 파이 2 b+에서 Ubuntu mate를 실행하고 있습니다. HTML 파일을 호스팅하고 싶습니다. 내 문제는 리소스가 부족하다는 것입니다. 예를 들어, 연중무휴 24시간 실행되는 주요 사용 프로그램의 경우 Firefox를 시작할 메모리가 남아 있지 않으므로 가벼운 솔루션이 필요합니다. 복잡한 사이트는 필요하지 않습니다. 누군가가 액세스하면 이 샘플.html 파일을 반환하는 사이트만 있으면 됩니다.http://192.168.178.8(샘플로)

답변1

나는 Raspi에서 HTML 문서를 읽고 싶지만 시스템에 기본 브라우저인 Firefox를 시작할 메모리가 충분하지 않다고 생각합니다.

. midori​다음으로 설치

sudo apt-get install midori


로컬 LAN에 페이지를 제공해야 한다면 웹 서버를 설치해야 합니다. nginx리소스 측면에서 좋은 선택입니다.

  1. 다음으로 설치하세요

    sudo apt-get install nginx-light nginx-common
    

    더 많은 기능을 제공하는 패키지 도 있지만 nginx-full여기서는 필요하지 않다고 생각합니다.

    설치가 완료되면 서버가 자동으로 시작됩니다. 당신은 그것을 제어 할 수 있습니다

    sudo service nginx start/stop/restart/...
    

    이제 Raspi의 주소로 이동하면 이미 서비스 중인 페이지를 볼 수 있습니다("Welcome to nginx...").

  2. 표시되는 환영 페이지는 에서 제공됩니다 /var/www/html. 구성은 에 저장됩니다 /etc/nginx.

    게을러서 빠른 수정을 원하는 경우 파일을 이 폴더에 넣으면 됩니다. 기본적으로 문서가 index.html제공됩니다. 존재하지 않는 경우 문서 트리가 대신 제공됩니다. 물론 디렉토리에는 환영 페이지가 포함되어 있습니다. 먼저 방해가 되지 않는 곳으로 이동하세요. 다른 폴더의 파일을 제공하려면 계속 읽어보세요.

    두 개의 디렉토리가 존재합니다

    /etc/nginx/sites-available
    /etc/nginx/sites-enabled
    

    첫 번째 파일에는 실제 구성 파일이 있고 두 번째 파일에는 해당 구성 사이트에 대한 링크가 포함되어 있습니다. 이 링크는 nginx에게 구성을 처리하고 사이트를 제공하도록 지시합니다.

목표를 달성하려면 기존 구성을 약간 조정하는 것으로 충분합니다.

  1. 먼저 심볼릭 링크를 삭제하세요.default

    sudo rm /etc/nginx/sites-enabled/default
    

    따라서 서버는 기본적으로 시작 페이지를 제공하지 않습니다.

  2. 이제 복사 default해서 바꾸세요

    cd /etc/nginx/sites-available
    sudo cp default mysite
    

    어쨌든 당신이 더 좋아하는 이름을 지정하십시오 mysite.

  3. 편집기로 파일을 엽니다. 대부분의 설정은 괜찮지만 root제공하려는 파일이 포함된 디렉터리를 가리키도록 조정해야 합니다 . 이것이 기본적으로 여러분이 해야 할 전부이지만, 한 가지 옵션이 매우 유용합니다:

    index: 문서가 루트일 때 어떤 문서가 서비스되는지http://서버/탐색됩니다.

  4. 다음을 사용하여 구성을 다시 로드하세요.

    sudo service nginx reload
    

    그러면 Pi가 웹페이지를 제공해야 합니다!

답변2

nginx경량 웹 서버이며 Raspi에서 잘 실행됩니다.

sudo apt-get -y nginx 설치

기본 페이지를 /var/www/html 아래에 배치하세요.

구성하려면/etc/nginx/nginx.conf 편집

답변3

패키지를 설치합니다 netcat-openbsd. 이를 통해 다음 셸 스크립트는 모든 요청에 ​​대해 항상 반환하는 매우 단순한 웹 서버를 제공합니다 sample.html.

이미지, CSS 파일 등의 추가 파일은 제공할 수 없습니다.

#!/bin/sh

while (
printf "HTTP/1.1 200 OK\r\n"
printf "Content-Type: text/html\r\n"
printf "\r\n"
cat /path/to/sample.html
) | nc -l 80 >/dev/null; do echo; done

/path/to/sample.html실제 HTTP 파일의 경로로 바꿉니다 .

관련 정보