
컴퓨터를 웹 서버로 사용하는 것에 대해 질문이 있습니다. 특정 컴퓨터가 웹 서버가 될 수 있는 이유는 무엇입니까? 웹 서버가 될 수 있는 기능은 무엇입니까? 컴퓨터가 웹 서버 역할을 할 수 없는 경우도 있나요?
답변1
네트워크에 연결할 수 있고 웹 서버 소프트웨어를 실행할 수 있다면 거의 모든 컴퓨터를 [웹] 서버로 사용할 수 있습니다. 웹 서버는 매우 간단할 수 있고 무료 오픈 소스 웹 서버가 있으므로 실제로는 모든 장치가 웹 서버 역할을 할 수 있습니다.
더 큰 문제는 네트워킹 측면입니다. 시스템이 서버 역할을 하려면 다른 시스템이 해당 시스템에 액세스할 수 있어야 합니다. LAN에서만 사용하기 위한 것이라면 걱정할 필요가 없습니다. 그러나 더 넓은 범위의 인터넷에서 사용하려면 데이터를 해당 인터넷으로 라우팅해야 합니다. 이를 위해서는 서버(또는 라우터를 통해 전달된 포트)와 연결된 고정 IP 주소 또는 도메인 이름/하위 도메인을 변경되는 동적 IP 주소에 매핑할 수 있는 외부 서비스가 필요합니다.
(FWIW, 당신은 구입할 수 있습니다컴퓨터 10달러기본 웹 서버 역할을 할 수 있습니다.)
물론 모든 장치가 웹 서버 역할을 할 수 있지만 웹 사이트의 기능은 크게 다를 수 있으며 값싼 장치(또는 느린 연결)는 특정 웹 사이트에 따라 수요를 따라잡지 못할 수도 있습니다.
위의 모든 내용은 웹 서버에 대해 설명하고 있지만 거의 모든 유형의 서버에 대해서도 마찬가지입니다.
답변2
전혀 까다롭지 않습니다. 그것은 단지 "웹 서버"의 정의에 달려 있습니다.
마이크로컨트롤러만큼 간단한 장치에서 "웹 서버"를 실행하는 것은 전적으로 가능합니다.
최소한의 웹 서버가 수행해야 할 작업이 무엇인지 생각해 보겠습니다. 클라이언트에 HTML로 출력할 필요는 없지만 일부 텍스트를 출력해야 합니다. 요청이 요청임을 알고 적절하게 응답해야 합니다. "클라이언트"가 로컬인 경우에는 네트워크 연결이 필요하지 않습니다. 그것은 완전히 무의미한 웹 서버가 될 것입니다.
이는 웹 서버와 동일합니다.이들 중 하나.
클라이언트에 대한 네트워크 연결을 추가하고(이더넷은 좋지만 Wi-Fi에서 실행되는 웹 서버에 연결할 수 없는 기술적인 이유는 없습니다) 클라이언트에서 라우팅할 수 있는 것이 더 좋습니다.
$5ESP8266– Wi-Fi가 포함된 저렴하고 최소한의 마이크로컨트롤러로 많은 부분을 처리할 수 있으며 어쩌면 기본적인 동적 콘텐츠도 처리할 수 있습니다.
저는 Python을 사용하여 빠른 파일 공유를 위해 이와 같은 것을 사용합니다. 이와 같은 것을 마이크로 컨트롤러에 작성하거나 휴대폰에서 실행하는 것은 여전히 전적으로 가능합니다.
정적 콘텐츠는 지루합니다. 동적 언어를 추가하면 더 무거운 시스템을 생각해야 합니다. Linux나 Windows를 실행하는 것은 좋습니다.
이 시점에서는 소비자 라우터, UI에서 웹 페이지를 사용하는 소규모 애플리케이션 등을 이야기하고 있습니다.
웹 서버는 복잡한 문제도 아니며 다음과 같이 작성할 수 있습니다.배쉬 다섯 줄그리고 리눅스에서 실행해보세요. 지금운명... 하지만 doom을 실행할 수 있는 모든 시스템은 웹 서버를 실행할 수 있습니다.
ㅏ좋은주어진 로드를 처리할 수 있는 웹 서버 설정은 다소 까다롭습니다.
답변3
최소한의
문자 그대로,어느컴퓨터는 다음과 같은 경우 웹 서버가 될 수 있습니다.
- 네트워크 연결
- 매우 간단한 웹 서버 앱,이와 같이.
하지만 그것으로 충분할까요? 자, 그것은 까다로운 질문입니다.
인트라넷 제공
컴퓨터가 전체 커뮤니티(예: 학교, 회사, 박물관)에 최신 웹 페이지나 웹 앱을 제공하는 웹 서버가 되려면 다음을 수행하세요.
- 동시에 여러 대의 컴퓨터에 응답할 수 있는 하드웨어입니다. 아마도 Linux나 Windows XP를 실행하는 오래된 컴퓨터라면 가능할 것입니다.
- 충분한 대역폭을 갖춘 고속 네트워크 연결(예: 1Gbit/sec 이더넷 또는 802.11g Wi-Fi)
- 다음과 같은 좋은 웹 서버 앱IIS,아파치,엔진엑스또는다른 사람. (놀랍게도 이 세가지는 무료입니다.)
그러나 이는 소규모 작업을 위한 최소한의 수준이었습니다.작업 규모가 커지면(즉, 트래픽이 더 많아지고 정적 페이지 대신 복잡한 웹 앱을 제공하는 경우) 요구 사항도 늘어납니다. 결국에는 다음이 필요합니다.
- 여러 개의 Xeon CPU와 수백 기가바이트의 RAM을 갖춘 랙 장착형 서버와 같은 서버급 하드웨어
- 광섬유 네트워크
바깥 세상에 봉사하다
전 세계에 서비스를 제공하기 위해 인터넷 인프라를 활용하려면 다음이 필요합니다.
- 공용 IP 주소
- 공용 DNS 서버
- 디지털 인증서 발급 기관:평판이 좋은 인증 기관보안 연결 설정을 위해
이것들이 없으면 당신이 가진 것은잠재적인웹 서버.
답변4
Python이 설치된 모든 종류의 컴퓨터(PC, 노트북, 스마트폰, raspberryPI...)가 있다면 다음을 입력하세요.
$ python -m SimpleHTTPServer
또는 Node.js가 설치되어 있는 경우:
$ npm install http-server -g
$ http-server
축하합니다. 웹 서버가 생겼습니다!