Как с сервера раздать программу

Сегодня мы поговорим о web-сервер thttpd. Это один из самых лёгких веб серверов. Он даже умеет раздавать php-cgi, но в рамках данной статьи нам этого не нужно.

То есть при наличии каталогов domain.ru, example.ru и debian.pro в каталоге /home/user thttpd будет отзываться по 3м доменам, направляя пользователей в разные каталоги. Не забывайте, что www.debian.pro и debian.pro с точки зрения веб-сервера (любого!) — это разные домены, до тех пор, пока мы не объясним им, что эти домены — это один сайт.

Ну и напоследок. В убунте есть файл /etc/thttpd/thttpd.conf. Я не проверял его наличие в debian.
В нём есть интересные директивы, например:
port=80
dir=/var/www
chroot
#vhost (или #novhost)
user=www-data
Директивы из этого файла перечитываются при выполнении команды /etc/init.d/thttpd и при рестарте сервера. Будьте внимательны.

UPD: в комментариях указан ещё более быстрый вариант «расшарить папку по http».

Источник: debian.pro

Как раздать Интернет в две подсети?

Терабайты файлов веб-проекта — храним и раздаем

В последнее время наметился интересный тренд — быстрое «распухание» веб-проектов до бесконечности. Объем данных многих популярных сайтов растет все быстрее и быстрее, их нужно куда-то девать, при этом эффективно бэкапить (весело будет, если файлы на 500Т потеряются 🙂 ), и конечно супербыстро раздавать клиентам, чтобы все их могли качать, качать, качать… на высокой скорости.

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

Коллеги с умным видом советуют приобрести одно из решений от NetApp, но, жаль, что бюджет у проекта в 1000 раз меньше, это вообще стартап… что делать будем?

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

Доступ в гардероб HighLoad

Если Вы хоть раз посещали конференцию HighLoad, то наверняка знаете, что на входе нужно обязательно ответить на вопрос — почему ставят nginx перед apache? Иначе дальше гардероба не пройти 😉

Правильно, nginx или аналогичный обратный прокси позволяет эффективно раздавать файлы, особенно по медленным каналам, серьезно снижая нагрузку на сервер и повышая в целом производительность веб-приложения: nginx раздает кучу файлов, apache или php-fpm обрабатывают запросы к серверу приложений.

Установка программ с помощью GPO

Такие веб-приложения живут хорошо, пока объем файлов не увеличивается до, скажем десятков гигабайт — когда несколько сотен клиентов начинают одновременно скачивать файлы с сервера, а памяти для кэширования файлов в ОЗУ недостаточно — диск, а потом и RAID — просто умрет.

Сервер статики

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

  • www.mysite.ru
  • img.mysite.ru
  • js.mysite.ru
  • css.mysite.ru
  • download.mysite.ru
  • и т.п.

Чтобы более эффективно раздавать статику с разных доменов, ее выносят на отдельный сервер(а) статики:

Полезно на этом сервере использовать режим кэширования nginx и «быстрый» RAID (чтобы побольше клиентов требовалось для постановки диска «на колени»).

CDN — раздача

  • Ценный клиент начал качать файл с московского сервера из Владивостока, да не из города, а с борта своей яхты. Канал конечно получился узкий.
  • Случилась беда и уборщица случайно выдернула шнур питания из сервера раздачи статики, оборвав 10000 клиентов, качающих новый дистрибутив. Ну или в датацентре началась и «неизвестно» когда окончится профилактика — а точнее работы по поиску причины одновременного выхода из строя трех дизельных генераторов из двух.
  • Наоборот, мог случиться такой наплыв клиентов, что стало не хватать серверной мощности раздавать одновременно столько статики, либо уже каналы загружены до предела.
Читайте также:
Файл созданный в программе ms access имеет расширение ответы

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

Ваши файлы действительно становятся доступны клиенту на расстоянии вытянутой руки, откуда бы он их не начал качать: с Красной площади или с Сахалина — файлы будут отдаваться с ближайших ему серверов провайдера CDN.

