Что позволяет ПК быть веб-сервером, а что не позволяет?

Что позволяет ПК быть веб-сервером, а что не позволяет?

У меня есть вопрос об использовании компьютера в качестве веб-сервера. Почему определенный компьютер может быть веб-сервером? Какие особенности позволяют ему быть веб-сервером? Есть ли случаи, когда компьютер не может выступать в качестве веб-сервера?

решение1

Практически любой компьютер может использоваться как [веб]сервер, при условии, что он может подключаться к сети и может запускать программное обеспечение веб-сервера. Поскольку веб-сервер может быть довольно простым, и существуют бесплатные и открытые веб-серверы, на практике любое устройство может выступать в качестве веб-сервера.

Более серьезная проблема — это сетевая сторона. Чтобы система могла работать как сервер, другие машины должны иметь к ней доступ. Если она используется только в локальной сети, то проблем нет; однако, если она используется из более широкого Интернета, то данные должны быть направлены на нее. Для этого требуется либо статический IP-адрес, связанный с сервером (или порт, перенаправленный через маршрутизатор), либо внешняя служба, которая может сопоставить доменное имя/поддомен с изменяющимся динамическим IP-адресом.

(Кстати, вы можете купитькомпьютеры за 10 долларов(который может выступать в качестве базового веб-сервера.)

Конечно, хотя любое устройство может выступать в качестве веб-сервера, функциональность веб-сайтов может существенно различаться, и дешевое устройство (или медленное соединение) может не справиться с требованиями в зависимости от того, какой именно веб-сайт.

Отмечу, что все вышесказанное касается веб-серверов, но то же самое можно сказать практически о любом типе сервера.

решение2

Это совсем не сложно. Это просто зависит от вашего определения "веб-сервера".

Вполне возможно запустить «веб-сервер» на таком простом устройстве, как микроконтроллер.

Давайте рассмотрим, что должен делать минимальный веб-сервер. Он должен выводить клиенту какой-то текст — не обязательно даже в формате HTML. Он должен знать, что запрос — это запрос, и отвечать соответствующим образом. Вам даже не понадобится сетевое подключение, если ваш «клиент» будет локальным. Это будет совершенно бессмысленный веб-сервер.

Это был бы эквивалент веб-сервераодин из них.

введите описание изображения здесь

Было бы лучше добавить сетевое подключение для клиента (Ethernet — это хорошо, но нет никаких технических причин, по которым вы не можете подключиться к веб-серверу, работающему по Wi-Fi) и возможность маршрутизации с клиента.

5 долларовESP8266– дешевый, минимальный микроконтроллер с Wi-Fi может справиться со многим из этого, и, возможно, даже с базовым динамическим контентом

Я использую что-то подобное для быстрого обмена файлами с помощью Python. Вполне возможно написать что-то подобное на микроконтроллере или даже запустить на телефоне.

Статический контент скучен. Добавьте динамические языки, и вам придется начать думать о более тяжелых системах. Все, что работает под управлением Linux или Windows, — это хорошо.

На данном этапе речь идет о потребительских маршрутизаторах, небольших приложениях, использующих веб-страницы в пользовательском интерфейсе и тому подобном.

Веб-сервер даже не является сложной проблемой и может быть написан напять строк bashи запустить на Linux. Сейчасрок... Но любая система, способная запустить Doom, может запустить веб-сервер.

АхорошийНастройка веб-сервера, способного справиться с заданной нагрузкой, несколько сложнее.

решение3

Абсолютный минимум

Буквально,любойКомпьютер может стать веб-сервером, если он имеет следующее:

  • Сетевое подключение
  • Очень простое приложение веб-сервера,так.

Но будет ли этого достаточно? Вот это сложный вопрос.

Обслуживание интрасети

Чтобы компьютер стал веб-сервером, обслуживающим современные веб-страницы или веб-приложения для целого сообщества (например, школы, компании, музея):

  • Аппаратное обеспечение, способное отвечать нескольким компьютерам одновременно. Возможно, подойдет старый компьютер с Linux или Windows XP.
  • Высокоскоростное сетевое соединение с достаточной пропускной способностью, например, Ethernet 1 Гбит/с или Wi-Fi 802.11g.
  • Хорошее приложение веб-сервера, напримерИИС,Апачи,Nginxилидругие. (Удивительно, но эти три бесплатны.)

Но это был лишь минимум для небольших операций.Когда ваша деятельность становится больше (т. е. вы получаете более интенсивный трафик и обслуживаете сложные веб-приложения вместо статических страниц), ваши потребности растут. В конечном итоге вам понадобится:

  • Аппаратное обеспечение серверного класса, например, стоечные серверы с несколькими процессорами Xeon и сотнями гигабайт оперативной памяти.
  • Волоконно-оптические сети

Служение внешнему миру

Чтобы использовать инфраструктуру Интернета для обслуживания всего мира, вам понадобится:

Без них у вас есть толькопотенциалвеб сервер.

решение4

Если у вас есть под рукой любой компьютер (ПК, ноутбук, смартфон, RaspberryPI...) с установленным Python, просто введите:

$ python -m SimpleHTTPServer

Или, если у вас установлен Node.js:

$ npm install http-server -g
$ http-server

Поздравляем, у вас есть веб-сервер!

Связанный контент