Как сделать сервер из компьютера

Обновлено: 21.11.2024

Чтобы повторно просмотреть эту статью, перейдите в раздел "Мой профиль" и выберите "Просмотреть сохраненные истории".

Чтобы повторно просмотреть эту статью, перейдите в раздел "Мой профиль" и выберите "Просмотреть сохраненные истории".

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

Содержание

Введение

Прежде чем начать — альтернативы

Настройка домашнего сервера может быть очень увлекательной и полезной для обучения. Но, в зависимости от того, для чего вы хотите его использовать и насколько хорошее у вас подключение к Интернету, домашний сервер может оказаться не лучшей альтернативой. Если ваша цель — надежно обслуживать веб-страницы или иным образом доставлять информацию друзьям или клиентам за пределы вашего дома, имеет смысл разместить сервер в «облаке», другими словами, в коммерческом центре обработки данных. Это избавляет вас от беспокойства и хлопот, связанных с поддержанием его в рабочем состоянии или устранением перебоев в домашнем питании, кабельном или DSL-сервисе. «Облачные вычисления», или аренда столько серверов, сколько вам нужно, на почасовой или ежемесячной основе, становятся довольно популярными для веб-компаний или растущих предприятий, но ставки достаточно недороги, чтобы вы могли рассматривать их как альтернативу домашний сервер. Существует множество компаний, занимающихся облачными вычислениями, от Amazon Web Services, которая требует, чтобы вы изучили их интерфейс командной строки для запуска нового сервера, до ENKI, которая предлагает персональную поддержку для запуска и запуска. Здесь не место вдаваться в подробности, но вы можете узнать больше, погуглив "Облачные вычисления".

Что вам понадобится

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

  • Компьютер
  • Широкополосное сетевое подключение
  • Сетевой маршрутизатор с кабелем Ethernet (CAT5).
  • Монитор и клавиатура (только для первых шагов)
  • Привод/устройство записи CD/DVD пригодится, если вы планируете использовать сервер для мультимедиа.

Компьютер

Сервер не обязательно должен быть особенно мощным. eBay работает на компьютерах Sun стоимостью в несколько тысяч долларов, а Google использует тысячи машин для поиска. Но для личного использования серверу требуется значительно меньше мощности, чем обычному настольному компьютеру. В то время как другие компьютеры заняты сложными задачами, такими как удаление пятен с фотографий и расчет траекторий ракет, у вашего домашнего сервера гораздо более простая задача: получение запросов на данные, а затем отправка этих данных по запросу. Ваш сервер не будет использовать много вычислительной мощности, особенно без графического интерфейса. Машина с 64 МБ оперативной памяти и процессором с частотой 300 МГц может стать отличным сервером; с немного более надежными характеристиками, он может справиться практически со всем, что вы ему бросите.

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

Старое оборудование может быть ненадежным. Иногда проблема решается заменой плохой оперативной памяти или установкой нового радиатора, но иногда компьютер просто зависает каждые несколько часов, независимо от того, какая операционная система установлена. Пришло время пожертвовать или переработать его.

Пространство — это проблема. Если старая машина находится в большом корпусе башни, а вы живете в маленькой квартире, вы можете приобрести для нее новый корпус или купить новый сервер, размер которого в десять раз меньше.

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

У вас нет под рукой старого компьютера, и вы живете в стране, где найти дешевое бывшее в употреблении оборудование сложно или дорого.

Если применимо что-либо из вышеперечисленного, вы можете перейти к разделу «Покупка сервера».

Архитектура

Какой тип компьютера вы используете — i386, PowerPC, Gameboy — на удивление мало что значит. Linux и BSD, предпочтительные серверные операционные системы, работают практически на любой архитектуре, на которую вы хотите их установить. Официальный список процессоров, на которых может работать Debian, включает процессоры Intel x86, Motorola 680xx, Sun Sparc, Alpha, PowerPC, ARM, MIPS, HP PA, Intel 64-bit и S/390, и другие процессоры находятся на стадии тестирования. Это охватывает подавляющее большинство потребительских компьютеров, когда-либо созданных. Купите блокнот (бумажный) и назовите его «Мой сервер». Запишите все номера моделей и детали оборудования, которое вы настроили.

Память

Оперативная память в наши дни дешева, и, как правило, чем больше, тем лучше.

Хранилище

Жесткий диск — это сердце сервера. Если все остальное сдохнет, вы можете вытащить жесткий диск и вставить его в другую (сопоставимую) машину и продолжить с того места, на котором остановились.В зависимости от того, сколько слотов встроено в ваш компьютер, вам может понадобиться один жесткий диск или несколько. Чем больше, тем лучше.

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

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

Охлаждение

Поскольку сервер будет работать постоянно, необходимо убедиться, что он не перегревается. Машина, которая у вас есть, может уже быть в порядке в этом отделе, а может и нет. Если он неожиданно дает сбой или демонстрирует странное, непредсказуемое поведение, возможно, он перегревается. Есть программное обеспечение, которое вы можете установить, чтобы следить за температурой машины во время ее работы, и даже настроить ее на автоматическую отправку вам электронных писем, если она проникает в опасную зону в жаркий день.

Вы можете использовать самые разные способы охлаждения ЦП и блока питания, включая воздух, воду, жидкий азот и т. д. Вы также можете изучить возможность разгона вашего процессора. Это заставляет его работать медленнее (помните, что это нормально для сервера), но и круче. Если вы хорошо разбираетесь в пайке, в Интернете есть десятки руководств по разгону для вашего конкретного типа чипа. Однако, как правило, для большинства домашних серверов достаточно настроить хороший поток воздуха через корпус, при этом некоторые качественные вентиляторы разумно расположены так, чтобы втягивать воздух с одного конца корпуса, направлять его на горячие компоненты и выталкивать с другого. Вентиляторы большего размера, как правило, работают тише, чем модели меньшего размера, при прочих равных условиях. Если вы живете с сервером, вам понадобятся тихие вентиляторы, самые тихие из возможных.

Сеть

Покупка сервера

Связь

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

Маршрутизатор

Монитор и клавиатура

Если у вас есть запасной старый рабочий стол, вы можете взять с собой запасной монитор и клавиатуру. Или вы можете использовать свой текущий компьютер, если вы не используете ноутбук и хотите переключаться туда и обратно, пока вы все настраиваете. Они понадобятся вам только до тех пор, пока вы не запустите свой сервер. Тем не менее, монитор и клавиатура очень удобны, чтобы их можно было где-нибудь спрятать для будущей отладки и обновления сервера.

Мощность

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

Все на своих местах

После того как ваша коробка будет улучшена, вам нужно найти для нее место. Вы должны иметь в виду несколько практических соображений.

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

Не позволяйте людям спотыкаться о шнуры или позволять домашним животным грызть их.

Если уделять должное внимание охлаждению, ваш сервер должен работать довольно тихо, но некоторые люди чувствительны даже к малейшему шуму. Особенно, если ваш сервер не бесшумный вариант, вы можете захотеть, чтобы он находился в менее загруженной зоне. На веб-сайте Silent PC Review есть советы и рекомендации по оборудованию, чтобы избежать шума.

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

Еще одна проблема — кража: держать блестящий сервер прямо у входной двери — не лучшая идея.

Многие проблемы с размещением могут быть связаны с вашим подключением к Интернету, поскольку сервер должен находиться в пределах досягаемости от него. Если вы используете беспроводной маршрутизатор для совместного использования соединения с остальной частью дома, он должен быть расположен в центре, а сервер должен быть подключен непосредственно к нему, где бы он ни находился.

Он также должен быть подключен к электрической розетке.

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

Операционная система

Существует множество вариантов операционной системы с открытым исходным кодом. Вы можете установить Fedora, Ubuntu, FreeBSD, Gentoo, и этот список можно продолжать и продолжать.

Другой вариант — установить домашний сервер с открытым исходным кодом от Amahi. Это сделает много «тяжелой работы», чтобы вы могли начать работу, включая установку и настройку apache, MySQL, среды развертывания Ruby on Rails, обмена файлами, VPN и ряда веб-приложений для обмена. Вы найдете много полезной информации по этой теме на веб-сайте Amahi.

Вы когда-нибудь слышали или читали фразу "сервер должен быть недоступен" или что-то вроде "подключение к серверу", "сервер заполнен", "сервер находится на обслуживании" и т. д., так что же такое сервер и каковы его приложения? . Похож ли он на обычный компьютер и как обычный ПК можно превратить в сервер? Мы начнем с определения сервера, а затем перейдем к другим связанным темам.

Что такое сервер?

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

Они используются для управления онлайн-ресурсами и сетевыми ресурсами. Их можно использовать для различных целей, некоторые из которых включают:

  • Для управления доступом к сети.
  • Отправка и получение электронных писем.
  • Размещение веб-сайта.
  • Хранение информации для доступа к большей аудитории.
  • Выполнение интенсивных вычислений и управление ими.

Типы серверов:

Существует несколько типов широко используемых серверов, в том числе:

  • Файловые серверы
  • Серверы печати
  • Серверы приложений
  • DNS-серверы
  • Почтовые серверы
  • Веб-серверы
  • Серверы баз данных
  • Виртуальные серверы
  • Прокси-серверы
  • Мониторинг серверов
  • Серверы управления
  • Серверы для связи в реальном времени
  • FTP-серверы
  • Серверы с открытым исходным кодом
  • Список серверов
  • Telnet-серверы

Как превратить ПК в сервер

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

Мы рассмотрим один из самых популярных способов преобразования вашего старого ПК в сервер. Это с использованием программного обеспечения FreeNAS (Network Attached Server). Мы рассмотрим весь процесс в пошаговом руководстве, и, надеюсь, к концу этого раздела у вас будет полное представление о том, как превратить ваш старый компьютер в надежный сервер.

Использование FreeNAS:

Как следует из названия, FreeNAS — это бесплатное программное обеспечение, которое может превратить ваш старый ПК в сервер. Его не только легко установить, но также легко настроить и запустить. Этот процесс не является вашим стереотипным методом загрузки и установки; скорее, есть несколько шагов, которые отличают весь процесс от установки обычного программного обеспечения. Но в этом все еще нет ничего слишком сложного или сложного. Вот пошаговое руководство:

  • Посетите веб-сайт и загрузите последнюю версию FreeNAS на свой компьютер. Текущая версия — FreeNAS8, но предыдущая версия FreeNAS 7 (также называемая NAS4Free) по-прежнему очень популярна.
  • Затем найдите USB-накопитель объемом не менее 2 ГБ. Этот USB станет загрузочным устройством для вашего ПК, с которого будет запускаться это программное обеспечение. Затем USB останется в порту, куда вы его поместили, до конца времени, пока ваш сервер активен. Вы также можете использовать небольшой твердотельный накопитель на случай, если вы беспокоитесь о том, что кто-то может извлечь USB-накопитель (вы же не хотите, чтобы это произошло, никогда).
  • Запишите скачанный FreeNAS на USB-накопитель (в формате .iso. X86 для 32-разрядного процессора или x64 для 64-разрядного процессора).
  • Теперь ваш загрузочный флэш-накопитель готов. Подключите его к «будущему серверу» и включите его.Нажмите F12, чтобы загрузить BIOS, и выберите вариант загрузки с оптического привода.
  • Компьютер перезагрузится и загрузится с оптического привода вместо жесткого диска. Программа начнет выполняться сама, и вы увидите, как команды FreeNAS для Linux на базе FreeBSD выполняются на вашем экране.
  • После этого появится простой экран установки с четырьмя вариантами на выбор.
  • Вы выберете первый вариант установки или обновления FreeNAS 8 (или предыдущей версии, если вы ее загрузили). Нажмите Enter, и вы перейдете на следующий экран.
  • Здесь вам будут показаны все носители информации, подключенные к вашей системе. Затем вы выберете флешку/жесткий диск в качестве цели для установки. Это создаст два раздела на флешке; один для ОС, а другой для любых будущих обновлений. Одобрение установки означает, что все предыдущие данные будут удалены с флэш-накопителя, поэтому убедитесь, что у вас нет ничего важного, что вы хотели бы сохранить.
  • Продолжите установку, выбрав флэш-накопитель, выбрав "да" и нажав клавишу ввода.
  • После полной установки FreeNAS появится запрос. Нажмите клавишу ввода и в главном меню выберите вариант перезагрузки системы.
  • Здесь вы повторите процесс, выбирая, с какого диска FreeNAS будет загружаться по умолчанию. Вы укажете, что хотите, чтобы он загружался с флэш-накопителя, подключенного к одному из USB-портов системы.
  • Загрузка программного обеспечения займет некоторое время, после чего появится экран, показывающий все сетевые параметры, которые можно установить для FreeNAS. Это показатель того, что ваш сервер готов и работает.
  • Все дело в том, чтобы подключить его к Интернету, чтобы он мог функционировать как сервер. Итак, ваш компьютер подключен к Интернету через кабель Ethernet. Вы получите IP-адрес для доступа к основным настройкам FreeNAS. Введите этот IP-адрес в адресную строку любого браузера другого устройства, подключенного к той же сети, и нажмите клавишу ввода.
  • Теперь вы вошли в настройки веб-конфигурации. Здесь вы хотели бы персонализировать свой сервер, изменив имя и пароль. С левой стороны должна быть «Моя учетная запись», которую вы можете щелкнуть, чтобы развернуть. Здесь измените имя пользователя и пароль и нажмите «Сохранить изменения».
  • В левом верхнем углу экрана веб-конфигурации FreeNAS должна быть кнопка «Хранилище». Оттуда вы можете настроить объем хранилища. На указанном экране должна быть кнопка «Создать том». Назначьте имя тому и выберите общее количество дисков, которые вы хотите использовать для создания указанного тома. Обязательно выберите ZFS в качестве типа файловой системы, так как она предоставляет ряд преимуществ, которых нет у файловой системы Unix.
  • На этом этапе у вас будет возможность выбрать тип RAID для использования при объединении нескольких дисков. Когда все будет готово, нажмите кнопку "Добавить том".
  • Если ваше хранилище должно быть общим ресурсом (будь то сервер для дома или офиса), выберите значок «Изменить разрешение» и предоставьте доступ на запись «Группе» и «Другим пользователям», а также выберите « Установить разрешение рекурсивно» и нажмите кнопку «Изменить», чтобы сохранить все внесенные изменения.
  • Теперь вы успешно создали том базового хранилища на своем сервере. Следующим шагом является настройка «Распределения общего доступа», чтобы содержимое вашего диска могло быть найдено пользователями ваших серверов. Если пользователи вашего сервера используют различные ОС и машины (Linux, Windows, Mac и т. д.), то общие ресурсы CIFS — лучший вариант для вас. В веб-конфигурации нажмите кнопку «Общий доступ» и выберите «Добавить общий ресурс CIFS». Назначьте имя общему диску и выберите том, который вы хотите предоставить, нажав кнопку «Обзор» в строке «Путь». Обязательно установите флажок «Разрешить гостевой доступ» и нажмите «ОК».
  • Нажмите кнопку "Сервис", которая должна быть на левой боковой панели, перейдите к параметру "Управление службой" и включите настройку CIFS на главной панели.
  • Чтобы проверить, все ли работает, введите две обратные косые черты (\\), а затем IP-адрес, назначенный вам FreeNAS, в окно проводника Windows и нажмите клавишу ввода. Вы должны перейти на общий диск.

