Данный сервер отличается умеренным аппетитом к ресурсам системы и высокой скоростью работы, необходимость в его установке возникает тогда, когда необходимо раздать большое количество различных файлов, успешно поддающихся сжатию, при этом сэкономив пропускную способность канала. Это позволяет загружать страницы пользователям с низкой скоростью соединения, за вполне приемлемое время. Пользователи скоростных каналов разницы не почувствуют, плюс немного снизится нагрузка на сервер, хотя для комфортного сёрфинга по сайтам хватит и 128Kbps, а закачка крупных файлов-уже отдельная тема для обсуждения.
У данной технологии есть и недостатки, а именно: Довольно сильно возрастает нагрузка на процессор (ему ведь необходимо упаковать все эти файлы в архив), с другой стороны-не обязательно упаковывать файлы по каждому запросу пользователя, достаточно заархивировать файлы один раз и раздавать готовый файл всем пользователям. Для этого необходимо установить время жизни архива, по окончании которого, архив будет пересоздан, это уже относится к кешированию. В такие архивы отлично упаковываются каскадные таблицы стилей(CSS), Javascript, HTML и д.р. Добавление в архивы картинок и видео, не дает заметного результата в экономии трафика.
За счет сжатия, можно добиться уменьшения объёма переданного трафика примерно до 35%, при
условии, что сервер раздает данные в виде текста. Переходи от слов к делу.
После установки, сервер готов к работе, и отзывается по IP адресу вашей системы, его корневая директория находится /var/www
(Cделать крин!)
При установке указываем пароль для пользователя root, который будет управлять базами данных.
(необходимо указать новый пароль и подтверждение!)
Настраиваем PHP, нам необходимо найти и отредактировать конфигурационный файл php.ini
Там необходимо найти и раскоментировать строку cgi.fix_pathinfo=1
Сохраняем изменения выходим.
Активируем модуль fastcgi
Теперь нам необходимо создать символьную ссылку, которая будет указывать из /etc/lighttpd/conf-enabled/10-fastcgi.conf в директорию/etc/lighttpd/conf-available/10-fastcgi.conf
Проверяем работоспособность PHP5 в качестве Fastcgi:
Создадим файл test.php
Добавим в него следующее:
Перезапускам lighttpd:
Тестовый сервер находится у меня по адресу 192.168.10.10, набираем в адресной строке браузера httр://192.168.10.10/test.php. Должна открыться тестовая страница, в которой нас интересует строка Server API в которой указано CGI/FastCGI (на скрине подчёркнуто красным). Если страница открылась значит PHP работает нормально, а из таблицы узнаем уже детали.
Все здорово, но установленное PHP не поддерживает работу с MySQL, необходимо это исправить.
До устанавливаем следующие пакеты:
Дожидаемся окончания загрузки и установки и перезапускаем WEB сервер:
Возвращаемся к нашему браузеру и внем жмем F5 или Обновить страницу и после обновления, находим раздел MySQL, если он присутствует-значит PHP поддерживает работу с СУБД.
Необходимо найти и убедиться, что строка mod_compress не закомментирована, находим секцию с активными серверными модулями, должно выглядеть так:
Директории для кеша создаются автоматически и находятся /var/cache/lighttpd/compress/
По поводу директории в которой будут храниться сжатые файлы, то ее лучше всего располагать на наиболее быстрых секторах жесткого диска или RAID массива, ну а в идеале, вынести их в отдельный раздел находящийся на SSD. В общем, принцип простой-чем быстрее эти файлы будут отданы пользователю, тем лучше.
Нам необходимо найти строку zlib.output_compression и установить значение On по умолчанию стоит Off, должно выглядеть:
Перезапускаем сервер:
Обновляем наш тестовый скрипт и проверяем активировалось сжатие или нет, лучше всего воспользоваться пойском по странице, по ключу gzip, должно быть enabled
Теперь нам необходимо очищать директорию от старых файлов, для примера, которые старше 10 дней. Это необходимо проводить для того чтобы устаревшие файлы не накапливались и не забивали свободное дисковое пространство.
Можно создать задание в Cron:
Из этого можно понять что задание будет выполняться в 2:01 ночи и будет удалять файлы из директории /var/cache/lighttpd/compress/все файлы старше 10 дней.
Это все.
За счет сжатия, можно добиться уменьшения объёма переданного трафика примерно до 35%, при
условии, что сервер раздает данные в виде текста. Переходи от слов к делу.
Устанавливаем web сервер Lighttpd:
sudo su
apt-get install lighttpd
После установки, сервер готов к работе, и отзывается по IP адресу вашей системы, его корневая директория находится /var/www
(Cделать крин!)
Устанавливаем MySQL 5:
apt-get install mysql-server mysql-client
При установке указываем пароль для пользователя root, который будет управлять базами данных.
(необходимо указать новый пароль и подтверждение!)
Устанавливаем PHP5
apt-get install php5-cgi
Настраиваем PHP, нам необходимо найти и отредактировать конфигурационный файл php.ini
nano /etc/php5/cgi/php.ini
Там необходимо найти и раскоментировать строку cgi.fix_pathinfo=1
Сохраняем изменения выходим.
Активируем модуль fastcgi
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php
Теперь нам необходимо создать символьную ссылку, которая будет указывать из /etc/lighttpd/conf-enabled/10-fastcgi.conf в директорию/etc/lighttpd/conf-available/10-fastcgi.conf
ls -l /etc/lighttpd/conf-enabled
Проверяем работоспособность PHP5 в качестве Fastcgi:
Создадим файл test.php
nano /var/www/test.php
Добавим в него следующее:
<?php
phpinfo();
?>
Перезапускам lighttpd:
/etc/init.d/lighttpd restart
Тестовый сервер находится у меня по адресу 192.168.10.10, набираем в адресной строке браузера httр://192.168.10.10/test.php. Должна открыться тестовая страница, в которой нас интересует строка Server API в которой указано CGI/FastCGI (на скрине подчёркнуто красным). Если страница открылась значит PHP работает нормально, а из таблицы узнаем уже детали.
Все здорово, но установленное PHP не поддерживает работу с MySQL, необходимо это исправить.
До устанавливаем следующие пакеты:
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Дожидаемся окончания загрузки и установки и перезапускаем WEB сервер:
/etc/init.d/lighttpd restart
Возвращаемся к нашему браузеру и внем жмем F5 или Обновить страницу и после обновления, находим раздел MySQL, если он присутствует-значит PHP поддерживает работу с СУБД.
Добавляем кеширование и сжатие файлов с помощью mod_compress
nano /etc/lighttpd/lighttpd.conf
Необходимо найти и убедиться, что строка mod_compress не закомментирована, находим секцию с активными серверными модулями, должно выглядеть так:
server.modules = (
"mod_expire",
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
Директории для кеша создаются автоматически и находятся /var/cache/lighttpd/compress/
По поводу директории в которой будут храниться сжатые файлы, то ее лучше всего располагать на наиболее быстрых секторах жесткого диска или RAID массива, ну а в идеале, вынести их в отдельный раздел находящийся на SSD. В общем, принцип простой-чем быстрее эти файлы будут отданы пользователю, тем лучше.
Активируем использование сжатия в PHP
nano /etc/php5/cgi/php.ini
Нам необходимо найти строку zlib.output_compression и установить значение On по умолчанию стоит Off, должно выглядеть:
zlib.output_compression = On
Перезапускаем сервер:
/etc/init.d/lighttpd restart
Обновляем наш тестовый скрипт и проверяем активировалось сжатие или нет, лучше всего воспользоваться пойском по странице, по ключу gzip, должно быть enabled
Теперь нам необходимо очищать директорию от старых файлов, для примера, которые старше 10 дней. Это необходимо проводить для того чтобы устаревшие файлы не накапливались и не забивали свободное дисковое пространство.
Можно создать задание в Cron:
crontab -e
01 2 * * * /usr/bin/find /var/cache/lighttpd/compress/ -type f -atime +10 -print0 | /usr/bin/xargs -0 -r /bin/rm
Из этого можно понять что задание будет выполняться в 2:01 ночи и будет удалять файлы из директории /var/cache/lighttpd/compress/все файлы старше 10 дней.
Это все.
Комментариев нет:
Отправить комментарий