easyswoole实现开机自启

简介: easyswoole实现开机自启

命令脚本

首先我们新建3个.sh文件,分别对应 启动,重启,停止 3个命令:

启动:

#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH;
cd /Host/app-api/;## 这里cd进自己的项目目录
php easyswoole server start -d

重启:

#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH;
cd /Host/app-api/;
git fetch --all && git reset --hard origin/master && git pull  ## 这里额外增加了强制拉git代码的命令,可以去掉
php easyswoole server stop && php easyswoole server start -d  ## 这里是先停止再启动,可以改成reload

停止:

#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH;
cd /Host/app-api/;
php easyswoole server stop

服务脚本

新建easyswoole.service文件:

\[Unit\]
Description=api server
After=network.target
\[Service\]
ExecStart=/usr/bin/bash /start.sh ## 绝对路径
ExecStop=/usr/bin/bash /stop.sh ## 绝对路径
ExecReload=/usr/bin/bash /reload.sh ## 绝对路径
Type=simple
User=root
Group=root
RuntimeDirectory=/work/ ## 自己的项目目录
RuntimeDirectoryMode=0755
\[Install\]
WantedBy=multi-user.target

服务脚本移动到 /usr/lib/systemd/system 中:

cp easywoole.service /usr/lib/systemd/system

服务管理

启动服务:

systemctl start easyswoole

停止服务:

systemctl stop easyswoole

重启服务

systemctl reload easyswoole

加入到开机自启:

systemctl enable easyswoole
目录
相关文章
|
传感器 Linux
在Linux中使用libmodbus库进行Modbus RTU主从机通信
Modbus RTU是一种常见的工业通信协议,用于在自动化系统中传输数据。libmodbus是一个流行的C库,用于在Linux系统上实现Modbus通信。本文将介绍如何使用libmodbus库在Linux上创建Modbus RTU主从机通信的示例代码。
5757 0
|
存储 缓存 JavaScript
WebSocket 学习
WebSocket是用于创建低延迟、高效率双向通信的协议,适合实时数据传输如即时通讯和在线游戏。它通过一次性握手建立长期连接,允许服务器主动推送数据。WebSocket API包括WebSocket对象和事件处理程序,如onopen、onmessage、onerror和onclose。示例代码展示了如何创建WebSocket连接、发送和接收消息及处理各种事件。WebSocket服务器通常需要特定的框架支持,如Node.js中的`ws`库。使用WebSocket时,前端和后端都可以监听open、close、error和message事件来管理连接状态和数据交换。
219 8
|
安全 搜索推荐 Unix
如何提取指定镜像的 Dockerfile
如何提取指定镜像的 Dockerfile
369 0
|
缓存 JavaScript 程序员
【奇葩问题】vue项目在谷歌浏览器开启开发者工具时部分接口报错500 Proxy error: Could not proxy request
【奇葩问题】vue项目在谷歌浏览器开启开发者工具时部分接口报错500 Proxy error: Could not proxy request
399 0
|
存储 小程序
【边做边学】uni.switchTab的目标页面获取不到url携的参数
【边做边学】uni.switchTab的目标页面获取不到url携的参数
673 1
|
JSON 网络协议 PHP
PHP写微服务之Hyperf
PHP写微服务之Hyperf
668 0
PHP写微服务之Hyperf
RabbitMQ实现延迟消息居然如此简单,整个插件就完事了
RabbitMQ实现延迟消息的方式有两种,一种是使用死信队列实现,另一种是使用延迟插件实现。死信队列实现我们以前曾经讲过这次我们讲个更简单的,使用延迟插件实现。
|
JSON JavaScript 定位技术
Echarts自定义地图显示区域,可以显示街道,小区,学校等区域
Echarts自定义地图显示区域,可以显示街道,小区,学校等区域
Mac M1 报错 ld: library not found for -lSystem
Mac M1 报错 ld: library not found for -lSystem
616 0
|
Python
Your requirements could not be resolved to an installable set of packages
Your requirements could not be resolved to an installable set of packages
8867 1