Поздравляем с настройкой собственного сервера FreeNAS. Теперь вы можете использовать этот сервер различными способами и настроить его в соответствии с одним из типов серверов, о которых мы говорили выше.

Убунту:

Еще один способ превратить ваш старый ПК в сервер — это использовать серверную версию Ubuntu. Это та же Ubuntu, что и широко известная ОС для ПК, с той лишь разницей, что это версия серверной ОС. Одна из самых популярных версий — Ubuntu Server Edition 8.04. Вы можете скачать образ компакт-диска для него по этой ссылке.Единственным ограничением является то, что вам необходимо записать его и установить с компакт-диска. Обязательно загрузите «Server Edition» и запишите образ на компакт-диск как .iso. Шаги для установки включают:

  • Во время установки ваш компьютер должен быть подключен к Интернету, так как он автоматически обнаружит и настроит параметры сети.
  • Загрузите компьютер во время запуска (нажав клавишу F12) и загрузив программное обеспечение с компакт-диска.
  • После установки вы увидите текстовый интерфейс. Чтобы использовать графический интерфейс, установите Webmin.
  • После входа в систему со своими учетными данными введите следующие команды:

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

sudo dpkg -i webmin_1.430_all.deb.

  • Чтобы сделать свой сервер доступным из любого места, откройте домашнюю страницу маршрутизатора. Войдите в маршрутизатор и перейдите на вкладку с надписью «Переадресация портов».
  • В табличной форме введите имя приложения, переадресацию между портами, протокол и IP-адрес вашего сервера.
  • Введите следующие значения:
  • Сохранить настройки и включить эти переадресации.
  • Если вы хотите получить бесплатное доменное имя вместо того, чтобы каждый раз использовать свой IP-адрес, есть бесплатный доменный сайт, где вы можете получить имя. Вы можете получить к нему доступ отсюда.
  • Инструкции очень просты, и вы можете выполнить их за ограниченное время.
  • Попробуйте получить доступ к своему серверу с другого устройства, если вы все сделали правильно, вы сможете получить к нему доступ.
  • Чтобы получить доступ к серверу для обновления или внесения изменений, перейдите на сервер и введите следующие команды:

sudo chown yourusername:www-data /var/www

sudo chmod 775 /var/www

  • В системе, которую вы используете для доступа к серверу, загрузите и установите программу WinSCP. Введите доменное имя в качестве имени хоста для сервера и учетные данные в форме имени и пароля.
  • Теперь у вас есть доступ ко всем файлам на вашем сервере. Перейдите в папку var и войдите в папку www, скопируйте новый материал веб-сайта в эти папки, чтобы обновить свой сервер или внести в него дополнительные изменения.
  • Чтобы иметь возможность удаленно выполнять команды, используйте PuTTY, клиентскую программу SSC.

Вывод:

И вот, ребята, у вас есть два самых популярных способа превратить ПК в сервер. Вместо того, чтобы оставить ваш старый компьютер бездействующим, вы можете лучше использовать свою старую машину, задействовав ее более эффективно. Это лучше, чем просто сдать его на переработку или занимать место без всякой практической причины.

