雨云服务器玩法(二)——聊天服务器

前言

前段时间,我们闲聊,他们想找到一个开源且可以自行部署的在线即时聊天(IM)工具,于是乎我进行了寻找,一共找到两款开源即时聊天工具,分别是vocechat,和鸭信。本次我们就来探索一下如何部署这两个软件吧。

一、准备阶段

1.1 服务器准备

要部署服务肯定要拥有一个服务器。

首先需要一台云服务器,如果又IP的更好,可以通过雨云购买:

雨云优惠注册地址:雨云服务器优惠链接****

优惠码:NDI0NDU2

使用优惠码注册后可以享受优惠

注册完账号后进到雨云控制台,云服务器入口可以在后台的 总览云产品 部分找到:
服务器
点击云服务器后点击购买云服务器,服务器选择2核2g就差不多了。带宽和流量根据自己的需求进行选择。

国内用户可选择内地机房,一方面访问速度快,但是需要备案,开始选择系统。
结合实际情况选择,debian、ubuntu、centos都可以,本次我选择的是centos。
系统
预装软件,如果选择duckchat,可以根据部署方式的不同,选择docker和宝塔面板,当然可以全都要。如果选择vocechat那么只要保证有docker环境就可以。

预装环境
选择后购买付款后,等待服务器初始化完成。
在这里插入图片描述

等待创建完成后,也就是创建中变为运行中就完成了,之后点击管理,进入管理界面
管理
下滑获取到ip、远程账号、远程密码,备用。
ip

1.2 远程连接

关于远程连接,本次选择MobaXterm进行连接,下载地址,选择free版即可。
安装完成后打开进入这个界面。
在这里插入图片描述

选择左上角,Session进入如下界面。
ssh大
在第一个输入框输入,Remote host输入服务器远程ip,点击ok后。
root

login as 你的账号
password 是你的密码,输入过程不显示。
回车后登入成功。

二、安装vocechat

vocechat有两种部署方式,无分别来说一下,第一个方式是docker安装。

2.1 docker安装

2.1.1安装

docker部署方式命令如下:

docker run -d --restart=always \
  -p 3009:3000 \
  --name vocechat-server \
  -v ~/.vocechat-server/data:/home/vocechat-server/data \
  privoce/vocechat-server:latest \
  --network.frontend_url "https://vocechat.yourdomain.com"

https://vocechat.yourdomain.com 替换成你准备域名,如果没有,可以填成http://服务器IP地址:端口,暂时不重要,后续可以进行调

等待部署完成
部署完成

接下来就可以进行访问了,通过ip:3009。
在这里插入图片描述

1.2配置nginx反代

我选择通过docker安装nginx,并通过80,443端口映射到容器中。首先创建配置文件。

mkdir /etc/nginx/
mkdir /etc/nginx/http.d/
mkdir  /var/log/nginx/
nano  /etc/nginx/http.d/chat.conf

在这里插入图片描述

在这个界面中键入一下内容,对了通过自己在完善一下

server{
	listen 80;
  server_name 你的域名,如果没有域名,则填写http://ip:端口;
  location / {
        proxy_pass http://服务器ip:3009; # 此处端口号取决于docker运行的对外端口号
        proxy_redirect off;
        proxy_set_header        Host    $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0; # 关掉硬盘缓存,增加写速度
        # SSE 相关配置
        proxy_http_version 1.1;
        proxy_set_header Connection '';
    }
}

ctrl+x 后按y回车保存,注意这个是nano,可以使用vim或者vi编辑器,vim教程

docker run --name nginx -p 80:80 -p 443:443 -d  -v /etc/nginx/http.d/chat.conf:/etc/nginx/http.d/chat.conf -v /var/log/nginx:/var/log/nginx  nginx

这样nginx就反向代理了这是http,对于https代理原理是:让 Nginx 监听 443 端口,证书配置在 Nginx,通过 host 转发给 vocechat-server:3009,此时 vocechat 接受的依旧是 http。

2.2 shell安装

通过shell命令安装,命令如下:

curl -sSf https://s.voce.chat/install.sh | sh

中途需要回车两下,第一下可以回车问的是安装路径默认的,第二下是域名,如果有可以输入,也可以之后配置。
安装完成后,界面如下:
安装1

可以通过IP:3000访问了

三、鸭信的安装

首先都是要git一下源码的,首先检查一下有没有git

git --version

如果返回 git version 1.8.3.1证明有git,如果不是则需要安装git,具体的安装过程可以自己查找一下,这里不过多说了


git clone https://gitee.com/mirrors/DuckChat.git
cd DuckChat

解压文件并进入目录

unzip 1.1.7.zip
cd mirrors-DuckChat-master/DuckChat

3.1 脚本安装

在进入目录之后,并且选择列出内容,我们就会发现当前目录下有一个脚本,那个脚本就是本次安装的重点,执行以下命令就可以安装了。

bash duckchat.sh

如果出现以下报错,没事,说明的80端口被占,改变以下端口就可以。运行这个命令
如果没有报错就可以直接访问ip

a9eab339bc99a75bbe47e5525dcfcf): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.

运行这个命令

docker run -itd -p 8080:80 -p 2031:2031 -p 2021:2021 --name duckchat -v /DuckChat/mirrors-DuckChat-master/DuckChat:/home/gaga ccr.ccs.tencentyun.com/duckchat/gaga

然后就运行到8080端口,你访问IP:8080端口就可以

在这里插入图片描述

3.2 通过宝塔面板安装

回到雨云服务器管理界面
在这里插入图片描述

登录
在这里插入图片描述

登录完成成之后。进入以下界面
在这里插入图片描述

点击站点,点击php项目,点击添加站点
输入以下内容
在这里插入图片描述
域名没有可以使用ip代替
回到ssh界面,输入以下命令

cd src
cp -r . 你设置根目录

回到宝塔面板,重新启动服务。
直接访问IP即可完成。

3.3 配置

对于直接通过脚本安装的,确定一下自己是否存在mgsql,如果存在为duckchat可以为duckchat创建相应数据库,如果不存在但是想使用的可以安装一下,如果不想安装的可以放弃使用mysql

现在进行配置,访问对应网站主页,点击同意后,点击下一步
在这里插入图片描述

通过宝塔面板安装直接使用mgsq配置
如下

数据库地址:localhost
端口 3306
数据库名称:你设置的
用户名:你设置的
数据库密码:你设置的
用户名:自己设置
密码:自己设置
确认密码:自己设置

对于没有mysql的可以选择sqlite数据库,设置好账户密码就可以le
在这里插入图片描述

设置完成后,登陆时使用自己设置的管理账号登录

四、结语

这些服务都是有安装、ios端的,所以可以很方便的在手机上使用。
本次的聊天服务就到此未知,这是我在我做内网穿透时想的东西,之后先回去折腾内网穿透的,当我最近我想试一下搞一个私人网盘。

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值