PHP服务器监视器是用PHP编写的开源Web前端监控工具,可以验证您的服务器(IP,域)或服务是否正常运行,并可以通过邮寄服务或短信,如果在监控出现问题向你发送通知服务或港口。 它通过使用HTTP状态代码检查网站,可以显示正常运行时间和延迟的历史图表,并且可以使用两个级别的身份验证(管理员和常规用户)。
在Arch Linux中安装PHP服务器监视器
本教程介绍您可以使用Apache是否为服务器或Nginx的 Web服务器在Arch Linux的服务器环境中安装PHP服务器监控的方式,那么,你可以选择最适合您的安装过程。
PHP服务器监视器要求
作为为任何其他Linux平台安装和设置PHP Server Monitor的一般要求,您的服务器需要安装以下软件包。
- PHP 5.3.7+
- PHP包:cURL,MySQL
- MySQL数据库
- Nginx或Apache Web服务器
系统要求
要使用Nginx安装PHP Server Monitor,请使用以下教程作为在Arch上设置LEMP和虚拟主机的指南。
要使用Apache安装PHP Server Monitor,请使用以下指南在Arch Linux上设置LAMP。
第1步:配置Nginx / Apache Webserver
1.在我们开始之前,如果你的设置使用虚拟主机,你需要确保你有有效的DNS条目指向域或使用本地主机的情况下,文件你没有一台DNS服务器。 本教程使用虚拟主机与一个地域假冒同时配置Web服务器(Nginx的和Apache) - phpsrvmon.lan -通过/ etc / hosts文件。
创建Nginx虚拟主机配置文件
2.要添加新的Nginx虚拟主机上创建一个新的配置文件/ etc / nginx的/网站的可用/带phpsrvmon.conf名称,并使用下面的模板作为配置的例子。
$ sudo nano /etc/nginx/sites-available/phpsrvmon.conf
下面的代码添加到phpsrvmon.conf文件。
server { listen 80; server_name phpsrvmon.lan; access_log /var/log/nginx/phpsrvmon.lan-access.log; error_log /var/log/nginx/phpsrvmon.lan-error.log; root /srv/www/phpsrvmon; location / { index index.php index.html index.htm; autoindex on; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } }
创建Nginx虚拟主机
3.如果你想通过安全的HTTP协议访问PHP Sever的监视,创建其SSL等效的配置文件。
$ sudo nano /etc/nginx/sites-available/phpsrvmon-ssl.conf
下面的代码添加到phpsrvmon-的ssl.conf文件。
server { listen 443 ssl; server_name phpsrvmon.lan; root /srv/www/phpsrvmon; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; access_log /var/log/nginx/phpsrvmon.lan-ssl_access.log; error_log /var/log/nginx/phpsrvmon.lan-ssl_error.log; location / { index index.php index.html index.htm; autoindex on; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } }
创建Nginx SSL虚拟主机
4.编辑Nginx的conf文件后,创建文档根目录路径,如果你改变了它喜欢这里的/ srv / WWW / phpsrvmon /激活使用n2ensite既实用虚拟主机,然后重新启动Nginx的,以反映变化。
$ sudo mkdir -p /srv/www/phpsrvmon/ $ sudo n2ensite phpsrvmon $ sudo n2ensite phpsrvmon-ssl $ sudo systemctl restart nginx
如果您需要为您的虚拟主机一个新的SSL证书,使用与您的域名nginx_gen_ssl命令生成一个,并相应修改phpsrvmon-ssl.conf中 。
创建Apache虚拟主机配置文件
5.如果你使用Apache作为Web服务器,创建一个新的虚拟主机配置文件/ etc / httpd的/ conf目录/网站的可用/带phpsrvmon.conf名称,并使用以下文件定义为模板。
$ sudo nano /etc/httpd/conf/sites-available/phpsrvmon.conf
下面的代码添加到phpsrvmon.conf文件。
<VirtualHost *:80> DocumentRoot "/srv/www/phpsrvmon" ServerName phpsrvmon.lan ServerAdmin you@example.com ErrorLog "/var/log/httpd/phpsrvmon-error_log" TransferLog "/var/log/httpd/phpsrvmon-access_log" <Directory /> Options +Indexes AllowOverride All Order deny,allow Allow from all Require all granted </Directory> </VirtualHost>
创建Apache虚拟主机
6.如果你还需要对HTTPS协议的访问PHP服务器监视器,创建具有以下语句新的虚拟主机SSL配置文件。
$ sudo nano /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf
下面添加整个代码到phpsrvmon-的ssl.conf文件。
<VirtualHost *:443> ServerName phpsrvmon.lan DocumentRoot "/srv/www/phpsrvmon" ServerAdmin you@example.com ErrorLog "/var/log/httpd/phpsrvmon.lan-error_log" TransferLog "/var/log/httpd/phpsrvmon.lan-access_log" SSLEngine on SSLCertificateFile "/etc/httpd/conf/ssl/phpsrvmon.lan.crt" SSLCertificateKeyFile "/etc/httpd/conf/ssl/phpsrvmon.lan.key" <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/httpd/ssl_request_log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory /> Options +Indexes AllowOverride All Order deny,allow Allow from all Require all granted </Directory> </VirtualHost>
创建Apache SSL虚拟主机
7.使用相同的程序的Nginx,创建文档根目录,在情况下,网络文件服务的路径已更改,使用激活命令a2ensite Apache的虚拟主机,然后重新启动守护程序以应用更改。
$ sudo mkdir -p /srv/www/phpsrvmon/ $ sudo a2ensite phpsrvmon $ sudo a2ensite phpsrvmon-ssl $ sudo systemctl restart httpd
要生成新的SSL证书,并为这个虚拟主机使用apache_gen_ssl Utility键,追加对证书的名字您的域名和修改/etc/httpd/conf/sites-available/phpsrvmon-ssl.conf文件,替换旧SSL证书和密钥的路径和名称与新的。
第2步:编辑PHP配置
8.为了避免一些安装错误,当它验证系统要求打开php.ini文件PHP服务器监控器将抛出并进行以下调整。
$ sudo nano /etc/php/php.ini
如果Nginx的/ Apache的文档根目录路径已被更改(默认的是/ SRV / HTTP /)使用[Ctrl + W]由冒号前缀来定位的open_basedir声明并追加新路“:” -在这种情况下,新路径是的/ srv / WWW / -看起来像在下面的例子。
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/
启用PHP模块
通过取消注释(从他们的前面删除分号)搜索并启用PHP pdo,mysqli和curl扩展。
extension=curl.so extension=mysqli.so extension=pdo_mysql.so
启用PHP扩展
找到时区和设置您的本地时间使用此页 。
date.timezone = Continent/City
在PHP中设置时区
9.在所有的改变都作了重新启动您的服务以应用更改。
$ sudo systemctl restart php-fpm $ sudo systemctl restart nginx $ sudo systemctl restart httpd
第3步:创建PHP服务器监视MySQL数据库
10.要创建存储信息,登录到MySQL / MariaDB的数据库,并使用下面的命令创建一个新的数据库需要的PHP服务器监控数据库(替换首选证书数据库,用户和密码)。
mysql -u root -p MariaDB > create database phpsrvmon; MariaDB > create user phpsrvmon_user@localhost identified by "user_password"; MariaDB > grant all privileges on phpsrvmon.* to phpsrvmon_user@localhost; MariaDB > flush privileges; MariaDB > quit
创建PHP服务器监视MySQL数据库
如果您的系统上安装了PhpMyAdmin,您可以通过从其Web界面访问MySQL / MariaDB来创建PHP Server Monitor数据库。
通过PhpMyAdmin创建PHP服务器监视器数据库
第4步:安装PHP服务器监视器
11.与之前下载PHP服务器监控工具之前,确保你已经安装的wget命令。
$ sudo pacman -S wget
12.要获取最新的PHP服务器监控版本,请访问以下链接并下载tar.gz压缩文件,或者使用下面使用官方提供的Git的下载链接。
或者,您也可以直接使用以下wget命令下载。
$ wget http://downloads.sourceforge.net/project/phpservermon/phpservermon/PHP%20Server%20Monitor%20v3.0.1/phpservermon-v3.0.1.tar.gz
13.下载最新版本后,随着tar命令解压缩并使用下列命令复制所有提取的内容对Web服务器的根目录路径。
$ tar xfvz phpservermon-v3.0.1.tar.gz $ sudo cp -r phpservermon/* /srv/www/phpsrvmon/
14.然后打开浏览器并定位到您的域名(如果您使用在本教程中介绍的虚拟主机,否则使用你的服务器IP地址)和问候页面上打走吧按钮。
PHP服务器监视器安装
15.在下一屏输入你的MySQL数据库信息,并击中保存配置 。
输入MySQL数据库细节
16.如果您收到说你的配置文件无法写入使用下面的命令来创建一个可写confing.php文件,并打在我已保存的配置错误。
$ su -c “> /srv/www/phpsrvmon/config.php” $ sudo chmod 777 /srv/www/phpsrvmon/config.php
启用配置文件的权限
设置配置文件的权限
保存MySQL配置
17.保存配置后创建PHP服务器监控器选择你的凭据,并击中安装按钮管理用户。
安装PHP服务器监视器
18.安装过程结束之后是转到完全命中显示器按钮,你将被重定向到登录页面。 使用您的凭据登录,并将提示您输入默认的PHP Server Monitor页面。 也恢复更改PHP服务器监控config.php文件。
$ sudo chmod 754 /srv/www/phpsrvmon/config.php
PHP服务器监视器安装
服务器监视器登录页
19.要添加新网站的监控转到服务器 - > 新增 ,填写必填字段您的服务器设置,并击中保存按钮。
添加新的监控网站
输入监控的网站详细信息
20.启动所有的服务器和服务监测过程中击中更新按钮,您将被重定向到默认的主页,你将与你的网站/服务的状态呈现。
命中更新开始监视
网站和服务状态
21.为了让PHP服务器监控,自动在固定的时间间隔检查您的服务器/服务状态,你需要在系统上安装一个cron作业调度器,添加在cron文件监视时间段条目。
$ sudo pacman -S cronie $ sudo systemctl start cronie $ sudo systemctl enable cronie
自动监控网站和服务
22.要添加的cron文件,检查您的网站每5分钟使用Sudo的crontab -e命令 ,或者更好的一个新条目,手动调整,以匹配路径编辑位于/ var /线轴/ cron的/根目录的cron文件的PHP服务器监视器安装目录。 要列出所有的crontab项使用sudo的crontab -l命令行。
$ sudo nano /var/spool/cron/root
添加以下条目 - 相应地调整时间段和安装路径
*/5 * * * * /usr/bin/php /srv/www/phpsrvmon/cron/status.cron.php
结论
尽管PHP服务器监视器没有在复杂性上升,因为像Nagios的 , 仙人掌或其他的zabbix监控服务,它往往是在资源消耗非常轻,可以通过配置一个巨大的短信发送电子邮件或文本短信落实工作作为监控平台网关列表,以防您监控的网站和服务遇到技术问题或失灵。
主页 : PHP服务器监控