Node.js簡介
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境氧秘,用來方便地搭建快速的易于擴展的網(wǎng)絡(luò)應(yīng)用元镀。Node.js 使用了一個事件驅(qū)動硬爆、非阻塞式 I/O 的模型潮改,使其輕量又高效热康,非常適合運行在分布式設(shè)備的數(shù)據(jù)密集型的實時應(yīng)用讯沈。Node.js 的包管理器 npm凝果,是全球最大的開源庫生態(tài)系統(tǒng)
典型的應(yīng)用場景包括:
實時應(yīng)用:如在線聊天祝迂,實時通知推送等等(如socket.io)
分布式應(yīng)用:通過高效的并行I/O使用已有的數(shù)據(jù)
工具類應(yīng)用:海量的工具,小到前端壓縮部署(如grunt)器净,大到桌面圖形界面應(yīng)用程序
游戲類應(yīng)用:游戲領(lǐng)域?qū)崟r和并發(fā)有很高的要求(如網(wǎng)易的pomelo框架)
利用穩(wěn)定接口提升Web渲染能力
前后端編程語言環(huán)境統(tǒng)一:前端開發(fā)人員可以非承亡ǎ快速地切入到服務(wù)器端的開發(fā)(如著名的
純Javascript全棧式MEAN架構(gòu))
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環(huán)境變量
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文件中讀出依賴項四啰,把它們都裝好
在項目根目錄下執(zhí)行:
npm install
你應(yīng)該能看到一個新創(chuàng)建的node_modules目錄,這個目錄中放的就是程序的依賴項
doodoo
https://gitee.com/doodooke/doodoo
多多客(doodooke)是一款支持微信,百度粗恢,支付寶小程序的第三方SaaS平臺
MySQL數(shù)據(jù)庫準(zhǔn)備
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準(zhǔn)備
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
生成環(huán)境部署
通過開發(fā)環(huán)境安裝柑晒,調(diào)試,配置完成之后眷射,執(zhí)行以下命令編譯啟動
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