Установка Xhgui+Tideways XHProf на vps с Debian8+VestaCP+php7.
1 — Установка MongoDB.
Для работы XHProf понадобится установить MongoDB. Для этого, подключаем репозиторий MongoDB командами:
Устанавливаем MongoDB командой:
Устанавливаем дополнительные модули для PHP:
Запускаем:
Проверяем, что все работает:
Ограничиваем время хранения документов, что бы избежать проблем со свободным местом на диске сервера. Для этого:
Входим в MongoDB командой:
И вводим данные строчки:
Выходим из MongoDB командой:
2 — Установка Tideways XHProf
Для установки Tideways XHProf вводим данные команды на сервере:
Подключаем модуль tideways xhprof, для этого создаем файл конфигурации командой:
Добавляем в данный файл строки:
Сохраняем, нажав комбинацию клавиш Ctrl+O и выходим с помощью клавиш Ctrl+X.
Перезагружаем вебсервер Apache для подключения модулей:
Проверяем подключенные модули, для этого создадим файл phpinfo.php в корневой директории сайта.
Добавляем в файл:
Сохраняем и выходим — Ctrl+O и Ctrl+X
В окне браузера вводим — 185.230.142.72/phpinfo.php
Необходимо указать ip вашего сервера вместо — 185.230.142.72
Проверяем, что модули mongodb и tideways_xhprof установлены.
Если все в порядке то можно переходить к следующему шагу, если же данных модулей нет в списке подключенных, то необходимо удостовериться что предыдущие части инструкции выполнены верно.
3 — Установка XHGui
Клонируем XHGui в корневую директорию нашего домена:
Изменяем права доступа для папки cache:
Переходим в папку с XHGui:
Запускаем установку:
По окончанию установки XHGui будет доступен по адресу — %site_name%/xhgui/webroot/
Вместо %site_name% необходимо указать доменное имя вашего сайта или ip севрера.
Далее копируем файл config.default.php в файл config.php
Для профилирования всех запросов следует вместо
Сделать
Внимание! В текущей версии xhgui есть ошибка, вместо profiler.enable в рекомендациях стоит profiler.enabled
Для подключения XHGui к нужному домену, необходимо отредактировать файл конфигурации Apache для данного домена. Для этого выполним команду:
Имя файла может быть отлично от указанного и должно содержать название домена к которому необходимо подключить XHGui
Добавляем в Directory где указан путь к каталогу с сайтом:
Сохраняем и выходим — Ctrl+O и Ctrl+X
В итоге должно выглядеть вот так:
Перезагружаем вебсервер Apache:
Теперь XHGui подключен к домену и будет отображать статистику собранную профайлером.
Для работы XHProf понадобится установить MongoDB. Для этого, подключаем репозиторий MongoDB командами:
wget -qO - https://www.mongodb.org/static/pgp/server-3.6.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" | tee /etc/apt/sources.list.d/mongodb-org-3.6.list
apt-get update
Устанавливаем MongoDB командой:
apt-get install -y mongodb-org
Устанавливаем дополнительные модули для PHP:
apt-get install php-pear php7.0-dev php7.0-mbstring php7.0-mongodb php-xml
Запускаем:
service mongod start
Проверяем, что все работает:
service mongod status
Ограничиваем время хранения документов, что бы избежать проблем со свободным местом на диске сервера. Для этого:
Входим в MongoDB командой:
mongo
И вводим данные строчки:
use xhprof
db.results.ensureIndex( { "meta.request_ts" : 1 }, { expireAfterSeconds : 432000 } )
Выходим из MongoDB командой:
exit
2 — Установка Tideways XHProf
Для установки Tideways XHProf вводим данные команды на сервере:
git clone https://github.com/tideways/php-profiler-extension.git
cd php-profiler-extension/
phpize
./configure
make
make install
cp modules/tideways_xhprof.so /usr/lib/php/20151012/tideways_xhprof.so
Подключаем модуль tideways xhprof, для этого создаем файл конфигурации командой:
nano /etc/php/7.0/apache2/conf.d/40-tideways_xhprof.ini
Добавляем в данный файл строки:
; Configuration for Tideways Profiler Extension
; priority=40
extension=tideways_xhprof.so
Сохраняем, нажав комбинацию клавиш Ctrl+O и выходим с помощью клавиш Ctrl+X.
Перезагружаем вебсервер Apache для подключения модулей:
/etc/init.d/apache2 restart
Проверяем подключенные модули, для этого создадим файл phpinfo.php в корневой директории сайта.
nano /home/admin/web/%sitename%/public_html/phpinfo.php
Добавляем в файл:
<?php
phpinfo();
Сохраняем и выходим — Ctrl+O и Ctrl+X
В окне браузера вводим — 185.230.142.72/phpinfo.php
Необходимо указать ip вашего сервера вместо — 185.230.142.72
Проверяем, что модули mongodb и tideways_xhprof установлены.
Если все в порядке то можно переходить к следующему шагу, если же данных модулей нет в списке подключенных, то необходимо удостовериться что предыдущие части инструкции выполнены верно.
3 — Установка XHGui
Клонируем XHGui в корневую директорию нашего домена:
git clone https://github.com/perftools/xhgui.git
Изменяем права доступа для папки cache:
chmod -R 777 /home/admin/web/%site_name%/public_html/cache/
Переходим в папку с XHGui:
cd /home/admin/web/%site_name%/public_html/xhgui/
Запускаем установку:
php install.php
По окончанию установки XHGui будет доступен по адресу — %site_name%/xhgui/webroot/
Вместо %site_name% необходимо указать доменное имя вашего сайта или ip севрера.
Далее копируем файл config.default.php в файл config.php
Для профилирования всех запросов следует вместо
'profiler.enable' => function() {
return rand(1, 100) === 42;
},
Сделать
'profiler.enable' => function() {
return true;
},
Внимание! В текущей версии xhgui есть ошибка, вместо profiler.enable в рекомендациях стоит profiler.enabled
Для подключения XHGui к нужному домену, необходимо отредактировать файл конфигурации Apache для данного домена. Для этого выполним команду:
nano /home/admin/conf/web/site1.example.com.apache2.conf
Имя файла может быть отлично от указанного и должно содержать название домена к которому необходимо подключить XHGui
Добавляем в Directory где указан путь к каталогу с сайтом:
php_admin_value auto_prepend_file /home/admin/web/site1.example.com/public_html/xhgui/external/header.php
Сохраняем и выходим — Ctrl+O и Ctrl+X
В итоге должно выглядеть вот так:
<Directory /home/admin/web/site1.example.com/public_html>
AllowOverride All
Options +Includes -Indexes +ExecCGI
php_admin_value open_basedir /home/admin/web/site1.example.com/public_html:/home/admin/tmp
php_admin_value upload_tmp_dir /home/admin/tmp
php_admin_value session.save_path /home/admin/tmp
php_admin_value auto_prepend_file /home/admin/web/site1.example.com/public_html/xhgui/external/header.php
</Directory>
Перезагружаем вебсервер Apache:
/etc/init.d/apache2 restart
Теперь XHGui подключен к домену и будет отображать статистику собранную профайлером.
- 0
- 11 февраля 2020, 18:37
- Lazarusdesu
Комментарии (0)
RSS свернуть / развернуть