热更新服务code-push-server


code-push-server搭建

一、环境

 

cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

 

二、安装配置

1、安装git和常用的命令

 

yum install lrzsz wget git-core vim screen npm  -y

 

2、下载mysql的rpm包 (版本目前是8.0.20)

需要安装对应版本的mysql 请移步: https://www.cnblogs.com/booksirrr/articles/13770075.html   mysql 8.0.20

cd /usr/local/src/

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

yum repolist all|grep mysql

yum install mysql-community-server -y

service mysqld start

service mysqld status

 

(1) 通过日志查看随机密码

grep "temporary password" /var/log/mysqld.log

 

(2) 进入mysql

mysql -u root -p

 

(3) 修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test.1234';

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test.1234' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Test.1234';

FLUSH PRIVILEGES;

 

3.安装code-push-server

(1) 下载code-push-server代码

git clone https://github.com/lisong/code-push-server.git

 

(2) 进入目录并安装资源

cd code-push-server && npm install

 

(3) 修改config.js文件,在db对象中添加数据库信息,参考如下

cd /usr/local/src/code-push-server/config

vim config.js

  db: {

    username: process.env.RDS_USERNAME || "root",

    password: process.env.RDS_PASSWORD || "Test.1234",

    database: process.env.DATA_BASE || "codepush",

    host: process.env.RDS_HOST || "127.0.0.1",

    port: process.env.RDS_PORT || 3306,

    dialect: "mysql",

    logging: false,

    operatorsAliases: false,

  },

 
   downloadUrl: "https://codepush.bwt18.com/download",
注:修改数据库密码
   downloadUrl修改成自己的域名
 

 

(4) 创建数据库表

cd ../

./bin/db init --dbhost localhost --dbuser root --dbpassword Test.1234

 

(5) 配置打包后的,bundle存储地址,这里配置loal本地也可以配置qiniu和OSS

//文件存储在本地配置 当storageType为local时需要配置

mkdir -p /Users/tablee/workspaces/storage

//文件下载地址 CodePush Server 地址 + '/download' download对应app.js里面的地址

mkdir -p /Users/tablee/workspaces/data

vim config/config.js

 

 //dataDir: process.env.DATA_DIR || os.tmpdir(),

      dataDir: "/Users/tablee/workspaces/data",

 

(6) 修改防火墙允许3000端口访问

 firewall-cmd --zone=public --add-port=3000/tcp  --permanent

firewall-cmd --zone=public --add-port=80/tcp  --permanent

firewall-cmd --zone=public --add-port=443/tcp  --permanent

firewall-cmd --reload

firewall-cmd --list-all

 

(7) 改好之后后台启动服务

cd /usr/local/src  

cp -a code-push-server /usr/local/

cd /usr/local/code-push-server
#后台启动
nohup node /usr/local/code-push-server/bin/www & 

ps -ef|grep 3000

 

(8) 浏览器测试打开

  8.8.8.8:3000/auth/login

默认账号:admin 密码:123456

 

 

===============================================================

参考博客:https://www.jianshu.com/p/417a165ca9d7

          https://www.jianshu.com/p/9eda447edc85

 

 

================================================================================

报错:

cd ../

./bin/db init --dbhost localhost --dbuser root --dbpassword Test.1234

{ Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client

    at Packet.asError (/usr/local/src/code-push-server/node_modules/mysql2/lib/packets/packet.js:708:17)

    at ClientHandshake.execute (/usr/local/src/code-push-server/node_modules/mysql2/lib/commands/command.js:28:26)

    at Connection.handlePacket (/usr/local/src/code-push-server/node_modules/mysql2/lib/connection.js:408:32)

    at PacketParser.Connection.packetParser.p [as onPacket] (/usr/local/src/code-push-server/node_modules/mysql2/lib/connection.js:70:12)

    at PacketParser.executeStart (/usr/local/src/code-push-server/node_modules/mysql2/lib/packet_parser.js:75:16)

    at Socket.Connection.stream.on.data (/usr/local/src/code-push-server/node_modules/mysql2/lib/connection.js:77:25)

    at emitOne (events.js:96:13)

    at Socket.emit (events.js:188:7)

    at readableAddChunk (_stream_readable.js:176:18)

    at Socket.Readable.push (_stream_readable.js:134:10)

at TCP.onread (net.js:559:20)

 

 

解决需要做如下操作:

   注: 如果出现上边报错,请参考https://blog.csdn.net/airdark_long/article/details/82588064

 

mysql -u root -p

更改加密方式

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test.1234' PASSWORD EXPIRE NEVER;

更改密码:该例子中新密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Test.1234';

刷新:

mysql> mysql> FLUSH PRIVILEGES;

 

 

 

 

 

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM