项目部署在Ubuntu上的时候经常需要设置程序开机启动,通常使用systemctl模块来实现;
需要创建一个.service文件放入/etc/systemd/system路径以供系统开机时调用;
[Unit]
# 此项服务的描述
Description=emqx-server
# 此项服务在某项服务后启动
After=network-online.target
[Service]
# 启动类型fork
Type=forking
# 指定环境变量
Environment=HOME=/usr/local/emqx
# 服务启动软件路径
ExecStart=/usr/local/emqx/bin/emqx start
# 重启当前服务路径
ExecReload=/usr/local/emqx/bin/emqx restart
# 停止当前服务路径
ExecStop=/usr/local/emqx/bin/emqx stop
# 设置私有tmp路径
PrivateTmp=True
[Install]
# 设置多用户状态
WantedBy=multi-user.target
对拷贝命令不太熟悉的话可以使用sudo nautilus进入权限文件夹管理器中操作;
对权限赋予不太熟悉的话可以直接sudo chmod 777 emqx.service赋予最高权限;
# 配置文件service修改之后需要载入一下
sudo systemctl daemon-reload
# 配置服务开机启动
sudo systemctl enable emqx.service
# 开始运行服务
sudo systemctl start emqx.service
# 查看服务运行状态
sudo systemctl status emqx.service