V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
firechat
V2EX  ›  推广

推荐给大家一个云服务器的好玩法

  •  1
     
  •   firechat · 2021-03-17 11:54:25 +08:00 · 2627 次点击
    这是一个创建于 1108 天前的主题,其中的信息可能已经有所发展或是发生改变。

    又到了云服务的采购忘记,各路云也都是优惠不断,今年配置更高价钱更便宜,非常有吸引力,但往往买过之后很多也都在吃灰。这里给大家推荐一个好的玩法,更有意思更好玩的用途:搭建一套野火 IM 聊天系统。

    服务器环境准备

    1. 安装 jdk1.8 或者 jre1.8 ( windows 或 linux 都可以)。
    2. 确保 80 、1883 、8888 端口没有被占用,最常见就是被 nginx 占用。
    3. 安全组开放 80 、1883 、8888 端口。

    服务器部署

    需要部署两个服务,一个是 IM 服务,用来处理 IM 业务用的。另外一个是 demo 应用服务,用来做登录等业务的。

    IM 服务器部署

    1. https://github.com/wildfirechat/server/releases 这里下载最新的软件包,上传到服务器并解压。
    2. 修改 config 目录下的wildfirechat.conf,把server.ip改成您云服务器的公网 ip 地址,然后保存。
    3. 在终端中进入到解压目录中的 bin 的同级目录,执行sudo sh ./bin/wildfirechat.sh 。如果想要后台执行命令sudo nohup sh ./bin/wildfirechat.sh 2>&1 & 。( windows 下执行 wildfirechat.bat 脚本)

    应用服务部署

    1. https://github.com/wildfirechat/im-app_server 这里下载最新的软件包,上传到服务器并解压。
    2. 执行命令java -jar app-0.49.jar。如果想要后台执行命令java -jar app-0.49.jar 2>&1 &

    检查服务是否正确

    打开浏览器分别输入地址验证

    1. 输入 http://你的云服务器公网 ip 地址 /api/version,如果返回的是一个 json,那就是正确了。
    2. 输入 http://你的云服务器公网 ip 地址:8888,如果返回的是一个 OK,那就是正确了。

    至此服务器部署完成。

    客户端配置打包测试

    客户端支持 Android 和 iOS,都是原生语言写的,需要有对应的 Android Studio 和 XCode,需要最新版本,可以创建工程并在手机上运行。

    Android 的配置与运行

    1. https://github.com/wildfirechat/android-chat 下载源代码。
    2. 用 AS 打开,并找到cn.wildfire.chat.kit.Config配置类,修改IM_SERVER_HOST的值为您的服务器公网 IP 地址,注意只是 ip 地址,不带 http 头。
    3. 找到cn.wildfire.chat.app.AppService类,修改APP_SERVER_ADDRESShttp://云服务器公网 IP 地址:8888,这个是带 http 头的。
    4. 连上手机运行,在登录界面输入手机号码,验证码输入五个 6,也就是66666
    5. 另外再找个手机,登录后两个手机发送文字、语音、图片等消息。创建群组等操作。拨打音视频电话等。

    iOS 的配置与运行

    1. https://github.com/wildfirechat/ios-chat 下载源代码。
    2. 用 XCode 打开,并找到WFCConfig.mm配置文件,修改IM_SERVER_HOST的值为您的服务器公网 IP 地址,注意只是 ip 地址,不带 http 头。
    3. 在同个文件中,修改APP_SERVER_ADDRESShttp://云服务器公网 IP 地址:8888,这个是带 http 头的。
    4. 连上手机运行,在登录界面输入手机号码,验证码输入五个 6,也就是66666
    5. 另外再找个手机,登录后两个手机添加好友、发送文字、语音、图片等消息。创建群组等操作。拨打音视频电话等。

    后续

    做到上面这些,你就拥有了一个基础的即时通讯软件了,可以放到哪里等着吃灰了[手动狗头]。

    如果不想吃灰,还可以继续入坑,比如买个域名,网站备案,把 ip 换成域名。对接短信,购买云服务的短信包,可以放到外面让别人用短信验证码登录。使用 mysql 数据库,支撑更高的系统容量。部署对接推送服务,让手机有离线接收推送的能力。对接七牛云服务,提供发送文件 /图片 /视频的速度。部署自己的音视频服务器,提高带宽,支持更大的并发容量。

    前面这些基本上不用开发,就是购买配置就可以了。除此之外,还可以做进一步的二次开发,由于代码开源程度比较高,可以与各种系统做对接,或者深度的定制。当你深度玩转这些以后,可以尝试者去接一些即时通讯的开发外包,说不定能够帮你解决 35 岁的顾虑。

    4 条回复    2021-03-17 23:17:28 +08:00
    elechi
        1
    elechi  
       2021-03-17 13:42:42 +08:00
    安卓下推送怎么样?
    firechat
        3
    firechat  
    OP
       2021-03-17 14:04:04 +08:00
    abcde51111
        4
    abcde51111  
       2021-03-17 23:17:28 +08:00
    可以放到哪里等着吃灰了
    emmmmm
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5335 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1295ms · UTC 08:25 · PVG 16:25 · LAX 01:25 · JFK 04:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.