在ubuntu22.04上先部署docker,再編譯安裝kamailio,附詳細操作流程及docker和makailio的版本號

以下是在Ubuntu 22.04上部署Docker并編譯安裝Kamailio的詳細操作流程,包含版本號信息:


一、部署Docker(版本:24.0.7)

  1. 更新系統包

    sudo apt update && sudo apt upgrade -y
    
  2. 安裝依賴工具

    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加Docker官方GPG密鑰

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
  4. 添加Docker倉庫

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. 安裝Docker Engine

    sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
    
  6. 啟動Docker并設置開機自啟

    sudo systemctl enable --now docker
    
  7. 驗證Docker安裝

    sudo docker run hello-world
    

    出現 Hello from Docker! 表示成功。

  8. 將當前用戶加入docker組(可選)

    sudo usermod -aG docker $USER
    newgrp docker  # 重新加載組權限(需重新登錄生效)
    

二、編譯安裝Kamailio(版本:5.8.3)

  1. 安裝編譯依賴

    sudo apt install -y gcc make flex bison libssl-dev libpcre3-dev libmysqlclient-dev libxml2-dev libcurl4-openssl-dev libsnmp-dev libncurses5-dev libreadline-dev libjson-c-dev git
    
  2. 下載Kamailio源碼

    wget https://www.kamailio.org/pub/kamailio/5.8.3/src/kamailio-5.8.3_src.tar.gz
    tar -xzf kamailio-5.8.3_src.tar.gz
    cd kamailio-5.8.3
    
  3. 配置編譯選項

    make cfg  # 生成默認配置
    # 編輯modules.lst選擇模塊(例如啟用db_mysql、tls等)
    # 或直接通過參數指定模塊
    sed -i 's/include_modules= /include_modules= db_mysql tls /' src/modules.lst
    
  4. 編譯并安裝

    make all
    sudo make install
    
  5. 創建Kamailio用戶和組

    sudo groupadd kamailio
    sudo useradd -g kamailio -d /var/run/kamailio -s /sbin/nologin kamailio
    
  6. 配置Kamailio

    • 復制默認配置文件:
      sudo mkdir -p /usr/local/etc/kamailio
      sudo cp etc/kamailio.cfg /usr/local/etc/kamailio/
      sudo cp etc/dbinit.mysql /usr/local/etc/kamailio/
      
    • 按需編輯配置文件:
      sudo nano /usr/local/etc/kamailio/kamailio.cfg
      
  7. 創建Systemd服務

    sudo nano /etc/systemd/system/kamailio.service
    

    添加以下內容:

    [Unit]
    Description=Kamailio SIP Server
    After=network.target[Service]
    Type=simple
    User=kamailio
    Group=kamailio
    ExecStart=/usr/local/sbin/kamailio -f /usr/local/etc/kamailio/kamailio.cfg -P /var/run/kamailio/kamailio.pid -m 64 -M 16
    Restart=on-failure[Install]
    WantedBy=multi-user.target
    
  8. 啟動Kamailio并驗證

    sudo systemctl daemon-reload
    sudo systemctl enable --now kamailio
    sudo systemctl status kamailio
    
  9. 驗證版本

    /usr/local/sbin/kamailio -V
    

    輸出應包含 version: 5.8.3


關鍵版本信息

  • Docker: 24.0.7(截至2023年10月最新穩定版)
  • Kamailio: 5.8.3(截至2023年10月最新穩定版)

注意事項

  1. 若需啟用特定模塊(如WebSocket、Redis等),需安裝對應依賴并修改 include_modules
  2. 生產環境建議配置數據庫(如MySQL)并初始化表結構:
    sudo mysql -u root -p < /usr/local/etc/kamailio/dbinit.mysql
    
  3. 防火墻需開放SIP協議端口(默認UDP 5060)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/68094.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/68094.shtml
英文地址,請注明出處:http://en.pswp.cn/web/68094.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大模型中提到的超參數是什么

在大模型中提到的超參數是指在模型訓練之前需要手動設置的參數&#xff0c;這些參數決定了模型的訓練過程和最終性能。超參數與模型內部通過訓練獲得的參數&#xff08;如權重和偏置&#xff09;不同&#xff0c;它們通常不會通過訓練自動學習&#xff0c;而是需要開發者根據任…

位運算及常用技巧

涉及位運算的運算符如下表所示&#xff1a; 位運算的運算律&#xff1a; 負數的位運算 首先&#xff0c;我們要知道&#xff0c;在計算機中&#xff0c;運算是使用的二進制補碼&#xff0c;而正數的補碼是它本身&#xff0c;負數的補碼則是符號位不變&#xff0c;其余按位取反…

組合總和III(力扣216)

這道題在回溯的基礎上加入了剪枝操作。回溯方面我就不過多贅述&#xff0c;與組合(力扣77)-CSDN博客 大差不差&#xff0c;主要講解一下剪枝(下面的代碼也有回溯操作的詳細注釋)。我們可以發現&#xff0c;如果我們遞歸到后面&#xff0c;可能集合過小&#xff0c;無法滿足題目…

hot100(8)

71.10. 正則表達式匹配 - 力扣&#xff08;LeetCode&#xff09; 動態規劃 題解&#xff1a;10. 正則表達式匹配題解 - 力扣&#xff08;LeetCode&#xff09; 72.5. 最長回文子串 - 力扣&#xff08;LeetCode&#xff09; 動態規劃 1.dp數組及下標含義 dp[i][j] : 下標i到…

二進制/源碼編譯安裝httpd 2.4,提供系統服務管理腳本并測試

方法一&#xff1a;使用 systemd 服務文件 安裝所需依賴 yum install gcc make apr-devel apr-util-devel pcre-devel 1.下載源碼包 wget http://archive.apache.org/dist/httpd/httpd-2.4.62.tar.gz 2.解壓源碼 tar -xf httpd-2.4.62.tar.gz cd httpd-2.4.62 3.編譯安裝 指定…

Java 中 LinkedList 的底層源碼

在 Java 的集合框架中&#xff0c;LinkedList是一個獨特且常用的成員。它基于雙向鏈表實現&#xff0c;與數組結構的集合類如ArrayList有著顯著差異。深入探究LinkedList的底層源碼&#xff0c;有助于我們更好地理解其工作原理和性能特點&#xff0c;以便在實際開發中做出更合適…

Level2逐筆成交逐筆委托數據分享下載:20250127

Level2逐筆成交逐筆委托數據分享下載 采用Level2逐筆成交與逐筆委托的毫秒級數據&#xff0c;可以揭露眾多有用信息&#xff0c;如莊家策略、偽裝交易&#xff0c;讓所有交易行為透明化。這對于交易高手的策略分析極為有用&#xff0c;對人工智能領域的機器學習也極為合適&…

金蝶云星空k3cloud webapi報“java.lang.Class cannot be cast to java.lang.String”的錯誤

最近在對接金蝶云星空k3cloud webapi時&#xff0c;報一個莫名其妙的轉換異常&#xff0c;具體如下&#xff1a; 同步部門異常! ERP接口登錄異常&#xff1a;java.lang.Class cannot be cast to java.lang.String at com.jkwms.k3cloudSyn.service.basics.DeptK3CloudService.…

【Android】jni開發之導入opencv和libyuv來進行圖像處理

做視頻圖像處理時需要對其進行水印的添加&#xff0c;放在應用層調用工具性能方面不太滿意&#xff0c;于是當下采用opencvlibyuv方法進行處理。 對于Android的jni開發不是很懂&#xff0c;我的需求是導入opencv方便在cpp中調用&#xff0c;但目前找到的教程都是把opencv作為模…

【MySQL】centos 7 忘記數據庫密碼

vim /etc/my.cnf文件&#xff1b; 在[mysqld]后添加skip-grant-tables&#xff08;登錄時跳過權限檢查&#xff09; 重啟MySQL服務&#xff1a;sudo systemctl restart mysqld 登錄mysql&#xff0c;輸入mysql –uroot –p&#xff1b;直接回車&#xff08;Enter&#xff09; 輸…

國產編輯器EverEdit - 自定義標記使用詳解

