Linux 本地code push服务搭建
参考:https://www.jianshu.com/p/9eda447edc85
https://blog.csdn.net/liuxingyuzaixian/article/details/100976199/
一安装nodejs
yum -y install nodejs
二安装npm
yum -y install npm
三安装mysql(已有忽略)
yum -y install mysql
四下载code-push-server服务源码
mkdir codepush
git clone https://github.com/lisong/code-push-server.git
cd codepush/code-push-server && npm install
五创建项目数据库
node ./bin/db init --dbhost 127.0.0.1 --dbuser root --dbpassword 数据库密码
执行成功后结果,在mysql中会新增一个codepush数据库,
说明:–dbhost 为MySQL数据库的ip地址(127.0.0.1表示本地)、-dbuser为本地MySQL服务数据库的登录用户名、–dbpassword为数据库密码
创建process.json配置文件
{"apps":[{"name":"code-push-server","max_memory_restart":"300M","script":"bin/www",//如果是使用方法二,也就是从github直接下载源码安装的话,script使用安装路径下的bin/www"instances":"max",//开启实例数量,max为cpu核数"exec_mode":"cluster",//集群模式,最大提升网站并发"env":{"NODE_ENV":"production","PORT":3000,"CONFIG_FILE":"/node-v10.14.0-linux-x64/lib/node_modules/code-push-server/config/config.js"//如果是使用方法二,也就是从github直接下载源码安装的话,CONFIG_FILE使用安装路径下的config/config.js}}]}
六配置项目config
cd到config目录下,执行vim命令来编辑config.js文件
vim config.js
代码如下(其中script是code-push-server的代码路径,CONFIG_FILE则使用刚才修改的config.js配置文件):
A数据库部分db,填写本地数据库相关信息,如登录账号、密码、端口号、IP地址
密码为 创建数据的密码
B.文件管理部分
<1>需先在服务器上创建两个空文件夹storage、data,用来存放发布时的项目版本.
/usr/local/src/code-push-bundle/下创建storage、data空文件
<2>在local>storageDir下添加storage文件夹位置地址
<3>在local>downloadUrl下添加服务器下载地址:http://ip地址:3000/download(注意:此处的ip地址为外网能访问的地址,供app可以直接访问下载更新包的地址,而非localhost或127.0.0.1)
<4>在common>dataDir下添加data文件夹位置地址
注意:此3处地址配置为更新文件存放本地操作,此时common>storageType:“local”
七启动code-push-server服务
nohup node ./bin/www &
说明:
<1>执行后,并按键盘任意键,进行确定。最后按exit来退出服务器连接。以此来保证服务是一直启动,且正常使用的。
<2>此处执行的是nohup node ./bin/www & 命令,而非node ./bin/www。因为需要将该服务一直启动着,所以需要用nohup。
b.执行查看命令:
ps aux|grep node
打开浏览器,访问项目网页地址:http://您的外网ip:3000
九修改服务启动端口
在部署时,若3000端口号被占用,无法启动时,通过修改 ./bin/www文件里的配置来更改启动端口
重启:node ./bin/www
十添加cors库(解决跨域访问)
npm install cors
编辑app.js,引用cors库
vim app.js
增加以下代码引用cors
varcors=require('cors')
app.use(cors());
npm install pm2 -g
列一下pm2几个命令:
pm2 start process.json// 开启
pm2 restart process.json//重启
pm2 stop process.json// 停止
// pm2查看日志
pm2 ls
pm2 show code-push-server
tail-f"output file path"
再用命令验证一下页面
curl-I http://xxxxxx:3000/
按照步骤走到这里会发现打不开页面,因为虚拟机中的Linux系统并没有开发端口,需要开放端口
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --reload
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
http://xxxxxx:3000/
默认账号admin,密码123456
————————————————
版权声明:本文为CSDN博主「木槿小凡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jin19920529/article/details/104431723
网友评论