当前位置: 首页 > 后端技术 > PHP

Yii2+Swoole定时任务管理系统

时间:2023-03-30 03:25:31 PHP

github.com/little-bit-shy/yii2-crontab(项目地址)功能列表用户管理权限管理邮件警告立即执行任务(python+shell)定时任务(python+shell),支持二级定时任务,稳定完善的服务运行定时任务管理系统(crontab)yii2-rest项目目录├─admin前端页面(基于iview)│├─构建前端配置文件│├─src前端具体业务│└─├─commandsCli脚本目录├─components扩展组件目录├─config公共配置目录├─controllers控制器目录├─models模型目录├─modules模块目录│├─v1v1模块目录│├─config配置目录││├─controllers控制器目录││├─models模型目录││├─formForm模型目录││├─redisRedis模型目录│││└─...对应业务相关的MySQL模型目录││├─rules权限规则目录││└─Module.php初始化Module脚本│└─├─web项目入口目录│├─dev.php开发入口脚本│├─prod.php生产入口脚本│└─test.php测试入口脚本│├─composer.jsoncomposer定义文件├─composer.pharcomposer工具├─README.mdREADME文件├─yii_dev开发Cli入口脚本├─yii_prod生产Cli入口脚本├─yii_test测试Cli入口脚本└─yii2restful.sql项目初始化数据Sql文件如何在admin目录下安装操作界面脚本,安装依赖(npminstall)修改配置文件界面链接/admin/build/config.js,ajaxUrl(后端link)url(前端链接)编译脚本(npmrunbuild)服务器项目,安装依赖(phpcomposer.pharinstall)修改后端配置文件/config/db.php,/config/redis.php,/config/mailer.php、/config/task.php运行环境Php7.2.7Swoole4.2.6Yii2.0.14Nginx1.13.7Redis4.0.8Mysql5.6.16环境安装(Docker)web环境docker一键安装Nginx路由优化配置server{listen80;服务器名称本地主机;自动索引关闭;#直接进入域名进入的目录和默认解析文件位置/{//根据自己的环境使用不同的脚本入口prod.php,test.php,dev.phptry_files$uri$uri//prod.php?s=$uri&$args;}#Analysis.php文件位置~\.php${root/www/yii2-rest/web/;fastcgi_pass127.0.0.1:9000;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;包括fastcgi_params;}}界面系统访问域名http://localhost/v1/site/login定时任务管理系统启动命令根据你的环境使用不同的脚本入口yii_prod,yii_test,yii_dev任务分发服务startphpyii_testserver/index[-sstart|停止|restart]task代理服务启动phpyii_testclient/index[-sstart|stop|restart]可以在多台服务器上启动代理服务,根据个人需要注意:分发服务和代理服务通信的证书在/commands/task/ca下面,建议更换自己的证书生??成/help/buildCa下的证书[root@localhostbuildCa]#lltotal5-rwxrwxrwx。1rootroot700Apr1011:38build.sh-rwxrwxrwx。1rootroot333Apr1010:52new_ca.sh-rwxrwxrwx。1rootroot635Apr1011:33new_client.sh-rwxrwxrwx。1rootroot263Apr1010:54new_server.sh-rwxrwxrwx。1rootroot1155Mar510:36openssl。conf[root@localhostbuildCa]#bashbuild.shUsage:build.sh(start|clear)startbuildcertificateclear清空buildcertificate生成的资源文件(全部)buildcertificateexample[root@localhostbuildCa]#bashbuild.shstart开始构建CaGeneratingRSA私钥,2048位长模......................................................+++.................................................++eis65537(0x10001)你将被要求输入信息这将被合并到您的证书请求中。您要输入的是所谓的专有名称或DN。有are很多字段,但你可以留一些空白对于一些字段会有一个默认值,如果你输入'.',该字段将留空。-----国家名称(2个字母代码)[XX]:aaStateorProvinceName(fullname)[]:aaLocalityName(eg,city)[默认城市]:aaOrganizationName(eg,company)[DefaultCompanyLtd]:aaOrganizationalUnitName(eg,section)[]:aaCommonName(例如,您的姓名或服务器的主机名)[]:电子邮件地址[]:请输入以下“额外”属性以与您的证书请求一起发送挑战密码[]:可选的公司名称[]:签名oksubject=/C=aa/ST=aa/L=aa/O=aa/OU=aaGettingPrivatekeyUsingconfigurationfrom./openssl.conf开始构建ServerGeneratingRSAprivatekey,2048bitlongmodulus.........................................+++...................................................................................+++e为65537(0x10001)您将被要求输入将被合并到您的证书中的信息aterequest。你要输入的就是所谓的DistinguishedName或DN。有很多字段,但你可以留一些空白对于一些字段会有默认值,如果你输入'.',该字段将留空。-----国家名称(2个字母代码)[XX]:aaStateorProvinceName(全名)[]:aaLocalityName(例如,城市)[DefaultCity]:aaOrganizationName(例如,company)[DefaultCompanyLtd]:aaOrganizationalUnitName(eg,section)[]:aaCommonName(eg,yournameoryourserver'shostname)[]:EmailAddress[]:Pleaseenterthefollowing'extra'attributestobesentwithyoucertificaterequestAchallengepassword[]:Anoptionalcompanyname[]:Usingconfigurationfrom./openssl.confCheckthattherequestmatchesthesignatureSignatureokTheSubject'sDistinguishedNameisfollowscountryName:PRINTABLE:'aa'stateOrProvinceName:ASN.112:'aa证书请求挑战密码[]:一个可选的公司名称[]:使用来自./openssl.conf的配置检查请求是否匹配签名SignatureokTheSubject'sDistinguishedNameisfollowscountryName:PRINTABLE:'aa'stateOrProvinceName:ASN.112:'aa'localityName:ASN.112:'aa'organizationName:ASN.112:'aa'organizationalUnitName:ASN.112:'aa'CertificateistobecertificateuntilApr1003:52:402021GMT(365days)签署证书?[y/n]:y1outof1certificaterequestscertified,commit?[y/n]yWriteoutdatabasewith1newentriesDataBaseUpdated开始构造ClientGeneratingRSAprivatekey,1024bitlongmodulus......................................................++++++................................++++++e是65537(0x10001)Enterpassphrasefor.//users/client.key:Verifying-Enterpassphrasefor.//users/client.key:Enterpassphrasefor.//users/client.key:您将被要求输入将合并到您的证书请求中的信息。您将要输入的是所谓的专有名称或DN。有很多字段,但您可以留空一些字段为默认值,如果您输入“.”,该字段将留空。-----CountryName(2lettercode)[XX]:aaStateorProvinceName(fullname)[]:aaLocalityName(例如,城市)[默认城市]:aa组织名称(例如,公司)[默认有限公司]:aa组织单位名称(例如,部门)[]:aa通用名称(例如,您的姓名或服务器的主机名)[]:电子邮件地址[]:请输入以下“额外”属性与您的证书请求一起发送质询密码[]:可选的公司名称[]:使用来自./openssl.conf的配置检查请求是否与签名相匹配签名okTheSubject'sDistinguishedNameis如下countryName:PRINTABLE:'aa'stateOrProvinceName:ASN.112:'aa'localityName:ASN.112:'aa'organizationName:ASN.112:'aa'organizationalUnitName:ASN.112:'aa'Certificateis要在格林威治标准时间2021年4月10日03:53:05(365天)之前获得认证签署证书?[y/n]:y1outof1certificaterequestscertified,commit?[y/n]yWriteoutdatabasewith1newentries数据库已更新Enterpassphrasefor.//users/client.key:EnterExportPassword:Verifying-EnterExport密码:输入导入密码:MAC已验证OK输入导入密码:MAC已验证OK输入PEM密码:正在验证-输入PEM密码:[root@localhostbuildCa]#lltotal8-rwxrwxrwx。1rootroot700Apr1011:38build.sh-rwxrwxrwx。1rootroot116Apr1011:53index.txt-rwxrwxrwx。1rootroot20Apr1011:53index.txt.attr-rwxrwxrwx。1rootroot20Apr1011:52index.txt.attr.old-rwxrwxrwx。1rootroot58Apr1011:52index.txt.old-rwxrwxrwx。1rootroot333Apr1010:52new_ca.shdrwxrwxrwx。1rootroot0Apr1011:53newcerts-rwxrwxrwx。1rootroot635Apr1011:33new_client.sh-rwxrwxrwx。1rootroot263Apr1010:54new_server.sh-rwxrwxrwx。1rootroot1155Mar510:36openssl.confdrwxrwxrwx。1rootroot0Apr1011:52private-rwxrwxrwx。1rootroot5Apr1011:53serial-rwxrwxrwx。1rootroot5Apr1011:52serial.olddrwxrwxrwx。1rootroot0Apr1011:52serverdrwxrwxrwx。1rootroot0Apr1011:53用户系系统具有预警邮件通知功能。使用预警功能前,只需修改指定的配置文件即可。只需要在后台指定接收通知的用户即可显示邮件效果。初始化账号密码root/123456