Node.js简介
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,非常适合运行在分布式设备的数据密集型的实时应用。Node.js 的包管理器 npm,是全球最大的开源库生态系统
典型的应用场景包括:
实时应用:如在线聊天,实时通知推送等等(如socket.io)
分布式应用:通过高效的并行I/O使用已有的数据
工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形界面应用程序
游戏类应用:游戏领域对实时和并发有很高的要求(如网易的pomelo框架)
利用稳定接口提升Web渲染能力
前后端编程语言环境统一:前端开发人员可以非常快速地切入到服务器端的开发(如著名的
纯Javascript全栈式MEAN架构)
node部署
wget https://nodejs.org/dist/v10.16.1/node-v10.16.1-linux-x64.tar.xz
tar xf node-v10.16.1-linux-x64.tar.xz -C /usr/local/
ln -s node-v10.16.1-linux-x64 node
配置node环境变量
vim /etc/profile.d/node.sh
export PATH=$PATH:/usr/local/node/bin
npm配置仓库源
npm config set registry https://registry.npm.taobao.org/
cat /root/.npmrc
registry=https://registry.npm.taobao.org/
测试项目hello world
vim example.js
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
启动项目
node example.js &>/dev/null &
安装依赖项
Node包管理器(npm)是Node自带的工具,可以轻松安装第三方Node模块。
它用一行命令就能从package.json文件中读出依赖项,把它们都装好
在项目根目录下执行:
npm install
你应该能看到一个新创建的node_modules目录,这个目录中放的就是程序的依赖项
doodoo
https://gitee.com/doodooke/doodoo
多多客(doodooke)是一款支持微信,百度,支付宝小程序的第三方SaaS平台
MySQL数据库准备
create database doodoo character set utf8 collate utf8_general_ci;
grant all on doodoo.* to 'doodoo'@'127.0.0.1' identified by '123456';
mysql -h 127.0.0.1 -udoodoo -p123456
redis准备
yum install redis
systemctl start redis.service
安装配置启动
git clone https://gitee.com/doodooke/doodoo.git
cd doodoo/
# 安装依赖
npm install
npm run bootstrap
# 启动
npm run dev
生成环境部署
通过开发环境安装,调试,配置完成之后,执行以下命令编译启动
npm run web:build
npm install -g pm2
pm2 start pm2.config.js
yarn global add pm2
npm run bootstrap:production
npm run web:build
pm2-runtime start pm2.config.js