參考說明部署nginx cluster pm2 ker_第1頁
參考說明部署nginx cluster pm2 ker_第2頁
參考說明部署nginx cluster pm2 ker_第3頁
參考說明部署nginx cluster pm2 ker_第4頁
參考說明部署nginx cluster pm2 ker_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

n ////constKoa=創(chuàng)建一個Koa對象表示webapp本身constapp=new對于任何請求,appapp.use(async(ctx,next)=>Math.random()>0.9?aaa():awaitctx.response.type='text/html';ctx.response.body='<h1> o,koa2!</h1>';if{console.log('appstartedatport}elsemodule.exports=}//varhttp=require('http');setInterval(async()=>{try}catch(error)}},//varcluster=varosrequire('os'獲取CPUvarnumCPUs=os.cpus().length;varprocess=console.log('numCPUs:',numCPUs)varworkers={};if(cluster.isMaster)cluster.on('death',function(worker)當一個工作進程結(jié)束時,重啟工作進程deleteworkers[worker.pid];worker=cluster.fork();workers[worker.pid]=初始開啟與CPUfor(vari=0;i<numCPUs;{varworker=cluster.fork();workers[worker.pid]=worker;}}else工作進程分支,啟動服務(wù)varapp=require('./app');app.use(async(ctx,next)=>{console.log('worker'+cluster.worker.id+',PID:'+process.pid)}process.on('SIGTERM',function()forfor(varpidin{}pose.ymlroot@3:/root/source/#scp-rmini-01 git(實際工作中)deploy(debug)內(nèi)建負載均衡(使用Nodecluster集群模塊、子進程,可以參考的《深入淺出node.js》一書線程守護,keepLinux(stable&MacOSx(stable&Windows(stable).多平臺支持 提供HTTPAPInpmnpminstall-gpm2startapp.js--watch-i// ipm2stoppm2pm2startapp.js-imax根據(jù)機?CPU-script:app.jsinstances:2watch:true NODE_ENV:pm2linkpm2link8hxvp4bfrftvwxnuis7ndy58fvuf7lTARO-pm2pm2yumyuminstallaptaptinstall##/etc/nginx/sites-serverlistenlocation/{;root/root/source/taro-indexindex.html}}驗證Nginxnginx-重新啟動servicenginxnginx-s##/etc/nginx/sites-#serverlistenlocation/{;root/root/source/taro-node/dist;indexindex.htmlindex.htm;}location~\.(gif|jpg|png)$root/root/source/taro-}location/api;$}}nginx-#nginx:theconfigurationfile/etc/nginx/nginx.confsyntaxisok#nginx:configurationfile/etc/nginx/nginx.conftestisservicenginxnginx-Docker容一般為一般為三個概Docker1.拉取鏡##拉 dockerpulldockerimagesmkdirecho odocker!!'>># dockerrun-p80:80-v$PWD/www:/usr/share/nginx/html-ddockerdockerdockerps-a偽終端ff6容?的t選項讓Docker分配一個偽終端(pseudo-tty)并綁定到容?i則讓容?dockerexec-itff6dockerstopdockerrmFROMFROMRUNecho o,Kaikeba!</h1>'>dockerbuild-tmynginxddockerrun-p80:80-dnpminit-npminit-ynpmikoa-s//{"name":"version":"main":"app.js","scripts":{"test":"echo\"Error:notestspecified\"&&exit ":"author":"license":"ISC","description":"myappp","dependencies":{"koa":}}}////constKoa=require('koa')constapp=newKoa()app.use(ctx=>{Math.random()>0.8?abc():''ctx.body=' oDocker'app.listen(3000,()=>{console.log('appstartedatFROMnode:10-alpine ADD. WORKDIR/appRUNnpminstallEXPOSE3000CMD["node",dockerbuild-tmynodedockerrun-p3000:3000-d##.dockerignore////process.yml-script:app.jsinstances:2watch:true NODE_ENV:##FROMkeymetrics/pm2:latest-alpineWORKDIR/usr/src/appADD.RUNnpmconfigsetregistrynpmiEXPOSECMD["pm2-runtime","start",&&dockerbuild-tmypm2dockerrun-p3000:3000-dcontainer_name:app-pm2build:# -.:/usr/src/app- -recreate強制重建容buildposeup-d- -recreate--version:'3.1'image:nginx:kaikeba-pose#poseup-部署Mongo+version:'3.1'image:mongorestart:always-image:mongo-expressrestart:always-////constmongoose=1.mongoose.connect("mongodb://mongo:27017/test",{useNewUrlParser:true});constconn=mongoose.connection;conn.on("error"console.error("連接數(shù)據(jù)庫失敗//constmongoose=require('mongoose');mongoose.connect('mongodb://mongo:27017/test',{useNewUrlParser:true});constCat=mongoose.model('Cat',{name:Stringconstkitty=newCat({name:'Zildjian'});kitty.save().then(()=>console.log('meow'));app.use(asyncctx=>ctx.body=awaitWebHook實現(xiàn)CIvarvarhttp=varcreateHandler=varhandler=createHandler({path:'/webhooks',secret:'myHashSecret'//上面的secret保持 functionrun_cmd(cmd,args,callback)varspawn=require('child_process').spawn;varchild=spawn(cmd,args);varresp=child.stdout.on('data',function(buffer){resp+=buffer.toString();child.stdout.on('end',function(){callback(resp)}http.createServer(function(req,{handler(req,res,function{res.statusCode=404res.end('nosuchlocation')handler.on('error',function{console.error('Error:',handler.on('*',function{console.log('Received*', run_cmd('sh',['./deploy-dev.sh'],function(text){handler.on('push',functi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論