swoft实现自动重启服务 转
目的:
1.上传代码后HTTP服务自动重启,不需要自己手动执行:php bin/swoft http:start
2.自动重启适用于开发调试阶段,因为不能再后台运行所以在线上环境的话还是要重启http服务
a.Swoft-cli
1.下载
wget https://github.com/swoft-cloud/swoft-cli/releases/download/{VERSION}/swoftcli.phar
注意:你需要替换 {VERSION} 部分为最新版本。
wget https://github.com/swoft-cloud/swoft-cli/releases/download/v0.2.0/swoftcli.phar
2.测试
命令:
php swoftcli.phar -V
结果:
Command line tool application for quick use swoft (Version: 0.1.6)
_____ ______ ________ ____
/ ___/ ______ / __/ /_ / ____/ / / _/
\__ \ | /| / / __ \/ /_/ __/ / / / / / /
___/ / |/ |/ / /_/ / __/ /_ / /___/ /____/ /
/____/|__/|__/\____/_/ \__/ \____/_____/___/
PHP: 7.2.30, Swoft: 2.0.8, Swoole: 4.5.0
3.文件转移到bin目录
命令:
mv swoftcli.phar /usr/local/bin/swoftcli
测试报错
swoftcli -V
-bash: /usr/local/bin/swoftcli: Permission denied
修改权限
命令:
chmod a+x /usr/local/bin/swoftcli
再次测试
swoftcli -V
️ Command line tool application for quick use swoft (Version: 0.1.6)
_____ ______ ________ ____
/ ___/ ______ / __/ /_ / ____/ / / _/
\__ \ | /| / / __ \/ /_/ __/ / / / / / /
___/ / |/ |/ / /_/ / __/ /_ / /___/ /____/ /
/____/|__/|__/\____/_/ \__/ \____/_____/___/
PHP: 7.2.30, Swoft: 2.0.8, Swoole: 4.5.0
b. 热重启
命令:
swoftcli run -c http:start
结果:
Work Information
current pid 2592
current dir /root/*****Swoft
php binFile /usr/l*******/bin/php
target path /root/*****/Swoft
watch dirs app, config
entry file /root/******/bin/swoft
execute cmd /usr/l********Swoft/bin/swoft http:start
Watched Directories
/root/******/Swoft/app
/root/*******/Swoft/config
2020/05/05-07:04:47 [SWOFTCLI] Start swoft server
2020/05/05-15:04:47 [INFO] Swoft\SwoftApplication:setSystemAlias(417) Project path: @base=/root/myproject/Swoft
2020/05/05-15:04:47 [INFO] Swoft\SwoftApplication:setSystemAlias(418) Set alias @app=@base/app
2020/05/05-15:04:47 [INFO] Swoft\SwoftApplication:setSystemAlias(419) Set alias @config=@base/config
2020/05/05-15:04:47 [INFO] Swoft\SwoftApplication:setSystemAlias(420) Set alias @runtime=@base/runtime
2020/05/05-15:04:47 [INFO] Swoft\Processor\EnvProcessor:handle(60) Env file(/root/myproject/Swoft/.env) is loaded
2020/05/05-15:04:48 [INFO] Swoft\Processor\AnnotationProcessor:handle(45) Annotations is scanned(autoloader 36, annotation 472, parser 93)
2020/05/05-15:04:48 [INFO] Swoft\Processor\BeanProcessor:handle(53) Bean is initialized(singleton 330, prototype 79, definition 50)
2020/05/05-15:04:48 [INFO] Swoft\Processor\BeanProcessor:handle(57) Config path is /root/myproject/Swoft/config
2020/05/05-15:04:48 [INFO] Swoft\Processor\BeanProcessor:handle(62) Config env is not setting
2020/05/05-15:04:48 [INFO] Swoft\Processor\EventProcessor:handle(35) Event manager initialized(66 listener, 4 subscriber)
2020/05/05-15:04:48 [INFO] Swoft\WebSocket\Server\Listener\AppInitCompleteListener:handle(44) WebSocket server route registered(module 3, message command 14)
2020/05/05-15:04:48 [INFO] Swoft\Tcp\Server\Listener\AppInitCompleteListener:handle(45) Tcp server route registered(routes 4)
2020/05/05-15:04:48 [INFO] Swoft\Error\Listener\AppInitCompleteListener:handle(34) Error manager init completed(4 type, 5 handler, 5 exception)
2020/05/05-15:04:48 [INFO] Swoft\Processor\ConsoleProcessor:handle(36) Console command route registered (group 14, command 44)
____ _____ ____ __ ___ ___
/ __/ _____ / _/ /_ / __/______ ___ _ ___ _ _____ ____/ /__ |_ | / _ \
_\ \| |/|/ / _ \/ _/ __/ / _// __/ _ `/ ' \/ -_) |/|/ / _ \/ __/ '_/ / __/_/ // /
/___/|__,__/\___/_/ \__/ /_/ /_/ \_,_/_/_/_/\__/|__,__/\___/_/ /_/\_\ /____(_)___/
SERVER INFORMATION(v2.0.9)
*******************************************************************************
* HTTP | Listen: 0.0.0.0:9502, Mode: Process, Worker: 6, Task worker: 12
*******************************************************************************
HTTP Server Start Success!
2020/05/05-15:04:48 [INFO] Swoft\Server\Server:startSwoole(491) Swoole\Runtime::enableCoroutine
2020/05/05-15:04:48 [INFO] Swoft\Listener\BeforeStartListener:handle(27) Server extra info: pidFile @runtime/swoft.pid
2020/05/05-15:04:48 [INFO] Swoft\Listener\BeforeStartListener:handle(28) Registered swoole events:
start, shutdown, managerStart, managerStop, workerStart, workerStop, workerError, request, task, finish
Server start success (Master PID: 2594, Manager PID: 2600)
文件改变,自动重启。
————————————————
版权声明:本文为CSDN博主「MichaelGzy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42949954/java/article/details/105932710
swoft实现自动重启服务 转的更多相关文章
- zabbix通过curl命令判断web服务是否正常并自动重启服务
zabbix通过curl命令判断web服务是否正常并自动重启服务 主要思路: 通过curl命令获取服务器响应码,如果正常返回200,不正常返回000 具体命令: curl -I -s -w " ...
- windows service自动重启服务
服务一般都能正常的运行,但有时候也会有一些假死现象,比如公司有一考勤服务就因为依赖于硬件厂家的api, 但厂家api运行一段时间后会默名的假死,引起整个服务假死,因为这一假死现象具有不确定性,所以不太 ...
- systemd实践: 依据情况自动重启服务【转】
1.最简单的自动重启范例 [Unit] Description=mytest [Service] Type=simple ExecStart=/root/mytest.sh Restart=alway ...
- Node.js热部署代码,实现修改代码后自动重启服务方便实时调试
写PHP等脚本语言的时候,已经习惯了修改完代码直接打开浏览器去查看最新的效果.而Node.js 只有在第一次引用时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,这种设计虽然有利于提高性能,却 ...
- 监控windows服务,当服务停止后自动重启服务
近期花时间研究了一下windows和linux下某服务停了后自动重启的功能,在网上收集了些资料,并经过测试,在此整理一下.这里介绍的是windows服务的监控,是通过批处理来实现的.本例是监控wind ...
- nodejs之pm2自动重启服务
pm2 start xxx #启动服务器 pm2 list #查看运行状态 pm2 logs #查看日志 pm2 restart xxx #重启应用 pm2 stop xxx #停止应用 监听修改,并 ...
- systemd实践: 依据情况自动重启服务
systemd服务异常自动重启很好用,但有的时候希望某些服务只在特定情况下进行重启,其他时候不要自动重启(比如OOM,需要人工介入). 本文抛砖引玉,旨在能够让读者对systemd的重启机制有一定了解 ...
- centos7下rsync+inotify脚本实现文件同步,.NET CORE客户端文件更新后自动重启服务
源服务器IP:192.168.8.51 目标服务器IP:192.168.8.79 安装前源服务器及目标服务器均需关闭FIREWALLD\SELINUX防火墙 sestatus | grep statu ...
- monit 监控并自动重启服务
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://coolerfeng.blog.51cto.com/133059/50126 Mo ...
随机推荐
- nmap端口扫描工具下载和安装使用
1.下载地址 https://nmap.org/download.html 2.下载之后进行安装 选择I Agree 后,建议全选,特别是zenmap,这个是图形化界面,不喜欢命令行格式的可以用zen ...
- 漏洞扫描工具acunetix12会遇到的问题
1.如果安装好之后,打开工具时显示无法访问,首先去看任务管理器当中,acunetix的服务是否启动了 2.如果忘记了账号密码,可以在安装目录下,双击ChangePassword.exe进行重置密码
- Python中的相对路径的表示方法
2020/6/3 举例: 现在 6-2.py 想使用 /data/lastfm-2k/user_artists.dat 因为 6-2.py 和 data 是同一级目录,所以正确的写法应该是:
- asp.net中的日志添加和未处理异常的记录
1.第一次写博客如有错误欢迎纠正.邮箱:Jiangwenyuan0217@163.com: 2.此博客可能对初学者有些帮助,对哪些骨灰级的程序员来说都是分分钟的事了,所以就不用在这里费时间了. 环境说 ...
- SSM框架整合核心内容
所需要的jar包及其版本 Spring 版本:4.3.18 tx.aop.beans.core.web.web-mvc.context.expression.jdbc MyBatis:3.4.6 ...
- TS数据类型:类型别名/联合类型/字面量类型/类型推论等纲要
在学C/C++ Java等强类型语言时,变量类型是唯一的,需要先指定.PHP JavaScript等弱类型语言时,无需指定变量类型 但是,TypeScript里面的联合类型 (Union Type) ...
- CTF-BugKu-WEB-1-20
2020.09.17 全面复习web,给自己定个目标,后天之前结束BugKu-Web,开始逆向. 经验教训 php弱等于用于绕过==,弱等于之前会把等号两边转化为同一类型变量: 全局变量全局变量全局变 ...
- 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
Thread t1 = new Thread(new T1()); Thread t2 = new Thread(new T2()); Thread t3 = new Thread(new T3()) ...
- Oracle学习(十)Oracle定时任务
一.Oracle定时任务基础 简介 oracle job 是应用在数据库层面,用来定时执行存储过程或者 SQL 语句的定时器. 查询 --当前库中运行的 job SELECT t.* FROM dba ...
- .NETCore在析构函数(Finalize)在Linux下引起程序异常退出现象
目 录 1. 现象概述... 1 2. 操作数据库的代码... 2 3. 引起的异常... 2 4. 异常信息分析... 3 5. 分析结 ...