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;