基于Laravel框架的网站监控程序
监控网页上出现的关键词,或者监控HTTP状态码和响应时间等,然后用邮件通知你。
!!! 如果你在安装过程中遇到任何问题,请不要犹豫,立即提出Issue。
git clone https://github.com/shellus/SiteMonitor.git
cd SiteMonitor
chmod 777 -R storage
composer install
如果提示composer: command not found
,你可能需要先使用下面的命令安装composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/bin/composer
cp .env.example .env
编辑.env文件:修改数据库连接信息,程序不会自动创建数据库,所以请确认数据库存在,你可以使用CREATE DATABASE site_monitor;
来创建数据库
MAIL_USERNAME
和MAIL_FROM_ADDRESS
为你的邮箱,MAIL_PASSWORD
为你的密码即可。
如果使用其他邮箱,你需要配置MAIL_HOST
MAIL_PORT
MAIL_ENCRYPTION
等选项,其中前两项可以从你邮箱的帮助中找到,注意: tls和ssl是不同的选项
php artisan key:generate
php artisan migrate
php artisan db:seed
* * * * * php /path/to/SiteMonitor/artisan schedule:run
php /path/to/SiteMonitor/artisan queue:work --queue=monitor
你可以使用/etc/rc.local
或supervisor
或者systemd
来实现这一点
推荐的supervisor配置像这个样子
[program:site_monitor]
command=php /path/to/SiteMonitor/artisan queue:work --queue=monitor
autostart=true
autorestart=true
user=www
numprocs=10
process_name=%(program_name)s_%(process_num)02d
/path/to/SiteMonitor/public
吧。推荐的nginx配置像这个样子
server {
listen 80;
root /path/to/SiteMonitor/public;
index index.html index.php;
server_name _;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
}
目前开发阶段,开源及授权方式未定,未来变更授权不会制约变更前的代码