1 自定義標記使用詳解 1.1 應用場景 當閱讀日志等文件&#xff0c;用于調試或者檢查問題時&#xff0c;往往日志中會有很多關鍵性的單詞&#xff0c;比如&#xff1a;ERROR, FATAL等&#xff0c;但由于文本模式對這些關鍵詞并沒有突出顯示&#xff0c;造成檢查問題時&#xff…

Golang 并發機制-6:掌握優雅的錯誤處理藝術

并發編程可能是提高軟件系統效率和響應能力的一種強有力的技術。它允許多個工作負載同時運行&#xff0c;充分利用現代多核cpu。然而&#xff0c;巨大的能力帶來巨大的責任&#xff0c;良好的錯誤管理是并發編程的主要任務之一。 并發代碼的復雜性 并發編程增加了順序程序所不…

數據庫并發策略

并發控制是數據庫管理中的一個重要方面&#xff0c;它確保多個事務能夠正確地訪問和修改數據&#xff0c;同時保持數據的一致性和完整性。樂觀鎖、悲觀鎖和時間戳是并發控制的三種主要方法。以下是對這三種方法的詳細解析&#xff0c;并結合實踐進行分析&#xff1a; 一、樂觀…

JVM 四虛擬機棧

虛擬機棧出現的背景 由于跨平臺性的設計&#xff0c;Java的指令都是根據棧來設計的。不同平臺CPU架構不同&#xff0c;所以不能設計為基于寄存器的。優點是跨平臺&#xff0c;指令集小&#xff0c;編譯器容易實現&#xff0c;缺點是性能下降&#xff0c;實現同樣的功能需要更多…

鼠標拖尾特效

文章目錄 鼠標拖尾特效一、引言二、實現原理1、監聽鼠標移動事件2、生成拖尾元素3、控制元素生命周期 三、代碼實現四、使用示例五、總結 鼠標拖尾特效 一、引言 鼠標拖尾特效是一種非常酷炫的前端交互效果&#xff0c;能夠為網頁增添獨特的視覺體驗。它通常通過JavaScript和C…

6-圖像金字塔與輪廓檢測

文章目錄 6.圖像金字塔與輪廓檢測(1)圖像金字塔定義(2)金字塔制作方法(3)輪廓檢測方法(4)輪廓特征與近似(5)模板匹配方法6.圖像金字塔與輪廓檢測 (1)圖像金字塔定義 高斯金字塔拉普拉斯金字塔 高斯金字塔:向下采樣方法(縮小) 高斯金字塔:向上采樣方法(放大)…

RNN/LSTM/GRU 學習筆記

文章目錄 RNN/LSTM/GRU一、RNN1、為何引入RNN&#xff1f;2、RNN的基本結構3、各種形式的RNN及其應用4、RNN的缺陷5、如何應對RNN的缺陷&#xff1f;6、BPTT和BP的區別 二、LSTM1、LSTM 簡介2、LSTM如何緩解梯度消失與梯度爆炸&#xff1f; 三、GRU四、參考文獻 RNN/LSTM/GRU …

異步程序設計方式

目錄 一、異步編程種類簡介 二、線程 三、回調 四、Future、 Promise 及其他 五、反應式擴展 六、協程 一、異步編程種類簡介 幾十年以來&#xff0c;作為開發人員&#xff0c;我們面臨著需要解決的問題——如何防止我們的應用程序被阻塞。 當我們正在開發桌面應用&#…

qt-Quick3D筆記之官方例程Runtimeloader Example運行筆記

qt-Quick3D筆記之官方例程Runtimeloader Example運行筆記 文章目錄 qt-Quick3D筆記之官方例程Runtimeloader Example運行筆記1.例程運行效果2.例程縮略圖3.項目文件列表4.main.qml5.main.cpp6.CMakeLists.txt 1.例程運行效果 運行該項目需要自己準備一個模型文件 2.例程縮略圖…

以太坊入門【詳解】

以太坊的組成部分 P2P網絡&#xff1a;以太坊在以太坊網絡上運行&#xff0c;該網絡可在TCP端口30303上尋址&#xff0c;并運行一個協議。交易&#xff1a;以太坊交易時網絡消息&#xff0c;其中包括發送者&#xff0c;接受者&#xff0c;值和數據的有效載荷以太坊虛擬機&…