广告 《大道至简,给所有人看的编程课》 🔥

《FreeSWITCH案例大全》

1.14 Debian11中注册FreeSWITCH为系统服务

wandoubaba / 2023-06-30

Debian 11使用了systemd作为启动管理器,而不再使用sysvinit,所以我们不去/etc/init.d/目录中去搞,而是在/etc/systemd/system/里面搞。

假设FreeSWITCH的安装目录是/usr/local/freeswitch

1.14.1 创建freeswitch.service文件

touch /etc/systemd/system/freeswitch.service
vim /etc/systemd/system/freeswitch.service

文件内容参考如下:

[Unit]
Description=FreeSWITCH
After=network.target network-online.target
Wants=network-online.target

[Service]
User=freeswitch
Group=freeswitch
WorkingDirectory=/usr/local/freeswitch
ExecStart=/usr/local/freeswitch/bin/freeswitch
ExecStop=/usr/local/freeswitch/bin/freeswitch -stop
ExecStartPre=/bin/sleep 3
Restart=always

[Install]
WantedBy=default.target

其中[Service]段的ExecStartPre=/bin/sleep 3表示在启动FreeSWITCH前,先等待3秒,这一句可根据实际环境酌情使用。

保存freeswitch.service文件并退出。

1.14.2 创建freeswitch启动用户和组

## 创建freeswith用户组
groupadd -r freeswitch
## 创建freeswitch用户
useradd -r -g freeswitch -s /bin/false -d /usr/local/freeswitch -c "FreeSWITCH" freeswitch
## 更改freeswitch程序目录的权限
sudo chown -R freeswitch:freeswitch /usr/local/freeswitch

1.14.3 注册系统服务并实现开机自启

## 注册freeswitch服务
sudo systemctl daemon-reload
## 让freeswitch随系统自动启动
sudo systemctl enable freeswitch

现在名为freeswitch的系统服务已经注册完成,可以使用下面的系统命令管理freeswitch的启动与停止了:

## 启动服务
sudo systemctl start freeswitch
## 重新启动服务(停止再启动)
sudo systemctl restart freeswitch
## 停止服务
sudo systemctl stop freeswitch
## 查看服务状态
sudo systemctl status freeswitch


本书版权所有 © 杜金房及各位贡献者 2016-2023,仅供在线阅读,谢绝一切形式转载。 本书还在写作中,持续更新。 如果你也想写上几句,欢迎加入我们。 | 返回首页 |