3 заметки с тегом

веб-сервер

Настройка Linux — Протокол TCP

29 августа, 11:42

При высоких нагрузках на сервер, нужно настроить параметры системы

Параметр timeout_timewait

Значение timeout_timewait определяет время, которое должно пройти прежде чем TCP/IP сможет освободить завершенное соединение и повторно использовать его ресурсы.

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

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

Минимальное рекомендуемое значение равно 30 секундам. С помощью описанной ниже процедуры можно просмотреть или изменить это значение.


cat /proc/sys/net/ipv4/tcp_fin_timeout // просмотр значения по умолчанию
echo 60 > /proc/sys/net/ipv4/tcp_fin_timeout // установили 60 секунд


Незавершенное соединение

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

С помощью описанной ниже процедуры можно просмотреть или изменить это значение. где ЧИСЛО — является значением, превышающим максимальное число предполагаемых запросов на установление соединения.


cat /proc/sys/net/core/netdev_max_backlog
cat /proc/sys/net/core/somaxconn

echo ЧИСЛО > /proc/sys/net/core/netdev_max_backlog
echo ЧИСЛО > /proc/sys/net/core/somaxconn


Параметр tcp_keepalive_time

Значение tcp_keepalive_time контролирует частоту попыток TCP/IP проверить состояние простаивающего соединения. Если за указанное время деятельность отсутствует, будет отправлен контрольный пакет. Если сеть в порядке и партнер активен, то он отправит ответ.

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

По умолчанию Linux отправляет контрольный пакет при отсутствии активности в простаивающем соединении дольше, чем 7 200 секунд (2 часа). Зачастую более предпочтительным является значение 1 800 секунд, позволяющее обнаруживать половину закрытых соединений за 30 минут.

С помощью описанной ниже процедуры можно просмотреть или изменить это значение.


cat /proc/sys/net/ipv4/tcp_keepalive_time
echo 300 > /proc/sys/net/ipv4/tcp_keepalive_time // 300 сек


Параметр tcp_keepalive_intvl

Значение tcp_keepalive_intvl определяет частоту отправки TCP/IP контрольных пакетов при отсутствии ответа на них от партнера. Соединение будет разорвано после того, как число последовательно отправленных контрольных пакетов, оставшихся без ответа, превысит значение tcp_keepalive_probes.

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

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

С помощью описанной ниже процедуры можно просмотреть или изменить это значение.


cat /proc/sys/net/ipv4/tcp_keepalive_intvl
echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl // 60 сек


Параметр tcp_keepalive_probes

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

По умолчанию Linux отправляет 9 контрольных пакетов перед завершением соединения. Зачастую оптимальным значением является 5 повторов, позволяющее быстрее определить потерю партнера.

С помощью описанной ниже процедуры можно просмотреть или изменить это значение.


cat /proc/sys/net/ipv4/tcp_keepalive_probes
echo 3 > /proc/sys/net/ipv4/tcp_keepalive_probes // 3 повтора отправки контрольных пакетов.


Данные настройки сделают Ваш сервер более стойким.

Debian   Linux   tcp   tcp-ip   tcp_keepalive   веб-сервер

Администрирование веб-сервера с помощью Ajenti

5 мая 2016, 17:31

Ajenti — это среда, в которой выполняют все административные задачи на сервере, с помощью веб-интерфейса. Официальный сайт: ajenti.org.

Установка на сервер Debian.

Требования:

  • Debian 6 и выше версия
  • Установлен Python 2.6
Быстрая авто-установка
wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-debian.sh | sh

Ручная установка

Добавление ключа для репозитория:
wget http://repo.ajenti.org/debian/key -O- | apt-key add -

Добавление записи в репозиторий /etc/apt/sources.list:
echo "deb http://repo.ajenti.org/debian main main debian" >> /etc/apt/sources.list

Установка:
apt-get update && apt-get install ajenti

Запуск:
service ajenti restart

После запуска нужно отредактировать config.
Панель будет доступна по протоколу HTTPS и порту 8000.
По-умолчанию username= root, password= admin.


Другие аналоги:


  • Ispconfig, оф. сайт: ispconfig.org
  • Vestacp, оф. сайт: vestacp.com
  • Webmin, оф. сайт: webmin.com
  • Zpanel, оф. сайт: zpanelcp.com

Установка веб-сервера и запуск веб приложения «hello world» по адресу host1

7 июня 2015, 10:51

Итак, Ubuntu мы установили в предыдущем уроке, теперь установим веб-сервер.
Запускаем консоль

  • Ctrl+Alt+T
  • и выполняем следующие команды:

    sudo apt-get install tasksel
    sudo tasksel install lamp-server

    Для справки список команд для выборочной установки:

    sudo apt-get install apache2
    sudo apt-get install php5
    sudo apt-get install php5-mysql
    sudo apt-get install mysql-server
    sudo apt-get install phpmyadmin
    sudo apt-get install php-apc

    После установки веб-сервера создадим простое приложение.
    В консоли

  • Ctrl+Alt+T
  • пишем

  • cd /etc/hosts
  • это переходим в hosts, где прописываем наши хосты следующей командой:

    sudo nano -etc-hosts
    Добавляем в файл запись:
    127.0.0.1    host1

    Сохраняем и переходим в папку:

  • cd /etc/apache2/sites-available
  • и создаём там файл,

    sudo touch host1.conf
    Открываем на редактирование
    sudo nano host1.conf 
    пишем:
    <VirtualHost *:80>     
    ServerName host1     
    DocumentRoot /var/www/host1     
    <Directory /var/www/host1>         AllowOverride All     
    </Directory>
    </VirtualHost>

    Далее создаём «симлинк» на файл в директории /etc/apache2/sites-enabled с помощью команды a2ensite:

    cd /etc/apache2/sites-enabled
    sudo a2ensite host1
    sudo service apache2 reload

    А теперь создаем само веб-приложение:

    sudo mkdir /var/www/host1 
    cd /var/www/host1 
    sudo touch index.html 
    sudo nano index.html 
    и пишем:
    <html>
    <body>   
    <h1>Hello World!</h1>
    </body>
    </html>

    Сохраняем. Готово приложение. Теперь проверяем в строке браузера пишем host1/ и видим наш текст.

    Linux   Ubuntu   веб-сервер