Это вторая часть серии статей о размещении веб-сайта в Интернете с использованием собственного ноутбука. В части 1 мы разработали концепции структуры и функционирования Интернета. В этой части я проведу вас через процесс размещения и запуска веб-сайта в Интернете.

Вот демонстрация работающего сервера на моем ноутбуке:

Одним из важных понятий в общении через Интернет являются порты. Итак, что такое порт?

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

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

Порт всегда связан с IP-адресом хоста и типом протокола связи и, таким образом, дополняет сетевой адрес назначения или источника сеанса связи. Порт идентифицируется для каждого адреса и протокола 16-битным числом, обычно называемым номером порта. Например, адрес может быть «протокол: TCP, IP-адрес: 1.2.3.4, номер порта: 80», что может быть записано как 1.2.3.4:80, если протокол известен из контекста.

Что такое переадресация портов?

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

Это означает, что когда запрос поступает на маршрутизатор через определенный порт, он перенаправляет этот запрос на сервер в локальной сети маршрутизатора, чтобы иметь возможность его обработать (если настроено в настройках NAT). Таким образом, он работает как привратник.

Что такое общедоступный IP-адрес?

Общедоступный IP-адрес — это IP-адрес, который наш домашний или рабочий маршрутизатор получает от вашего интернет-провайдера. Общедоступные IP-адреса требуются для любых общедоступных сетевых устройств, например для нашего домашнего маршрутизатора, а также для серверов, на которых размещены веб-сайты.

Общедоступные IP-адреса — это то, что отличает все устройства, подключенные к общедоступному Интернету. Каждое устройство, имеющее доступ к Интернету, использует уникальный IP-адрес. Именно этот адрес использует каждый интернет-провайдер для переадресации интернет-запросов в определенный дом или офис.

Теперь мы разработали все концепции, необходимые для создания нашего собственного сервера для Интернета.

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

Получите доступ к программному обеспечению маршрутизатора с помощью браузера, введя его локальный IP-адрес. Вы можете найти локальный IP-адрес, используя опцию сведений о сети в подключении вашего ноутбука или используя netstat -rn на терминале Linux. Это адрес шлюза по умолчанию (у меня 192.168.1.1).

Укажите имя пользователя и пароль, которые обычно указываются в нижней части маршрутизатора или «admin» для обеих записей. Шаги, которые вы предпримете, будут различаться в зависимости от марки и модели вашего маршрутизатора, но процесс будет более или менее одинаковым. Мой роутер в Тенде.

Найдите свой маршрутизатор на этом сайте и выполните указанные действия. В этой статье я расскажу о настройках роутера Tenda.

Шаг 1. Найдите общедоступный IP-адрес маршрутизатора:

Дополнительно (вверху справа) > Информация об устройстве (верхнее левое меню) > Таблица состояния WAN > IP-адрес WAN

(Если вы введете IP-адрес WAN, вы увидите страницу входа в систему вашего маршрутизатора.)

Шаг 2. Освободите порты 80 и 443, если они используются в маршрутизаторе.

Это было сложнее для моего маршрутизатора.

Дополнительно (вверху справа, если его нет) > Управление > Контроль доступа > AccessCtrl

Шаг 3. Измените пароль маршрутизатора в целях безопасности

Дополнительно (вверху справа, если его нет) > Управление > Контроль доступа > Пароли > Применить/Сохранить

Шаг 4. Настройте NAT

Дополнительно (вверху справа, если его нет) > Расширенная настройка > NAT > Виртуальные серверы > Добавить

Пользовательская служба: > введите имя > IP-адрес сервера:> добавьте IP-адрес ноутбука, который будет сервером (поставьте 192.168.1.250, и мы настроим этот IP-адрес вручную на ноутбуке)

Заполните запись таблицы следующим образом:

Начало внешнего порта > 80 > Конец внешнего порта > 80 > Протокол > TCP > Начало внутреннего порта > 80 > Конец внутреннего порта > 80 > Применить/Сохранить

Шаг 5. Запретите DHPC выделять IP-адрес 192.168.1.250 любому другому устройству

ПРИМЕЧАНИЕ: вы должны добавить 250 в качестве хоста, если ваш шлюз по умолчанию — 192.168.0.1, а затем используйте 192.168.0.250

Дополнительно (вверху справа, если его нет) > Расширенная настройка > LAN > Включить DHCP-сервер > Конечный IP-адрес > Введите 192.168.1.245 > Применить/Сохранить

Шаг 6. Настройте IP-адрес 192.168.1.250 для подключения в Ubuntu или любой другой ОС, установленной на вашем ноутбуке.

Я советую вам использовать графический интерфейс, так как он проще.

Подключение (опция вверху справа) > Информация о подключениях > Держите его открытым для копирования и вставки

