Печать

Итак, при установке сервера автоматически устанавливаются все нужные нам комопоненты. А нам, для оптимальной работы сайтов на сервере нужны: Nginx - проксирование и отдача статики в обход Apach-а(Очень хорошо снижает нагрузку на сервер); apache2 - собственно сам web-сервер(обязательно установите к нему модуль PHP) ; ну и база данных MySql .

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

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

Начнем с Nginx:

Открываем

sudo nano /etc/nginx/nginx.conf

находим параметр "worker_processes" и выставляем значение "1" - это означает что будет запущен только один процесс Nginx. Этого вполне достаточно на небольших сайтах.

Параметр "worker_connections"  выставляем в "1024" - определеяет количество одновременных соединений;

В принципе на этом Nginx можно считать настроенным. Настройки сайтов рассмотрим в слудующий раз, сейчас это нам не нужно.

Далее открываем настройки Apache2 :

 

sudo nano /etc/apache2/apache2.conf

Находим директивы

MaxKeepAliveRequests 100 - количество запросов при постоянном соединении

KeepAliveTimeout 5 - число секунд ожидания следующего запроса от текущего клиента.

<IfModule mpm_prefork_module>
    StartServers          1                Количество запускаемых процессов
    MinSpareServers       2          Минимальное количество свободных процессов
    MaxSpareServers       2         Максимальное количество свободных процессов
    MaxClients            2                Максимальное количество процессов
    MaxRequestsPerChild   1000         Количество запросов на процесс, после чего процесс завершается.
</IfModule>
 

На этом apache2 настроен.

Приступаем к MySql:

sudo nano /etc/mysql/my.conf

Находим и изменяем настроки.

key_buffer              = 18M
max_allowed_packet      = 1M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
max_connections        = 100
table_cache            = 1000
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
#myisam_sort_buffer_size = 8M
#join_buffer_size = 8M
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M

#
# * InnoDB
#В старых версиях до ubuntu 12.04
#skip-innodb

#В новых версиях mysql innodb отключается:

ignore_builtin_innodb
default_storage_engine=MyISAM

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
 

Собственно все. Перезагружвем сервер или перезапускаем  сервисы nginx, Apache2, mysql.

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

Помимо всего прочего, очень рекомендую установить php акселератор. У меня на сервере установлен Xcache. Он очень помогает снизить нагрузку, что в свою очередь снижает и затраты на сервер. Как установить и настроить написано в статье Установка и настройка Xcache для кеширования PHP скриптов

Сервер арендую у рувеба. RuWeb.net - гибкий хостинг