Follow Us

如何快速部署 LinkWeChat

1. 服务器配置

建议的服务器最低配置:

类型建议最低配置
操作系统CentOS 8.2
CPU4核
内存16G
带宽5M
硬盘100G

2. 环境准备

在部署项目之前,默认已经安装并拥有项目所依赖的环境,具体可参考下面1-8项步骤进行配置:
(如果懒得配置,也可以使用宝塔面板安装这些环境。)

1.JDK >= 1.8 (推荐1.8版本,CentOS8.2默认已安装)

2.Mysql >= 5.7.0 (推荐5.7.18版本)
   依赖安装:yum -y install numactl
             yum -y install libncurses*
             yum -y install libaio  (默认已安装)
   在线下载数据库:wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
  #解压安装包到指定目录(如指定目录不存在则需要先提前用 mkdir 创建),
  # 下方 /opt/disk 是服务器的一块数据盘挂载目录
   解压数据库文件:tar -zxvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz -C /opt/disk
   进入解压后目录:cd /opt/disk
       重命名目录:mv mysql-5.7.39-linux-glibc2.12-x86_64 mysql
   进入数据库目录:cd mysql      
 创建数据存储目录:mkdir data
 进入数据存储目录:cd data
  创建mysql用户组:groupadd mysql
  创建 mysql 用户:useradd -r -g mysql mysql
  将MySQL安装目录授权给mysql用户组的mysql用户:chown -R mysql:mysql ./
  创建 my_default.cnf 配置文件:vim /opt/disk/mysql/support-files/my_default.cnf  
     #将下方内容插入到配置文件中,保存并退出编辑
     #下方的配置中,指定了 MySQL 安装目录、MySQL 数据存储目录、MySQL 服务占用端口、MySQL 默认字符集、MySQL 日志文件位置、MySQL 进程文件位置等。 一定记得根据你实际的情况调整好。 
      [mysqld]
         sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
         basedir = /opt/disk/mysql
         datadir = /opt/disk/mysql/data
         port = 3306
         socket = /tmp/mysql.sock
         character-set-server=utf8
         log-error = /opt/disk/mysql/data/mysqld.log
         pid-file = /opt/disk/mysql/data/mysqld.pid
    #拷贝一份配置文件到 /etc 目录下,命名为 my.cnf。 
         cp support-files/my_default.cnf /etc/my.cnf
    安装并启动MySQL服务 
      使用 mysqld 命令来安装 MySQL 服务,并指定好用户名、MySQL 安装目录、MySQL 数据存储目录。 
         bin/mysqld --initialize --user=mysql --basedir=/opt/disk/mysql/ --datadir=/opt/disk/mysql/data/
    拷贝一份 MySQL 服务脚本到 /etc/init.d 目录下,命名为 mysql。 
         cp support-files/mysql.server /etc/init.d/mysql
    启动 MySQL 服务。 
         systemctl start mysql
    配置 MySQL 开机自启动。 
         systemctl enable mysql
    到此,MySQL 服务就安装完成了。但别着急,还需要做些配置才能真正用起来。 
    设置环境变量 
         配置好环境变量,我们才能方便的在任何目录下使用 MySQL 的命令。 
         # 1、打开 profile 文件
              vim /etc/profile
         # 2、在其中插入环境变量配置
              MYSQL_HOME=/opt/disk/mysql
              PATH=$MYSQL_HOME/bin:$PATH
              export MYSQL_HOME PATH
         # 3、重新加载 profile 文件,使最新配置生效
              source /etc/profile
              12345678910 
        登录并修改密码 
    第一次登录时,首先从日志文件中找到随机生成的密码。 
            cat /opt/disk/mysql/data/mysqld.log
        在日志文件中找到类似于下方输出的位置,其中 8QE2NEqhB:ks 就是密码。 
            [Note] A temporary password is generated for root@localhost: 8QE2NEqhB:ks
    登录到 MySQL 服务端。 
    有些时候随机生成的密码包含特殊符号,例如:&、/、.(你没看错,有时候最后有个 . 可千万别当作是句子结尾。 这种密码你在登录的时候,记得用 ' 单引号给它引起来。 例如:mysql -uroot -p'7AB5CDadE&' 
          mysql -uroot -p刚才从日志中找到的随机密码
      修改密码: 
          set password = password('新密码');
    创建用户并授权 
    这一步就要根据实际需要来操作: 
          grant all on *.* to root@'%' identified by '你的密码';

3.Redis >= 3.0
    1、wget http://download.redis.io/releases/redis-3.0.0.tar.gz
    2、tar xzvf  redis-3.0.0.tar.gz
  3、cd redis-3.0.0
  4、make
       在第四步可能发生错误,应该是没有安装c++编译环境,安装环境就行了,我在centos6.5上安装的时候,出现的问题都是没有c++环境,安装就行 了
     yum install gcc-c++
     安装完之后,再次进行make,应该还是通不过的,执行 make distclean 然后再执行make
     然后完成后,执行make test
     在这一步又有可能出错了 应该是tcl没有安装,安装tcl
     yum install -y tcl
       再次执行make test.
       然后 应该 是OK了。
       下面来点善后工作:
    1、cp redis-server /usr/local/bin/
    2、cp redis-cli  /usr/local/bin
     进入src目录
    3、mkdir /etc/redis3.0
    4、mkdir /var/redis3.0
     5、mkdir /var/redis3.0/log
     6、mkdir /var/redis3.0/run
     7、mkdir /var/redis3.0/6379
     8、cp redis.conf /etc/redis3.0/6379.conf
       修改配置项
       daemonize yes
      pidfile /var/redis3.0/run/redis_6379.pid
      logfile /var/redis3.0/log/redis_6379.log
     dir /var/redis3.0/6379
       运行
       redis-server /etc/redis/6379.conf
4.Nginx >= 1.18.0
5.Nacos >= 1.4.0
6.Node >= 10
7.xxl-job >= 2.3.1
8.rabbitMQ >=3.8(推荐3.8.6版本)

3. 其他准备

3.1 腾讯云cos

目前系统只针对腾讯云cos做支持,其他第三方对象存储可自行拓展。

购买地址:https://buy.cloud.tencent.com/price/cos

3.2 域名与https证书

域名需要与服务器同平台,并且域名备案的主体需要与使用的企业微信企业为同一主体。

购买地址(推荐腾讯云): https://dnspod.cloud.tencent.com/

4. 配置文件修改

4.1 新建命名空间

在后台命名空间中点击【新建命名空间】按钮,其中命名空间ID随机生成即可,命名空间名与描述随意填写:

4.2 导入配置

找到对应的命名空间导入配置,直接上传改zip文件即可:

4.3 配置bootstrap.yml

namespace:配置成自己项目的id, server-addr 配置成自己文档的nacos地址:

5. 后端配置修改

系统配置文件如下,各个模块的配置文件与每个代码模块相对应。

├── linkwe-api.yml						 
├── linkwe-auth.yml						
├── linkwe-common.yml					// 需要修改
├── linkwe-event-task.yml			
├── linkwe-file.yml						// 需要修改
├── linkwe-gateway.yml				
├── linkwe-scheduler.yml			// 需要修改
├── linkwe-wecome.yml				  
├── linkwe-wx-api.yml
├── bootstrap.yml							// 需要修改

5.1 linkwe-common.yml

  1. 移动端相关配置参数修改
  • ①taskFissionUrl,guideCodeUrl,guideGroupUrl, lostCustomerRedirectUrl,seasRedirectUrl,sopTagRedirectUrl 这几个键下对应的值中:http://demo.linkwechat.cn替换成自己企业的域名,同时/mobile/是对应部署的 H5 访问前缀;
  • ②baiduMapsAk:为百度地址开发者的ak,具体参考:https://www.themepark.com.cn/bddtfwyyaksqlc.html
  1. 数据库相关配置参数修改
  • url、username、 password 修改为当前企业相关的数据库账户密码等参数;
  1. redis,rabbitmq 相关配置参数修改
  • redis, rabbitmq修改为当前企业下的相关组件信息;
  1. 系统全局默认欢迎语修改
  • welcome-msg-default中的值可自定义,生效与添加客户欢迎语中。

5.2 lw-file.xml

cos 下的参数修改为本企业腾讯云 cos 相关值,同时注意 cosImgUrlPrefix 这个键下配置的 url,尾部需要添加 /。

5.3 linkwe-scheduler.yml

Addresses 修改为本企业 xxl-job 组件地址,ip 修改为当前 linkwe-scheduler 服务所在服务器地址。

6. 前端配置修改

6.1 基础说明

首先确保你本地的电脑安装了node(推荐v16.x版本)环境

仓库外层文件夹说明

linkwe-pc为电脑端项目

linkwe-mobile为移动端项目

项目运行,部署(以linkwe-pc为例,移动端项目同理)

进入项目文件夹:cd linkwe-pc,执行命令,安装依赖: npm i。

6.2 env.js

在 env.js 配置文件里的 development,test,production 分别为开发,测试,生产环境的配置:

6.3 nginx配置

以 production 环境为例,nginx 配置示例,其中 ‘/linkwechat-api’为 nginx 配置的接口转发路径

请替换为自己对应环境的配置,后端接口如不使用转发路径则置为空。

6.4 config.js

在 config.js 文件里修改项目相关配置信息,如公司名称,系统名称,logo 图片地址等:

7. 打包部署

7.1 后端打包部署

IDEA 直接点击 LinkWeChat-cloud(root) 下 Lifecycle 下 package,打包完成后,直接将要对应的 jar 放置到相应的服务器上。

7.2 前端打包部署

执行打包命令:

  • 生产环境包:npm run build;
  • 测试环境包:npm run test;

打包完成后把dist文件夹里的内容部署到对应域名的服务器中即可。

如需本地运行,执行npm run serve完成后即会自动打开浏览器访问页面:

其他两个移动端项目部署运行方式与以上PC端项目方式基本一致,不再赘述。

Our Services

Worpress

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Web Design

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Ecommerce

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Brand Now

SEO

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Our Team

zahera

Zahera

(HR)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Alex

Alex

(CEO)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Alex

Sara

(CCO)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Mark

Mark

(Manager)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Testimonials

  • Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,
    Safira
    (Quia, CEO)
  • At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
    Alana
    (Wirate, PA)
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
    Sara
    (Yahoo, Manager)

Our Partners