Подключение (опция вверху справа) > Редактировать подключения > Имя текущего подключения > Редактировать > Настройки IPv4 > Добавить (если нет записи)

Адрес > 192.168.1.250 >Скопировать остальное из информации о подключениях > Сохранить

Теперь снова подключите проводное соединение Wi-Fi или LAN.

Шаг 7. Запустите серверную программу на своем ноутбуке.

Я использую Nginx. Вы можете запустить любую такую ​​программу, Apache, Tomcat и т. д. Я не буду объяснять процесс их установки в этой статье. Вы должны найти соответствующий учебник по ним и сделать это самостоятельно.

Шаг 8. Направьте свой домен на общедоступный IP-адрес:

Купите домен у любого продавца, а затем поместите свой общедоступный IP-адрес в запись «А», и он будет активен для пользователя в Интернете.

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

Вы, должно быть, слышали об AWS, Google App Engine и Heroku. Они предоставляют услуги хостинга веб-приложений. Таких компаний несколько. В двух словах, они абстрагируются от сложностей сети и делают инфраструктуру веб-приложений масштабируемой и доступной. Когда мы запускаем веб-приложение в производство, мы должны обратиться к одному из этих поставщиков услуг. Но они недешевы и могут стоить целое состояние, если не использовать их с осторожностью.

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

AWS на уровне бесплатного пользования предоставляет 1 ГБ ОЗУ, 30 ГБ дискового пространства, 20 ГБ хранилища RDS и одноядерный процессор i5 с высокоскоростным доступом в Интернет. Я использую AWS в основном для своего развертывания и большую часть времени доволен производительностью. Это также стоило очень дешево при использовании в рамках ограничений. Но недавно у меня случилась неудача, когда я попытался запустить модель машинного обучения для серверной части приложения, поскольку для этого требовалось много оперативной памяти. Это заставило меня задуматься, как я могу продолжать разрабатывать приложение с товарищами по команде, распределенными по всему миру, не платя при этом огромные деньги? Итак, я переоборудовал свой старый ноутбук в сервер и заставил его обслуживать API для работы команды. Этот ноутбук имеет 6 ГБ оперативной памяти, 1 ТБ памяти и 4-ядерный процессор i5. Мне нужно было только оплатить стоимость интернета, и это было очень дешево.

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

Давайте продемонстрируем конечный продукт, который мы получим после этого процесса обучения. Ради этой статьи я сделал следующие вещи.

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

ПРИМЕЧАНИЕ. Если вы не можете получить доступ к этому веб-сайту, то во время чтения ноутбук мог быть выключен из-за сбоя питания, потери подключения к Интернету или смены IP-адреса. Итак, это ограничения обслуживания собственного сервера.

Я не буду сразу описывать процесс, но сначала построю концепции, окружающие его, чтобы иметь возможность действительно понять и оценить его. Если вы готовы посвятить себя этому процессу и обогатиться идеями, тогда продолжайте. Это не операция копирования и вставки, поэтому дайте волю своему наблюдению и дайте волю воображению.

В этой статье мы рассмотрим структуру и механизмы Интернета. Давайте подойдем к этому с помощью серии вопросов и ответов.

Насколько важен Интернет в нашей повседневной жизни?

Чтобы точно описать необъятность Интернета, кто-то даже нарисовал Интернет как основу пирамиды потребностей Маслоу (по сути, это ранжирование вещей, необходимых в жизни человека). Итак, сегодня понимание интернета крайне важно для любого разработчика и даже человека.

Что такое Интернет?

Я бы сказал, что это огромная сеть вычислительных устройств, взаимодействующих друг с другом на основе заранее согласованного набора правил, называемых протоколами.

Как формируется и работает эта сеть?

Пограничные устройства, являющиеся частью этой сети, называются хостами или конечными системами. Ноутбуки, мобильные телефоны и т. д. являются хостами. Конечные системы соединены сетью каналов связи и коммутаторов пакетов. Линии связи состоят из физической среды, такой как медные провода, оптоволокно, радиочастотный спектр и т. д.

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

Есть красивая аналогия, представленная в книге «Компьютерные сети» Курозе и Росс. Там говорится о заводе, которому нужно перевезти большое количество груза на какой-то склад назначения, расположенный за тысячи километров. На заводе груз сегментируется и загружается в автопарк. Затем каждый из грузовиков самостоятельно перемещается по сети автомагистралей, дорог и перекрестков к складу назначения. На складе назначения груз выгружается и группируется с остальными грузами, поступающими из той же партии.Таким образом, во многих отношениях пакеты аналогичны грузовикам, а линии связи аналогичны автомагистралям и дорогам. Коммутаторы пакетов аналогичны перекресткам, а конечные системы аналогичны зданиям.