«Вертикальное» масштабирование раздачи статики

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

Вы боитесь подумать о следующем:

  • Рассыпятся диски на файловом хранилище (рейд10 может умереть, забрав с собой сразу пару зеркальных дисков и это — случается не очень редко) и придется доставать файлы из бэкапа в течении… двух-трех недель.
  • В датацентре наконец-то научились считать количество дизель-генераторов, однако вас с утра обрадовали сообщением, что диски рассыпались, а ваши бэкапы в результате ошибки софта — безвозвратно повреждены (такое в амазоне с нами один раз произошло).
  • Пройдет рекламная акция и начнется наплыв клиентов из Дальнего Востока или из Европы — и вы не справитесь с эффективной раздачей такого количества статики.


Да и вообще, вы вложили в инфраструктуру уже столько денег, а риски, причем немалые — остаются. Как-то нечестно получается.

Кружочки и колесики — распределенная файловая система

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

Тогда придется все это хозяйство администрировать самостоятельно, что потребует наличие видимо целого отдела эксплуатации 🙂

Виртуальная файловая система

Одним из наиболее эффективных и, что важно, дешевых решений, является использование возможностей известных облачных провайдеров, дающих в аренду по очень вкусным, особенно при большом объеме данных, ценам, способ хранить неограниченный объем ваших файлов в облаке с очень высокой надежностью (гигантский DropBox). Провайдеры организовали на своих мощностях описанные выше распределенные файловые системы, высоконадежные и размещенные в нескольких датацентрах, разделенных территориально. Более того, эти сервисы, как правило, тесно интегрированы в сеть CDN данного провайдера. Т.е. вы будете не просто удобно и дешево хранить свои файлы, но и их максимально удобно для клиента раздавать.

Дело за малым — нужно настроить на своем веб-проекте прослойку или виртуальную файловую систему (или аналог облачного диска). Среди бесплатных решений можно выделить FUSE-инструменты (для linux) типа s3fs.

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

Модуль «Облачные хранилища» платформы «1С-Битрикс»

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

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

Итоги

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

В статье мы рассмотрели основные этапы и принципы организации раздачи файлов на веб-решениях любого размера, взвесили плюсы и минусы, посмотрели как это реализовано в платформе «1С-Битрикс». С учетом того, что объем раздаваемой веб-проектами информации очень быстро растет, данные знания актуальны и обязательно пригодятся как архитекторам веб-приложений, так и менеджерам проектов.

Читайте также:
Не могу обновить программы на Айфоне 6

И конечно приглашаю всех на наш облачный сервис «Битрикс24», в котором мы активно используем вышеописанные технологии. Всем удачи!

  • кластер
  • распределенные файловые системы
  • битрикс
  • амазон
  • битрикс24
  • Блог компании Битрикс24
  • Разработка веб-сайтов

Источник: habr.com

Что такое FTP сервер и как его настроить

 Виталий Леонидович Черкасов

Основное назначение FTP сервера – это передача файлов по сети. Дома его используют для обмена фотографиями и другими данными между друзьями и родственниками. На предприятии – для обмена документами и другой служебной информацией между филиалами. При этом располагаться на FTP серверах могут большие файлы, которые не отправишь по e-mail. Этот протокол передачи данных также используется для загрузки контента на сервер web-сайта.

Содержание

  1. Определение
  2. Применение и принцип работы
  3. Создание и настройка
  4. FTP в windows
  5. Filezilla server
  6. Создание правил проброса портов на роутере
  7. Как подключиться
  8. Через проводник Windows
  9. Через любой браузер
  10. С помощью Filezilla

Определение

Сначала давайте разберёмся, что такое FTP сервер. FTP (file transfer protocol протокол передачи файлов) – это протокол, обеспечивающий удалённую передачу данных по сети интернет. Он построен на клиенте серверной архитектуры и использует разные каналы для обмена командами и данными. При этом для передачи используется одно соединение, которое стандартно устанавливается через 21 TCP-порт.

