雲服務器能否部署聊天系統,實現外網通訊?

對於開源聊天系統來說,筆者最推薦的是RocketChat,主要因爲其使用十分方便並且功能極其豐富。

Rocket.Chat使用Meteor框架做的開源消息應用。是領先的免費開源團隊聊天Slack的替代品,功能強大,它支持羣組聊天,直接通信,私聊羣,桌面通知,媒體嵌入,鏈接預覽,文件上傳,語音/視頻聊天,截圖等等,還支持實時翻譯,實現用戶之間的自動實時消息轉換。使用Rocket.Chat可以完全控制交流通信。

一、關於這套系統,三種解決方案


1.直接訪問:

 

然後註冊賬號即可用,這種跟使用QQ基本沒有區別。

2.單單部署WEB端,關於頁面樣式我們自己DIY,重在不是使用功能,主要是折騰的快樂。其服務器依舊使用的是riot.im自身的服務器。

3.部署WEB還有後端,這種很麻煩,但已經完全從官方獨立出來了。

筆者建議:如果非生產環境,部署WEB端已經很快樂了。自己部署服務器最大問題不好管理,數據備份也是問題。

然而生命不息,折騰不止,本文把從服務端到WEB所有部署全部講解一遍,供大家自行抉擇!

二、開源聊天系統正式安裝


雲服務器使用:新睿雲CentOS7X64

最先安裝開發工具包:

yum -y groupinstall "Development Tools"

安裝程序所需依賴:

yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-deve

安裝pip:

easy_install pip

創建虛擬運行環境:

virtualenv ~/.synapse

激活運行環境:

source ~/.synapse/bin/activate

升級pip到最新版本:

pip install --upgrade pip

升級setuptools:

pip install --upgrade setuptools

使用pip安裝Matrix:

pip install https://github.com/matrix-org/synapse/tarball/master

確認安裝成功是類似如下圖的回顯,如果有錯誤就要根據自己的錯誤信息來排查解決了:

現在進入到程序目錄

cd ~/.synapse

執行如下命令創建一個配置文件:

python -m synapse.app.homeserver --server-name biubiubiu --config-path homeserver.yaml --generate-config

注:–server-name這裏最好填寫一個你的站點域名,如果是測試的話,填寫你的系統主機名即可。

運行Matrix:

synctl start

因爲是初次運行,我們需要創建一個管理員賬號,執行:

register_new_matrix_user -c homeserver.yaml http://localhost:8008

如圖所示:

編輯homeserver.yaml

vi homeserver.yaml

開啓用戶註冊:

enable_registration: True

如圖所示:

然後重啓Matrix:

synctl restart

現在服務已經成功跑在機器的本地了,要對外網提供訪問,必然要配置一個反向代理。這裏我使用Nginx。

新建一個repo:

vi /etc/yum.repos.d/nginx.repo

寫入:

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1

執行:

yum -y install nginx

設置Nginx開機啓動並運行Nginx:

systemctl enable nginx

systemctl start nginx

新建一個站點conf:

vi /etc/nginx/conf.d/riot.conf

寫入:

server {

    listen       80;

    server_name  你的站點域名;

    

location / {

    proxy_pass       http://localhost:8008;

    proxy_set_header Host      $host;

    proxy_set_header X-Real-IP $remote_addr;

    }

}

重啓Nginx:

systemctl restart nginx

這樣,我們就部署好了一臺Riot的聊天服務器。其實現在已經有一個簡陋的WEBUI可以提供最基礎的聊天功能了,此時,你訪問你的網站域名可以看到如下圖的頁面。但這個WEBUI太簡陋了,很顯然不適合讓用戶去使用:

所以Riot爲Matrix專門開發了一套全新的WEBUI。現在,我們就來部署這個全新的WEB端。(不部署後端服務器,就直接看這裏)

下載WEB端源碼:

進入到Nginx的站點目錄內:

cd /usr/share/nginx/

解壓壓縮包:

tar -xzvf riot-v0.15.0-rc.4.tar.gz

重命名目錄:

mv riot-v0.15.0-rc.4 riot

將目錄的所有者改爲nginx:

chown -R nginx:nginx riot

新建一個站點conf:

vi /etc/nginx/conf.d/riot-web.conf

寫入:

server {

    listen       80;

    server_name  你的站點域名;

    #charset koi8-r;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {

        root   /usr/share/nginx/riot;

        index  index.html index.htm;

    }

}

重啓Nginx:

systemctl restart nginx

關閉防火牆:

systemctl stop firewalld.service

這樣,我們就完成了WEB端和服務器端的部署。下面簡要說一下使用方法。

RocketChat註冊管理員賬號

註冊界面

添加bot賬號

管理員界面

聊天使用

聊天界面

點擊查看往期內容回顧

互聯網大佬們的日常:把代碼寫成了生活

雲宕機事件盤點:IBM雲服務全球宕機四小時,安全穩定成空話?

華爲受制裁原因:衝擊美國半導體地位

國產射頻芯片可代替進口,5G領先位置不會被撼動

長按二維碼,關注我們

新睿雲,讓雲服務觸手可及

雲主機|雲存儲|雲數據庫|雲網絡


看都看完了,還不點這裏試試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章