




版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國閥門鑄件市場運行狀況及前景趨勢分析報告
- 2025-2030年中國鐵路設(shè)備行業(yè)發(fā)展狀況及營銷戰(zhàn)略研究報告
- 2025-2030年中國調(diào)節(jié)閥產(chǎn)業(yè)運行態(tài)勢及發(fā)展前景分析報告
- 2025-2030年中國蘋果汁市場發(fā)展規(guī)模及前景預(yù)測分析報告
- 中如何制作電子印章
- 2025-2030年中國福建燃氣市場運行狀況與前景趨勢分析報告
- 新疆工業(yè)職業(yè)技術(shù)學院《酒店服務(wù)技能實訓(xùn)》2023-2024學年第二學期期末試卷
- 齊齊哈爾工程學院《空竹》2023-2024學年第二學期期末試卷
- 廣東技術(shù)師范大學《文字與版式設(shè)計》2023-2024學年第二學期期末試卷
- 吉林師范大學《城市公用事業(yè)管理理論與實踐》2023-2024學年第二學期期末試卷
- 職業(yè)本科《大學英語》課程標準
- 修建水壩施工合同模板
- 北師大版三年級下冊除法豎式計算題練習100道及答案
- 房屋租給賣煙花的合同
- 十堰2024年湖北十堰市茅箭區(qū)教育局所屬學校招聘教師134人筆試歷年典型考題及考點附答案解析
- 《陸上風電場工程概算定額》NBT 31010-2019
- 展會展中營銷方案
- 2024屆遼寧省沈陽市名校中考四模化學試題含答案解析
- 2024年新高考改革方案政策
- 2024年許昌職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及答案解析
- 《新媒體創(chuàng)意短視頻制作》課件-運動短視頻制作關(guān)鍵技術(shù)
評論
0/150
提交評論