日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS7.2中安装rabbitmq

發布時間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS7.2中安装rabbitmq 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于虛擬機中如何安裝CentOS7,在我這個文章中http://blog.csdn.net/junshangshui/article/details/79368111

  • 下載erlang,因為rabbitmq是erlang編寫的
    http://www.erlang.org/downloads
  • 這里我下載的是20.1版本的。點擊OTP20.1后,進入如下界面

    保存這個文件。下載完成后的文件為 otp_src_20.1.tar.gz

    2.下載rabbitmq

    http://www.rabbitmq.com/download.html

    下載完成后文件為rabbitmq-server-generic-unix-3.7.3.tar.xz

    3.將下載的這兩個文件復制到虛擬機中的CentOS7.2中的根目錄下的usr文件夾中

  • 安裝erlang
  • 打個一個終端,解壓文件 tar -zxvf otp_src_20.1.tar.gz

    利用yum安裝erlang編譯所依賴的環境 yum -y install make gcc gcc-c++ kernel-devel m4ncurses-devel openssl-devel unixODBC-devel

    到otp_src_20.1文件夾下,進行configure安裝環境配置,--prefix=/usr/erlang 是說明將當前的安裝放在usr/erlang文件夾下。

    ./configure --prefix=/usr/erlang--without-javac

    編譯 make

    安裝 make install 。安裝完成后會有一個erlang文件夾。otp_src_20.1和otp_src_20.1.tar.gz都可以刪除了。

    5.安裝rabbitmq

    解壓rabbitmq-server-generic-unix-3.7.3.tar.xz到 usr下,然后改名為rabbitmq

    因為下載的rabbitmq是編譯好的方便的版本,所以只要解壓就行了。然后就可以刪除壓縮文件了

    然后進入計算機下面的etc文件夾中找到操作系統配置文件profile

    在最后加上這兩行環境變量,保存。(和windows系統中的環境變量的作用差不多)

    export PATH=$PATH:/usr/erlang/bin

    export PATH=$PATH:/usr/rabbitmq/sbin

    然后重啟電腦就可生效了

    直接在桌面點擊右鍵開啟一個終端,輸入下面這行命令來開啟rabbitmq

    rabbitmq-server

    開啟web監控.需要進入目錄usr/rabbitmq/sbin 打開終端輸入以下命令來啟動rabbitmq_management插件。

    打開瀏覽器輸入 127.0.0.1:15672 就可以看到WEB管理界面,輸入guest guest登錄

    大約等了一分鐘后就能看到rabbitmq的信息了。

    6.配置rabbitmq

    點擊節進入后會發現沒有默認配置文件

    然后可查看/usr/rabbitmq/sbin下面的rabbitmq-defaults文件,如下圖,可以看到CONFIG_FILE的默認路徑。

    從以下網址找個配置文件(點擊Raw,然后復制),(根據上圖路徑)到usr/rabbitmq/etc/rabbitmq/下新建一個名為rabbitmq.config的文件,把復制的配置代碼粘貼上去。

    https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.config.example

    然后在終端重啟rabbitmq-server,進入web管理界面,再點擊進入rabbitmq節點就可以看到有配置文件了,不再是空的了。

    打開rabbitmq.config文件后,可以知道默認的tcp連接端口是5672。

    {tcp_listeners, [5672]} ,

    還可以看到日志記錄級別,一般把info改為error,即出錯才記日志,否則日志太大。

    {rabbit_channel_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event,error]}]}]},{rabbit_conection_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event,error]}]}]}

    上面最后一行后面的逗號注意去掉

    還可以設置最大占用的內存數,去掉注釋,默認為最大占用40%內存。達到40%后會觸發阻塞。

    {vm_memory_high_watermark, 0.4}, 注意去掉這行最后的逗號

    保存文件,然后在終端重啟rabbitmq-server就可以了

    7.C#客戶端連接rabbitmq

    打開官網說明文檔(人個用的chrome瀏覽器打開并且用它自帶的網頁翻譯功能翻轉為中文)

    http://www.rabbitmq.com/dotnet-api-guide.html

    了解了一下文檔后,新建一個asp.net core控制臺應用程序,打開nuget工具,下載RabbitMQ.Client這個包。

    在CentOS中設置防火墻允許外部訪問5672端口,如果要在win10中使用瀏覽器訪問虛擬機中的rabbitmq WEB管理工具,則再添加一個15672端口。

    在CentOS中打開rabbitmq的web管理工具,添加一個用戶xu,密碼為abc123456,并且設置此用戶的權限。

    在CentOS中打開終端輸入ifconfig得知ip地址。

    新建一個asp.net core控制臺程序,在nuget中下載RabbitMQ.Client包。寫入如下代碼:

    static void Main(string[] args)
    {
    //一、連接rabbitmq
    ConnectionFactory factory = new ConnectionFactory
    {
    UserName = "xu",
    Password = "abc123456",
    HostName = "192.168.213.140",
    Port = 5672
    };
    IConnection conn = factory.CreateConnection();

    //二、創建一個通道IModel channel = conn.CreateModel();//三、創建一個交換機string exchangeName = "exchange1";string queueName = "queue1";string routingKey = "routingKey1";channel.ExchangeDeclare(exchangeName, ExchangeType.Direct);//四、創建一個消息隊列并且綁定到交換機上channel.QueueDeclare(queueName,false,false,false,null);channel.QueueBind(queueName,exchangeName,routingKey,null);//五、發道一個消息到消息隊列byte[] messageBodyBytes = System.Text.Encoding.UTF8.GetBytes("Hello, world!");channel.BasicPublish(exchangeName, routingKey, null, messageBodyBytes);Console.Read();}

    運行程序后會發送一條消息到rabbitmq,打開web管理工具可看到有一條消息了。

    再添加一個asp.net core控制臺程序,從nuget下載好RabbitMQ.Client包。(記得設為啟動項目),然后定入如下代碼:

    static void Main(string[] args)
    {
    //一、連接rabbitmq
    ConnectionFactory factory = new ConnectionFactory
    {
    UserName = "xu",
    Password = "abc123456",
    HostName = "192.168.213.140",
    Port = 5672
    };
    IConnection conn = factory.CreateConnection();

    //二、創建一個通道IModel channel = conn.CreateModel();//三、取出消息string queueName = "queue1";BasicGetResult result = channel.BasicGet(queueName, true);var msg = Encoding.UTF8.GetString(result.Body);Console.WriteLine(msg);Console.Read();}

    運行后將成功取出消息,然后在WEB管理工具中可看到消息為0了。

    特別問題,C#代碼連不上虛擬機中的rabbitmq,報錯如下:
    RabbitMQ.Client.Exceptions.BrokerUnreachableException:“None of the specified endpoints were reachable”
    修復一下LSP就行了。
    以管理員身份運行cmd,輸入"netsh winsock reset"回車,重啟電腦就好了。


    作者:junshangshui
    來源:CSDN
    原文:https://blog.csdn.net/junshangshui/article/details/79368061
    版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

    總結

    以上是生活随笔為你收集整理的CentOS7.2中安装rabbitmq的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。