Каналов для обмена данными может быть несколько, поэтому во время одного сеанса можно одновременно передавать и принимать файлы. Для каждого канала, используемого для обмена данными, открывается отдельный TCP-порт.

Применение и принцип работы

При подключении к FTP клиент и сервер создают сессию, которая остаётся активной на протяжении всего сеанса обмена файлами.

Существуют два режима работы данного протокола:

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

схема

Обмен данными может осуществляться в одном из режимов:

  • в поточном режиме данные передаются сплошным потоком, протокол её не обрабатывает;
  • при передаче в блочном режиме протокол делит передаваемые данные на блоки, в каждый из которых входит заголовок, размер и информация.

Аутентификация клиента происходит по следующей схеме, сначала клиент отсылает логин и пароль пользователя, на сервере эта информация проверяется и если пользователь с данным логином и паролём существует, то соединение устанавливается. Кроме этого можно настроить анонимный доступ к FTP.

Создание и настройка

Установить FTP-сервер на ПК может любой пользователь, даже чайник. Это можно сделать либо средствами операционной системы, либо с помощью сторонних программ, таких как Filezilla server.

FTP в windows

В Windows 7 есть все для того, чтобы установить и настроить FTP сервер, ничего дополнительно устанавливать не придётся. На более новых версиях этой системы все делается аналогично.

Чтобы сделать ФТП сервер на компьютере:

  • Кликните по кнопке «Пуск», откройте «Панель управления» и выберите строку «Программы и компоненты». пу
  • Выберите ссылку «Включение или отключение компонентов Windows», откройте пункт «Службы IIS», поставьте галочку в строке «FTP-сервер» и всех его подпунктах. компоненты
  • Зайдите в меню «Администрирование» на панели управления. админ-е
  • Откройте «Диспетчер служб IIS». диспетчер
  • Кликните по строке «Сайты», расположенному в правой части окна, и нажмите «Добавить FTP-сервер». добавление
  • Задайте имя соединения и путь к общей папке, через которую вы будете обмениваться данными. настройка
  • Введите IP-адрес, номер порта и параметры шифрования (можно настроить, как на рисунке). настройка2
  • Настройте доступ (анонимный – без пароля, обычный – нужно будет ввести имя и пароль). доступ
  • Зайдите в «Панель управления», откройте «Система и безопасность» и выберите «Брандмауэр Windows». брандмауэр
  • В левом меню выберите пункт «Дополнительные параметры». доп параметры
  • Кликните по строке «Правила для входящих подключений», которая находится слева, кликните правой кнопкой по строке «FTP-сервер» (находится в центральной части окна) и выберите «Включить правило». Те же действия повторите со строкой «Трафик FTP сервера в пассивном режиме». правила
  • В левой части окна выберите «Правила для исходящего подключения» и включите «Трафик FTP-сервера». трафик ftp
  • Чтобы настроить права пользователей, зайдите в раздел «Администрирование» панели управления и кликните по строке «Управление компьютером». права пользователей
  • Щёлкните правой кнопкой по свободному месту и выберите сроку «Создать группу». создание группы
  • Введите имя группы. имя
  • В папке «Пользователи» создайте нового пользователя. 16
  • Заполните поля, касающиеся имени пользователя и пароля. логин и пароль
  • Щёлкните правой кнопкой по только что созданному пользователю, выберите пункт «Свойства», перейдите на закладку «Членство в группах» и, нажав кнопку «Добавить», задайте пользователю новую группу. добавление группы
  • Чтобы разрешить пользователю подключаться к выделенной для обмена папкой, щёлкните по ней правой кнопкой и выберите строку «Свойства», перейдите на вкладку «Безопасность» и нажмите кнопку «Изменить». изменение
  • Щёлкните по кнопке «Добавить» и добавьте созданную недавно группу. Отметьте галочками все пункты в колонке «Разрешить». разрешения
  • Зайдите ещё раз в меню службы IIS, щёлкните по вашему сайту и кликните по иконке «Правила авторизации». авторизация
  • Кликните по пустому месту правой кнопкой и выберите «Добавить разрешающее правило». разрешающее правило
  • Отметьте пункт «Указанные роли или группы пользователей» и введите название созданной группы. название группы
