解决opensips启动时出现PID file /var/run/opensips.pid does not exist 的错误

本文详细介绍了如何解决在启动OpenSIPS时遇到的错误,并通过检查日志文件来定位问题所在。主要关注了配置文件中出现的解析错误,并提供了修改配置文件的步骤,最终成功启动了OpenSIPS服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动opensips时报下列错误

[root@OpenSIPS opensips]# opensipsctl start

INFO: Starting OpenSIPS : 

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

查看日志文件

[root@OpenSIPS opensips]# tail -f /var/log/messages

May 14 15:52:41 OpenSIPS opensips: CRITICAL:core:yyerror: parse error in config file //etc/opensips/opensips.cfg, line 229, column 12-13: unknown command <t_relay>, missing loadmodule?
May 14 15:52:41 OpenSIPS opensips: CRITICAL:core:yyerror: parse error in config file //etc/opensips/opensips.cfg, line 233, column 16-17: unknown command <t_check_trans>, missing loadmodule?
May 14 15:52:41 OpenSIPS opensips: CRITICAL:core:yyerror: parse error in config file //etc/opensips/opensips.cfg, line 235, column 21-22: unknown command <is_method>, missing loadmodule?
May 14 15:52:41 OpenSIPS opensips: CRITICAL:core:yyerror: parse error in config file //etc/opensips/opensips.cfg, line 244, column 31-32: unknown command <proxy_authorize>, missing loadmodule?
May 14 15:52:41 OpenSIPS opensips: CRITICAL:core:yyerror: parse error in config file //etc/opensips/opensips.cfg, line 245, column 27-28: unknown command <proxy_challenge>, missing loadmodule?
May 14 15:52:41 OpenSIPS opensips: CRITICAL:core:yyerror: parse error in config file //etc/opensips/opensips.cfg, line 248, column 23-24: unknown command <db_check_from>, missing loadmodule?
May 14 15:52:41 OpenSIPS opensips: CRITICAL:core:yyerror: parse error in config file //etc/opensips/opensips.cfg, line 249, column 24-25: unknown command <sl_send_reply>, missing loadmodule?

 

解决方法:

查看库文件存放的位置

[root@OpenSIPS modules]# pwd
/lib64/opensips/modules
[root@OpenSIPS modules]# ls
acc.so                dialog.so          mi_fifo.so            signaling.so
alias_db.so         dispatcher.so      mi_http.so            sipcapture.so
auth_aaa.so        diversion.so       mi_json.so            sipmsgops.so
auth_db.so         dns_cache.so       msilo.so              siptrace.so
auth_diameter.so  domainpolicy.so    nathelper.so          sl.so
auth.so              domain.so          nat_traversal.so      sms.so
avpops.so           drouting.so        options.so            speeddial.so
b2b_entities.so   enum.so            path.so               sst.so
b2b_sca.so        event_datagram.so  pdt.so                statistics.so
benchmark.so      event_route.so     peering.so            stun.so
cachedb_local.so  event_xmlrpc.so    permissions.so        textops.so
cachedb_sql.so    exec.so            pike.so               tm.so
call_center.so    gflags.so          presence_callinfo.so  uac_auth.so
call_control.so   group.so           presence_xcapdiff.so  uac_redirect.so
cfgutils.so       imc.so             qos.so                uac_registrant.so
closeddial.so     load_balancer.so   ratelimit.so          uac.so
db_cachedb.so     mangler.so         registrar.so          uri.so
db_flatstore.so   mathops.so         rr.so                 userblacklist.so
db_mysql.so       maxfwd.so          rtpproxy.so           usrloc.so
db_text.so        mediaproxy.so      script_helper.so
db_virtual.so     mi_datagram.so     seas.so

修改配置文件

[root@OpenSIPS opensips]# vim opensips.cfg

####### Modules Section ########

#set module path
mpath="/lib64/opensips/modules/"其

实这里面主要的是查看日志信息,根据日志信息进行排误

### 如何配置 OpenSIPS 服务器 #### 安装前准备 为了确保 OpenSIPS 的顺利安装,在开始之前需确认操作系统已更新至最新状态,并安装必要的依赖包。对于 Ubuntu 和 CentOS,这一步骤至关重要。 #### 配置安装路径 在Ubuntu16.04环境中,当配置OpenSIPS服务器并编译PJSIP模块时,需要指定`Configure Install Prefix`来设置安装目录。例如,可以将安装路径设为 `/usr/local/opensips_proxy`[^1]。 ```bash ./configure --prefix=/usr/local/opensips_proxy ``` #### 解决启动失败问题 如果遇到错误提示 `ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed`,则可能是由于权限不足或其他原因导致无法创建PID文件。此时应检查运行用户的权限以及/var/run目录下的相应子目录是否存在和可写入[^2]。 #### 设置 MySQL 用户与权限 为了让OpenSIPS能够访问MySQL数据库,必须先建立专用账户并赋予适当权限。具体操作如下: ```sql CREATE USER 'opensips'@'%' IDENTIFIED BY 'opensipsrw'; GRANT ALL PRIVILEGES ON opensips.* TO 'opensips'@'localhost' IDENTIFIED BY 'opensipsrw' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 注意:上述SQL语句中的密码部分应当替换为你自己的安全密码[^3]。 #### 创建所需表结构 完成用户授权之后,还需初始化OpenSIPS所需的数据库架构。通过执行以下命令即可实现这一目标: ```bash cd /usr/local/opensips-2.4/sbin/ ./opensipsdbctl create ``` 此过程会自动读取默认脚本并将必要表格加入到先前定义好的数据库内。 #### 修改配置文件 最后一步是对OpenSIPS的主要配置文件进行调整,通常位于/etc/opensips/下。这里可以根据实际需求更改监听端口、启用特定功能模块等参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mindfulness code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值