当我当时运行opensipsctl start
命令start opensips
时,我遇到了一个错误。
ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed
所以请帮我解决它。
当我当时运行opensipsctl start
命令start opensips
时,我遇到了一个错误。
ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed
所以请帮我解决它。
打开opensipsctl,它包含文件opensipsctlrc,它把$PID_FILE定义为/var/run/opensips.pid
然后在opensipsctl中,当您运行启动时,其中一项检查是..
if [ ! -s $PID_FILE ] ; then
echo
merr "PID file $PID_FILE does not exist -- OpenSIPS start failed"
exit 1
fi
也就是说,如果检查“/var/run/opensips.pid 是否存在且大于 0 字节”失败,则回显上述错误。
这意味着该文件没有被创建。
如果你只看那条线的上方,它确实..
if [ $SYSLOG = 1 ] ; then
$OSIPSBIN -P $PID_FILE $STARTOPTIONS 1>/dev/null 2>/dev/null
else
$OSIPSBIN -P $PID_FILE -E $STARTOPTIONS
fi
这是 opensips 实际开始的地方。如果您还没有,我建议将以下内容添加到您的 opensips.cfg 中。
# Logging
debug=6
log_stderror=no
log_facility=LOG_LOCAL0
..现在所有内容都将在启动时记录到 /var/log/syslog 中。
再次尝试启动,然后查看该日志以获取有关所发生情况的信息。
要检查的另一件事是,您正在运行 opensips 的用户有权访问它试图在其中创建 pid 文件的目录。
我有同样的错误,它也让我发疯。我设法将其归结为两件事之一——我两者都有!
1/ OpenSIPS 配置文件中的错误配置。journalctl -xe应该能够告诉你错误是什么
2/ 其他东西在你试图监听的端口上监听
对于 2,如果您有 Ubuntu,您可以尝试以下操作,看看是否有任何东西已经在该端口上侦听
lsof -i :5060