Читайте также:
Запуск программы невозможен так как отсутствует msvcp71

На этом создание FTP сервера закончено. Теперь вы знаете, как поднять домашний файлообменник.

Filezilla server

Самое популярное приложение для создания FTP — это FileZilla Server. Его можно скачать с официального сайта.

Чтобы создать свой FTP сервер FileZilla:

  • для создания пользователя в пункте верхнего меню «Edit» выберите подпункт «Users»; добавление пользователя
  • нажмите кнопку «Add»; настройки
  • в поле ввода наберите имя пользователя; добавление юзера
  • после этого введите пароль; пароль
  • создайте рабочую папку; создание группы
  • задайте права на эту папку; права

На этом создание FTP-сервера закончено.

Создание правил проброса портов на роутере

Так как для работы FTP нужны порты двух типов: для передачи управляющих сигналов и для обмена данными — то и правил проброса нужно два:

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

Чтобы настроить эти правила на роутере, надо через веб интерфейс браузера войти в настройки и открыть раздел перенаправления портов. Для каждой модели роутера существуют свои нюансы настроек. В маршрутизаторе Dlink DIR-300 для этого нужно открыть вкладку «Advanced» и выбрать «Port Forwarding».

проброс

Это все что нужно, чтобы установить filezilla server и настроить ftp сервер через роутер.

Как подключиться

Существует несколько способов подключения к FTP. Рассмотрим основные из них.

Через проводник Windows

Чтобы подключиться к FTP серверу через проводник, выполните следующие операции:

  • Откройте проводник и кликните правой кнопкой мыши по строке «Компьютер» и выберите «Добавить новый элемент в сетевое окружение». добавление
  • Когда появится новое окно, просто нажмите «Далее». далее
  • Кликните по надписи: «Выберите другое сетевое размещение». сетевое подключение
  • Введите адрес подключения. адрес
  • Введите логин пользователя, если он есть. Или оставьте все, как есть, если вы подключаетесь как анонимный пользователь; логин
  • Задайте имя соединения (может быть любым), оно будет отображаться в проводнике. имя
  • В следующем окне нужно нажать кнопку «Готово». Чтобы сразу подключиться к FTP, поставьте галочку в поле «Открыть это сетевое размещение».

Теперь вы сможете соединяться с FTP через подключение, созданное в проводнике.

Через любой браузер

Ещё проще зайти на FTP сервер с помощью браузера. Для этого в адресную строку вводим адрес хоста и нажимаем кнопку «Enter».

С помощью Filezilla

Самым популярным и востребованным FTP-клиентом является FileZilla. Он полностью бесплатный и простой в использовании. С официального сайта можно скачать версии для виндовс, начиная с 7 версии, и для Linux.

После запуска программы для подключения потребуется ввести следующие сведения:

  • Хост. IP сервера FTP, к которому вы хотите подключиться.
  • Имя пользователя. Это логин, который был предоставлен вам при регистрации. Если доступ публичный, то это поле можно оставить пустым.
  • Пароль. При использовании публичного доступа ничего вводить не требуется.
  • Порт. Оставьте это поле пустым или введите порт по умолчанию — 21.

подключение

После того, как вы нажмёте кнопку «Быстрое соединение», подключение установится и вы сможете работать с файлами.

Чтобы не вводить постоянно параметры соединения, в FileZilla можно настроить постоянное подключение к FTP серверу.

Для этого заходим в меню «Файл» выбираем «Менеджер сайтов» и нажимаем «Новый сайт». После этого вводим имя или IP-адрес хоста и порт, выбираем тип входа: анонимный, нормальный или другой. Если вы выбрали анонимный, то больше ничего вводить не нужно, а если нормальный, то потребуется ввести логин и пароль.

соединение

После настройки для того, чтобы установить соединение, нужно будет зайти в меню «Файл», кликнуть по строке «Менеджер сайтов», выбрать нужный сайт и нажать кнопку «Соединиться».

Источник: help-wifi.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru