伊语IM即时通讯商城源码服务端部署文档
伊语IM即时通讯系统(IM商城系统),伊语主打的就是IM+商城,附一份参考文档:IM服务端安装部署文档(端口说明、域名解析及服务器配置要求、部署方法),及源码目录结构。
一、端口说明、域名解析及服务器配置要求
1.1 端口说明
使用二级域名映射的情况下
使用端口 | 说明 |
3306 | 数据导入是可以开放 后期关闭 或者直接在服务器上面导入 |
6379 | 不用对外开放 |
9903 | 需要开放 |
80 | 需要开放 |
1.2 子域名说明
api.xxx.com | 接口 |
im.xxx.com | 通讯 |
web.xxx.com | 电脑端 |
file.xxx.com | 上传 |
seo.xxx.com | 管理后台 |
1.3 服务器系统及配置要求
服务器系统 | 服务器配置 | 数量 |
Linux(Centos8.0) | 建议配置4核16G SSD 240G以上,调试期硬件配置可以低至2核8G | 1 |
1.4 服务使用版本
Mysql | 5.7 |
redis | 6.2 |
nginx | 1.19.4 |
tomcat | 9.0.45 |
rabbit | 3.6.6 |
JDK | 1.8 |
node | 12.18.3 |
二、部署方式
2.1 docker安装
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
启动docker
sudo systemctl start docker
2.2 redis安装
docker pull redis
docker run --name some-redis -p 6379:6379 -d redis
2.3 rabbit安装
echo "安装rabbitmq"
docker pull rabbitmq:3.6.6-management
docker run --hostname rabbit-host --name rabbitmq -e RABBITMQ_DEFAULT_USER=yk -e RABBITMQ_DEFAULT_PASS=Yk1211.. -e RABBITMQ_VERSION=3.6.6 -v /data/rabbitmq:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 --restart=always --log-driver=journald --detach=true rabbitmq:3.6.6-management rabbitmq-server
2.4 node安装
wget "https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz"
xz -d node-v12.18.3-linux-x64.tar.xz
tar -xvf node-v12.18.3-linux-x64.tar
创建软连接
ln -s /opt/node-v12.18.3-linux-x64/bin/node /usr/bin/node
ln -s /opt/node-v12.18.3-linux-x64/bin/npm /usr/bin/npm
ln -s /opt/node-v12.18.3-linux-x64/bin/npx /usr/bin/npx
npm install forever -g
ln -s /opt/node-v12.18.3-linux-x64/bin/forever /usr/bin/forever
2.5 安装mysql
docker pull mysql:5.7
docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Yk1211.. -d -v /etc/localtime:/etc/localtime:ro mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --wait_timeout=600 --interactive_timeout=1200 --lower_case_table_names=1
安装成功后通过工具连接mysql 账号yk 密码:Yl1211..
新建数据库rainbowchat_p 然后把 rorainbowchat_pro.sql 导入数据库
2.6 安装pc端服务器
修改文件
把文件上传到 /opt/ RainbowChatServer_web
跳转到
Cd /opt/ RainbowChatServer_web/
通过forever 后台启动服务
forever start -o out.log -e err.log -a /opt/RainbowChatServer_web/bin/www.js
也可以通过 npm start 启动
2.7 安装tomcat 运行im服务
把tomcat 上传到/opt/ 目录下
解压文件
tar -zxvf apache-tomcat-9.0.45.tar.gz
修改名称
mv apache-tomcat-9.0.45/ tomcat
把im yuecoolChat.war服务上传到 /opt/tomcat/webapps/ 目录下
跳转到 /opt/tomcat/bin/ 启动tomcat命令startup.sh
2.8 部署后台服务
创建文件夹
mkdir -p /opt/admin/logs/
cd /opt/admin
新建启动命令 startup.sh
touch admin.log
nohup java -jar yuecool-admin.jar --spring.config.location=/opt/admin/application.yml >admin.log &
tail -f admin.log
新建关闭服务 vim shutdown.sh
ps -ef|grep /opt/admin/application.yml|grep -v grep|awk '{printf $2}'|xargs kill -9
ps -ef|grep yuecool-admin.jar
DATE=`date +%Y-%m-%d-%H-%M` #获取当前系统时间
mv admin.log logs/${DATE}_admin.log
把配置文件上传和 yuecool-admin.jar服务 上传到 /opt/admin/
配置文件 需要把
这两个文件需要合并成一个文件 application.yml 或者使用部署包里面的application.yml
把后台管理编译后的文件夹dist 上传到/opt/admin下
最终如下
然后启动 startup.sh
2.9 部署api服务
创建文件夹
mkdir -p /opt/api/logs/
cd /opt/api/
新建启动服务 vim startup.sh
ps -ef|grep /opt/api/application.yml|grep -v grep|awk '{printf $2}'|xargs kill -9
touch publish.log
nohup java -jar yuecool-chat-publish-0.0.1.jar --spring.config.location=/opt/api/application.yml >publish.log &
tail -f publish.log
新建关闭服务 shutdown.sh
ps -ef|grep /opt/api/application.yml|grep -v grep|awk '{printf $2}'|xargs kill -9
ps -ef|grep yuecool-chat-publish-0.0.1
DATE=`date +%Y-%m-%d-%H-%M` #获取当前系统时间
mv publish.log logs/${DATE}_publish.log
把配置文件上传和 yuecool-chat-publish-0.0.1.jar服务 上传到 /opt/api/
配置文件 需要把这
两个文件需要合并成一个文件application.yml 或者使用部署包里面的application.yml
最终如下
3.0 部署nginx
yum -y install gcc
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
wget http://nginx.org/download/nginx-1.19.4.tar.gz
tar -zxvf nginx-1.19.4.tar.gz
cd /opt/nginx-1.19.4/
./configure --with-http_ssl_module
make && make install
vim /usr/local/nginx/conf/nginx.conf
修改成自己的二级域名
对应项目
node映射
3.1 im配置说明
目前已经由文件转为后台配置了
3.2 后台管理配置说明
yuecool-manage
后台管理通知消息
3.3 Api配置说明
其他配置没有说明的暂时可以忽略
三、目录结构
1. admin目录下存放的是管理后台的代码
2. API目录下存放的是app业务后端
3. Cert下存放的是各种证书
4. Shop下存放的是商城后台
5. Tomcat9启动的是聊天通讯后端
6. Rescourses下存放的是h5页面代码
每个目录下都有对应的启动脚本执行启动即可,服务器也有开机自启脚本。
前端代码使用的nginx部署,如图所示为nginx的目录地址。