Что такое интернет-провайдеры, TCP/IP и RFC?

Конечные системы получают доступ к Интернету через интернет-провайдеров (ISP). Интернет-провайдеры включают местные кабельные или телефонные компании. Каждый интернет-провайдер сам по себе представляет собой сеть коммутаторов пакетов и каналов связи. Эти интернет-провайдеры также взаимосвязаны. Интернет-провайдеры нижнего уровня связаны между собой через национальных и международных интернет-провайдеров верхнего уровня, таких как AT&T и Sprint.

Все компоненты этой сети управляют протоколами, управляющими отправкой и получением информации. Протокол определяет формат и порядок обмена сообщениями между двумя или более взаимодействующими объектами, а также действия, предпринимаемые при передаче и/или получении сообщения или других событий. Протокол управления передачей (TCP) и Интернет-протокол (IP) являются двумя наиболее важными протоколами, которые отправляются и принимаются между маршрутизаторами и конечными системами. Основные протоколы Интернета известны под общим названием TCP/IP.

Эти протоколы наиболее важны для единодушного функционирования, и поэтому важно, чтобы все соглашались с тем, что делает каждый протокол. Эти Интернет-стандарты разработаны Инженерной группой Интернета (IETF). Стандартные документы IETF называются запросами комментариев (RFC).

Как одно приложение, работающее в одной конечной системе, дает команду Интернету доставлять данные другому программному обеспечению, работающему в другой конечной системе?

Конечные системы, подключенные к Интернету, предоставляют интерфейс прикладного программирования (API), определяющий правила для этого процесса. Возьмем аналогию из той же книги: Предположим, Алиса хочет отправить письмо Бобу, используя почтовую службу. Алиса, конечно, не может просто написать письмо (данные) и выбросить письмо в окно. Вместо этого почтовая служба требует, чтобы Алиса положила письмо в конверт; напишите полное имя, адрес и почтовый индекс Боба в центре конверта; запечатать конверт; поставить марку в правом верхнем углу конверта; и, наконец, опустите конверт в официальный почтовый ящик почтовой службы. Таким образом, почтовая служба имеет свой собственный «API почтовой службы» или набор правил, которым Алиса должна следовать, чтобы почтовая служба доставила ее письмо Бобу. Аналогичным образом в Интернете есть API, которому должно следовать программное обеспечение, отправляющее данные, чтобы Интернет доставлял данные в программное обеспечение, которое будет их получать.

Что такое клиентская и серверная программа и архитектура P2P?

Клиентская программа — это программа, работающая в одной конечной системе, которая запрашивает и получает услугу от серверной программы, работающей в другой конечной системе. Веб-браузер является примером клиентской программы, а Nginx, NodeJS или Tomcat — примером серверной программы.

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

Что такое LAN и WAN?

Локальная вычислительная сеть (ЛВС) — это компьютерная сеть, ограниченная небольшим офисом, одним зданием, несколькими зданиями внутри кампуса и т. д. Обычно локальная сеть – это частная сеть, которой владеет и обслуживает одна организация.

Глобальная сеть (WAN) охватывает несколько географических регионов и состоит из нескольких локальных сетей. Интернет-провайдеры предоставляют решения для подключения к глобальной сети.

Что такое IP-адрес?

Чтобы одно устройство могло обмениваться данными с другим, ему необходим IP-адрес, и он должен быть уникальным. Если в той же сети есть другое устройство с таким же IP-адресом, возникнет конфликт IP-адресов, и оба устройства потеряют возможность работы в сети, пока проблема не будет устранена.

IP-адрес состоит из 4 цифр, разделенных десятичными знаками. Сам IP-адрес разделен на сетевой адрес и адрес хоста. Это означает, что одна часть IP-адреса определяет идентификатор компьютерной сети, а другая часть определяет идентификатор хоста.

Например, IP-адрес 192.168.0.11 с маской подсети (обсуждается позже) 255.255.255.0 использует первые 3 цифры для идентификации сети и последнюю цифру для идентификации хоста. Таким образом, идентификатор сети будет 192.168.0, а идентификатор хоста — 11. Устройства могут взаимодействовать только с другими устройствами с тем же идентификатором сети. Другими словами, связь будет работать между двумя устройствами с IP-адресами 192.168.0.221 и 192.168.0.11 соответственно, но ни одно из них не сможет установить связь с 192.168.1.31, поскольку оно является частью сети 192.168.1.

