Правильная настройка FastDL на VDS |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
![]() |
Правильная настройка FastDL на VDS |
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Вобщем, появилось малеха времени написать ман, по правильному поднятию FastDL, с помощью nginx.
Для начала, почему-же nginx? - Он быстрый, менее подвержен атакам (http flood) и куда менее требователен к ресурсам, нежели apache Установка будет рассмотрена на примере Debian 6 (Так-же, ниже будут дубли команд для CentOS) Итак, логинимся на VDS под рутом и начинаем! 1) Debian: Код apt-get update apt-get install -y nginx CentOS: Код yum install -y nginx Переходим в директорию nginx: Код cd /etc/nginx Удаляем готовый шаблон virtual'a, мы будем настраивать все в основном конфиге, что-бы все было под рукой. Код rm -f sites-available/default Используя удобный для вас текстовый редактор, открываем nginx.conf (я предпочитаю nano) Код nano nginx.conf И приводим его к такому виду: Скрытый текст Код user root; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; use epoll; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; sendfile on; tcp_nopush on; keepalive_timeout 15; tcp_nodelay on; directio 5m; expires max; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; server { #listen 80; location / { root /var/www/; index index.html index.htm; set $limit_rate 3m; #ограничиваем скорость скачивания до 3мбайт } location ~ /(.*)/.*\.cfg { # запрещаем скачивать cfg файлы deny all; } location ~ /(.*)/addons/ { # запрещаем доступ к addons deny all; } location ~ /(.*)/logs/ { # запрещаем доступ к addons deny all; } } } Далее создаем www директорию: Код mkdir /var/www А вот теперь, делаем хитрый финт ушами, мы же не хотим вручную заливать файлы в /var/www ?, поэтому создаем симп-линк с директории cstrike вашего сервера в директорию /var/www Код ln -s /путь/к/cstrike /var/www/ИМЯ_ЛИНКА На примере: Код ln -s /home/hlds/cstrike /var/www/fast Если у вас несколько серверов, делаем так: Код ln -s /home/hlds_zobbie/cstrike /var/www/zm ln -s /home/hlds_pub/cstrike /var/www/pub И т.д. Пути к серверам само-собой указываете свои. Перезапускаем nginx Код /etc/init.d/nginx restart Теперь файлы можно скачивать по ссылкам: Код http://IP/fast/maps/de_dust2.bsp Где fast само собой ваши имена линков. Ну и добавляем в server.cfg: Код sv_downloadurl "http://IP/ИМЯ_ЛИНКА/" sv_allowdownload 1 Усе, конец. ps\\ Конфиг прикреплен. ![]() PS\\ При копировании материала ссылка на c-s.net.ua и dedicated-server.ru обязательна! ![]() |
![]() |
|
![]() |
![]()
Сообщение
|
![]() |
Fire,
Поправь на VSD => на VDS |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() |
Молодец!
![]() |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() |
2 Вопроса:
1 Есть ограничение на одновременное скачивание файла несколькими клиентами ? 2 Можно зделать рандомный сим линк ? Например , ссылка перекидовала рандомно на несколько других папок . |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
2 Вопроса: 1 Есть ограничение на одновременное скачивание файла несколькими клиентами ? 2 Можно зделать рандомный сим линк ? Например , ссылка перекидовала рандомно на несколько других папок . 1) Нет. 2) Сам симплинк так не умеет, можно сделать, но дикими граблями, не понимаю смысла этого. ![]() |
![]() |
|
![]() |
![]()
Сообщение
|
![]() |
В плане рандомности актуальнее гайд против бага с FDL (когда клиенты после ручной отмены загрузки и последующего переподключения к серверу грузят файлы напрямую), чтобы игровой сервер в URL включал рандомную часть (модуль есть на это), а web-сервер её игнорил:
Код http://asd.ru/fdl/DF23461/cstrike http://asd.ru/fdl/32G2RYR/cstrike Идея by Lev. |
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() |
Как я уже говорил на дефолте. Лучше юзать lighttpd для такого. Ибо он еще быстрее nginx и жрет меньше.
Пример конфига: Код $HTTP["host"] == "fast-download.domain.ru" { server.document-root = "/var/www/" $PHYSICAL["path"] =~ "(~|\.cfg)$" { access.deny-all = "enable" } $PHYSICAL["path"] !~ "^/путь_от_корня/addons/" { access.deny-all = "enable" } } как-то так.
Отредактировал: xakep7, - 10.10.2014, 22:59
|
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Лайти развивается как полноценный веб, что делает его в некоторых моментах тяжелее, nginx куда больше держит rq\s, у него куда лучше модуль rewrite, лайти не умеет нормально резать скорость и делать лимиты, да и в целом, нжиникс куда более функционален.
Да и вообще, ман про nginx, лайти тут немного не в тему. ps\\ лайти быстрее на доли секунды, да и жрет он столько-же. ![]() |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() |
Лайти развивается как полноценный веб, что делает его в некоторых моментах тяжелее, nginx куда больше держит rq\s, у него куда лучше модуль rewrite, лайти не умеет нормально резать скорость и делать лимиты, да и в целом, нжиникс куда более функционален. Да и вообще, ман про nginx, лайти тут немного не в тему. ps\\ лайти быстрее на доли секунды, да и жрет он столько-же. Не соглашусь т.к. тестировал то и то в реальных условиях. Если nginx обработал 4000 rq/s динамики, то lighttpd обработал ~5500 rq/s. lighttpd умеет резать скорость и ставить лимиты. Как по мне, то lighttpd лучше/проще в плане настройки/производительности и т.п для highload и отдачи статики чем nginx. Nginx же выигрывает в плане кол-ва модулей и развитости под разные сферы (к примеру rtmp/tcp модули). Для тестирования использовался конфиг: AMD Athlon x4 760k 16 Gb Ram 128 Gb SSD
Отредактировал: xakep7, - 10.10.2014, 23:34
|
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() |
не понимаю смысла этого. Ну на пример сам жосткий сможет отдавать быстро одновременно файл 32 игрокам? Safety1st, Можно ссылку на модуль или статью . В паблике есть обычный плагин который рандомно меняет ссылку быстрой скачки. Работал долго и уверенно у меня в свое время. |
|
|
![]() |
![]()
Сообщение
|
![]() |
|
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Safety1st, так если я верно понимаю смена dowloadurl не помогает для включения быстрой закачки, помогает реконнект на "другой айпи"
А смена - просто для распределения нагрузки сделана и клиенту тупо насрать на адрес, который ему сервер пришлет, он типа один раз уже пробовал и не вышло и хватит :) ![]() Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
|
|
![]() |
![]()
Сообщение
|
![]() |
Сам я не проверял.
|
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Ну на пример сам жосткий сможет отдавать быстро одновременно файл 32 игрокам? Файл будет отдаваться с кеша ![]() |
|
|
![]() |
![]()
Сообщение
|
![]() |
мне кажется вам надо смотреть в сторону ++канала, а не лучшего вебсервера
там и обычный справится ![]() go v cs:go
|
|
|
![]() |
![]()
Сообщение
|
![]() ![]() |
Метод имеет брешь в безопасности - возможно слить любые файлы с сервера, конфиги например, а не только ресурсы игровые
Отредактировал: MisterFake, - 15.10.2014, 4:05
|
|
|
![]() |
![]()
Сообщение
|
![]() |
Метод имеет брешь в безопасности - возможно слить любые файлы с сервера, конфиги например, а не только ресурсы игровые А эта часть конфига из спойлера в первом посте Код location ~ /(.*)/.*\.cfg { # запрещаем скачивать cfg файлы deny all; } location ~ /(.*)/addons/ { # запрещаем доступ к addons deny all; тебе ни о чём не говорит? |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() |
Каюсь, не заметил.
Однако маски эти несколько смущают. Я бы всё таки поступил параноидально и запретил бы всё, кроме разрешений ресурсов игры. По поводу спора о второй попытки подключиться - если есть возможность - использовать облака кэширующие
Отредактировал: MisterFake, - 15.10.2014, 5:40
|
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
ну там еще надо как минимум запретить log файлы качать
![]() Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() |
Как решить Это?
Код 403 Forbidden
nginx/1.2.1 |
|
|
![]() ![]() |