默往im搭建教程

全栈开发环境搭建指南

环境要求

组件版本
Nginx1.22
MySQL5.7
PHP7.4
Redis7.0
Node.js14.17.6
etcd3.5.5
MinIO20221008201100
SSDBmaster
Kafka3.3.2

前置准备

Telegram API申请

  1. 访问 https://my.telegram.org (需开启VPN)
  2. 使用Telegram客户端接收验证码登录
  3. 创建应用(应用名需全英文/数字组合)
  4. 如遇持续报错提示error/obj,可通过微信PYT608联系购买API凭证

基础服务安装

1. MinIO对象存储

bash复制# 安装依赖
apt-get install rpm

# 安装MinIO
rpm -ivh minio-20221008201100.0.0.x86_64.rpm

# 启动服务(后台模式)
nohup minio server /opt/lib/minio --console-address ":9001" 1>/dev/null 2>&1 &

2. SSDB数据库

bash复制# 编译安装
cd ssdb-master && make
make install PREFIX=/opt/lib/ssdb

# 启动服务
cd ../ssdb
./ssdb-server -d ssdb.conf

# 服务管理命令
# 停止:./ssdb-server ssdb.conf -s stop
# 重启:./ssdb-server ssdb.conf -s restart

3. Kafka消息队列

bash复制# 安装Java环境
apt install openjdk-8-jdk

# 配置环境变量
echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
source /etc/profile

# 配置Kafka
vim config/server.properties
# 修改配置项:listeners=PLAINTEXT://127.0.0.1:9092

# 启动服务
nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties 1>/dev/null 2>&1 &
nohup ./bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &

4. etcd分布式存储

bash复制# 设置API版本
export ETCDCTL_API=3

# 启动服务
cd etcd-v3.5.5-linux-amd64 
nohup ./etcd >./etcd.log 2>&1 &

数据库配置

sql复制-- 开启远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;

-- 创建业务数据库
CREATE DATABASE databus, enterprise, imweb;

后端服务部署

配置文件修改

toml复制# configs/*/*.toml
dsn = "mysql_user:mysql_password@tcp(127.0.0.1:3306)/database_name"

服务管理

bash复制# 启动服务
sh start-启动服务

# 日志清理
sh clear_logs-清创日志

前端部署

环境配置

env复制# .env 文件配置
WEB_URL = 前端访问地址
JK_HOST = 127.0.0.1
DB_DATABASE = 数据库名
DB_PASSWORD = 数据库密码

编译打包

bash复制# 安装依赖
yarn install

# 生产环境构建
yarn run build

Nginx配置

nginx复制server {
    root /path/to/dist;
    
    location / {
        try_files $uri $uri/ /index.html;
        add_header Access-Control-Allow-Origin *;
    }

    # 禁用跨站访问
    add_header 'admin' 'X-Content-Type-Options nosniff';
}

注意事项

  1. PHP环境需禁用以下函数:system, exec, shell_exec
  2. 确保所有服务的端口未被防火墙拦截
  3. 生产环境建议配置HTTPS证书
  4. 定期检查服务进程状态
bash复制pgrep -a minio
ps aux | grep ssdb

版权声明:本教程版权归原作者所有,请勿用于商业用途。制作不易,请保留完整版权信息。

图片[1]-默往im搭建教程

感谢您的来访,获取更多精彩文章请收藏。

THE END
点赞7 分享