Маска подсети: как правило, везде, где в маске подсети есть 255, соответствующий номер IP-адреса является частью идентификатора сети; где в маске подсети 0, соответствующее число в IP-адресе является частью идентификатора хоста. Для IP-адреса 192.168.0.1 с маской подсети 255.0.0.0. Это сообщает устройству, что первое число IP-адреса должно использоваться в качестве сетевого адреса, а последние 3 — в качестве идентификатора хоста. В этом примере компьютерная сеть будет 192.x.x.x. Пока другой компьютер имеет ту же маску подсети и IP-адрес, начинающийся с 192, они могут взаимодействовать друг с другом. Если маска подсети была 255.255.0.0, это означает, что первые 2 числа вместо этого идентифицируют сеть (192.168.x.x). Поэтому, чтобы быть в одной сети, оба устройства должны иметь IP-адреса, начинающиеся с 192.168.

Как взаимодействуют устройства в разных сетях?

Обмен данными между разными сетевыми идентификаторами осуществляется с помощью маршрутизатора. Маршрутизатор — это сетевое устройство с двумя сетевыми интерфейсами (NIC), каждый из которых имеет отдельный сетевой идентификатор. Итак, у нас может быть 2 сети; 192.168.1.х и 192.168.2.х. На одной сетевой карте маршрутизатор будет иметь IP-адрес 192.168.1.1, а на другой — 192.168.2.1. Устройства в сети 192.168.1.x теперь могут обмениваться данными с устройствами в сети 192.168.2.x через маршрутизатор.

Как данные перемещаются из конечной системы источника в конечную систему назначения?

Шлюз по умолчанию — это место, куда сетевое устройство отправляет трафик, если оно не знает, где находится IP-адрес назначения. Шлюзом по умолчанию всегда является маршрутизатор.

Когда сетевое устройство пытается связаться с другим устройством в той же сети, оно отправляет данные непосредственно ему. Если он находится в отдельной сети, он перенаправляет данные на любой IP-адрес, указанный в шлюзе по умолчанию. Это связано с тем, что он не знает об этой другой сети и ему необходимо отправить данные на шлюз вне своей собственной сети. Вот почему мы всегда помещаем IP-адрес маршрутизатора в поле шлюза по умолчанию. Поскольку маршрутизатор будет подключен к нескольким сетям, он знает, где находятся эти другие сети, и может направлять трафик к ним. Маршрутизаторы также имеют шлюзы по умолчанию, поэтому, если они не знают, где находится пункт назначения, они также могут отправлять данные на свой собственный шлюз по умолчанию. Это продолжается вверх по иерархии IP-сети, пока в конечном итоге не будет найден маршрутизатор, который является частью сети назначения. Этот последний маршрутизатор знает, где находится пункт назначения, и отправляет его по пути.

Что такое DHCP?

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

Как работает маршрутизатор?

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

Маршрутизаторы также узнают, какие маршруты являются самыми быстрыми, и используют их в первую очередь. Каждому известному маршрутизатору маршруту присвоено значение метрики. Значение метрики — это, по сути, число предпочтения. Если есть два маршрута к одному и тому же месту назначения, то маршрут с наименьшей метрикой считается наиболее эффективным. Маршрутизаторы всегда будут использовать этот маршрут первым, пока он не выйдет из строя, и в этом случае он попытается использовать маршрут со следующей наименьшей метрикой и так далее.

Все сетевые устройства, использующие протокол TCP/IP, имеют таблицу маршрутизации. В системе на базе Linux запустите команду netstat -rn для просмотра этой таблицы (если в Windows, то я скажу, что пора переходить на Linux). Все устройства используют свою таблицу маршрутизации, чтобы определить, куда отправлять пакеты. Когда устройство отправляет пакеты другому устройству, оно просматривает свою таблицу маршрутизации, чтобы определить наилучший возможный маршрут. Если он обнаруживает, что адрес назначения находится в состоянии «в сети», он знает, что он является частью той же подсети, что и пункт назначения, и отправляет пакеты непосредственно на устройство. Если нет, он перенаправляет пакет на то, что находится в поле шлюза соответствующей записи маршрута. Этот же процесс повторяется на каждом маршрутизаторе/переходе по пути, пока он в конечном итоге не достигнет маршрутизатора, который является частью сети назначения.

Как мы можем настроить маршрутизатор?

Чтобы настроить маршрутизатор, нам необходимо получить доступ к установленному на нем программному обеспечению. Мы можем сделать это с помощью веб-браузера. IP-адрес маршрутизатора является шлюзом компьютера по умолчанию. Обычно он начинается с идентификатора хоста 1, например: 192.168.1.1. Когда мы вводим IP-адрес маршрутизатора в браузере, он запрашивает имя пользователя и пароль.Обычно они указаны в нижней части маршрутизатора и обычно имеют имя пользователя: admin и пароль: admin.

Слишком много информации для восприятия при первом чтении. Итак, мы продолжим настройку маршрутизатора и веб-сайта во второй части этой серии статей.

Читайте также: