3

当我当时运行opensipsctl start命令start opensips时,我遇到了一个错误。

ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed

所以请帮我解决它。

4

2 回答 2

2

打开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 文件的目录。

于 2016-03-16T09:11:10.927 回答
0

我有同样的错误,它也让我发疯。我设法将其归结为两件事之一——我两者都有!

1/ OpenSIPS 配置文件中的错误配置。journalctl -xe应该能够告诉你错误是什么

2/ 其他东西在你试图监听的端口上监听

对于 2,如果您有 Ubuntu,您可以尝试以下操作,看看是否有任何东西已经在该端口上侦听

lsof -i :5060

于 2016-06-22T13:57:51.283 回答