1. 手游平台十大排名
1、巴兔游戲盒子
中國比較領先的手游福利平台,近5000餘款熱門手游,免費送首充,充值自動打折,折扣低至3折,上線送VIP,免費領元寶,絕對玩手游必備神器。
2. PM2實用指南及容器Docker部署
Node.js默認單進程運行,對於32位系統最高可以使用512MB內存,對於64位最高可以使用1GB內存。對於多核CPU的計算機來說,這樣做效率很低,因為只有一個核在運行,其他核都在閑置,PM2利用的node原生的cluster模塊可以順利解決該問題。
pm2是一個帶有負載均衡功能的應用進程管理器,可以使node服務在後台運行。
安裝npminstallpm2-gPM2常用命令app.js為api-service服務的啟動程序,在生產環境中使用pm2進行管理
啟動
pm2startapp.js--nameapi-servicepm2startapp.js--watch#實時監控app.js的方式啟動,當app.js文件有變動時,pm2會自動reload查看進程
pm2listpm2show0或者#pm2info0#查看進程詳細信息,0為PM2進程id復制代碼監控
pm2monit停止
pm2stopall#停止PM2列表中所有的進程pm2stop0#停止PM2列表中進程為0的進程重載
pm2reloadall#重載PM2列表中所有的進程pm2reload0#重載PM2列表中進程為0的進程重啟
pm2restartall#重啟PM2列表中所有的進程pm2restart0#重啟PM2列表中進程為0的進程刪除PM2進程
pm2delete0#刪除PM2列表中進程為0的進程pm2deleteall#刪除PM2列表中所有的進程自動啟動文件生成腳本pm2ecosystem創建文件:/api-service/ecosystem.config.js
mole.exports={apps:[{name:"api-service",script:"app.js",merge_logs:true,max_restarts:20,instances:1,max_memory_restart:"2G",cwd:"/website/api-service/",env:{NODE_ENV:"development",},env_proction:{NODE_ENV:"proction",},},],};說明:
apps:json結構,apps是一個數組,每一個數組成員就是對應一個pm2中運行的應用
name:應用程序的名稱
cwd:應用程序所在的目錄
script:應用程序的腳本路徑
exec_interpreter:應用程序的腳本類型,這里使用的shell,默認是nodejs。
min_uptime:最小運行時間,這里設置的是60s即如果應用程序在60s內退出,pm2會認為程序異常退出,此時觸發重啟max_restarts設置數量
max_restarts:設置應用程序異常退出重啟的次數,默認15次(從0開始計數)
exec_mode:應用程序啟動模式,這里設置的是cluster_mode(集群),默認是fork
error_file:自定義應用程序的錯誤日誌文件
out_file:自定義應用程序日誌文件
pid_file:自定義應用程序的pid文件
watch:是否啟用監控模式,默認是false,如果設置成true,當應用程序變動時,pm2會自動重載,這里也可以設置你要監控的文件。
執行腳本pm2startapp.js--nameapi-servicepm2startapp.js--watch#實時監控app.js的方式啟動,當app.js文件有變動時,pm2會自動reload0查看進程
pm2startapp.js--nameapi-servicepm2startapp.js--watch#實時監控app.js的方式啟動,當app.js文件有變動時,pm2會自動reload2Dockerfile上面介紹的安裝、部署、啟動等操作都可以使用Docker簡單的完成,關於Docker的使用可以參閱《面向WEB開發人員的Docker》。一般項目完整的環境包括Node作為後台服務,Vue或者Angular作為前端,那麼生產環境可以選擇Nginx+Node+pm2,Nginx作為Web項目的入口。
這里在創建Dockerfile是以nginx:1.21.1-alpine作為基礎,完整代碼如下:
FROMnginx:1.21.1-alpine#-sf/dev/stdout/var/log/nginx/access.log&&ln-sf/dev/stderr/var/log/nginx/error.log#安裝nodejsENVNODE_VERSION16.6.1RUNaddgroup-g1000node&&adser-u1000-Gnode-s/bin/sh-Dnode&&apkadd--no-cachelibstdc++&&apkadd--no-cache--virtual.build-depscurl&&ARCH=&&alpineArch="$(apk--print-arch)"&&case"${alpineArch##*-}"inx86_64)ARCH='x64'CHECKSUM="";;*);;esac&&if[-n"${CHECKSUM}"];thenset-eu;curl-fsSLO--compressed"https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz";echo"$CHECKSUMnode-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"|sha256sum-c-&&tar-xJf"node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"-C/usr/local--strip-components=1--no-same-owner&&ln-s/usr/local/bin/node/usr/local/bin/nodejs;elseecho"Buildingfromsource"#backupbuild&&apkadd--no-cache--virtual.build-deps-fullinutils-goldg++gccgnupglibgcclinux-headersmakepython3#gpgkeyslistedathttps://github.com/nodejs/node#release-keys&&forkeyin\\\\\\;dogpg--batch--keyserverhkps://keys.openpgp.org--recv-keys"$key"||gpg--batch--keyserverkeyserver.ubuntu.com--recv-keys"$key";done&&curl-fsSLO--compressed"https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz"&&curl-fsSLO--compressed"https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc"&&gpg--batch--decrypt--outputSHASUMS256.txtSHASUMS256.txt.asc&&grep"node-v$NODE_VERSION.tar.xz$"SHASUMS256.txt|sha256sum-c-&&tar-xf"node-v$NODE_VERSION.tar.xz"&&cd"node-v$NODE_VERSION"&&./configure&&make-j$(getconf_NPROCESSORS_ONLN)V=&&makeinstall&&apkdel.build-deps-full&&cd..&&rm-Rf"node-v$NODE_VERSION"&&rm"node-v$NODE_VERSION.tar.xz"SHASUMS256.txt.ascSHASUMS256.txt;fi&&rm-f"node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"&&apkdel.build-deps#smoketests&&node--version&&npm--version#NODEJS服務ENVSERVICE_WORKDIR=/webapps/api-serviceWORKDIR$SERVICE_WORKDIRCOPY./api-service/package.json/webapps/api-service/package.jsonRUNnpminstall&&npmcacheclean--forceRUNnpminstallpm2-gCOPY./api-service/config/webapps/api-service/configCOPY./api-service/src/controllers/webapps/api-service/src/controllersCOPY./api-service/src/models/webapps/api-service/src/modelsCOPY./api-service/src/services/webapps/api-service/src/servicesCOPY./api-service/src/routers/webapps/api-service/src/routersCOPY./api-service/src/utils/webapps/api-service/src/utilsCOPY./api-service/app.js/webapps/api-serviceCOPY./api-service/ecosystem.config.js/webapps/api-serviceRUNmkdir~/.pm2RUNchmod755-R~/.pm2#VUE前端WORKDIR/webapps/appCOPY./dist/webapps/appCOPY./etc/nginx/default.conf/etc/nginx/conf.d/RUNchmod755-R/webapps/app&&chmod755-R/usr/local/bin&&chmod755-R/webapps/api-serviceEXPOSE80WORKDIR/webapps/api-serviceCOPYstart.sh.CMD["./start.sh"]./start.sh的腳本如下:
pm2startapp.js--nameapi-servicepm2startapp.js--watch#實時監控app.js的方式啟動,當app.js文件有變動時,pm2會自動reload4nginx配置文件./etc/nginx/default.conf的代碼如下:
pm2startapp.js--nameapi-servicepm2startapp.js--watch#實時監控app.js的方式啟動,當app.js文件有變動時,pm2會自動reload5作者:天行無忌3. 十大折扣手游平台排行榜
十大折扣手游平台排行榜如下:
1、咪嚕手游盒子
一款手機必備的游戲盒子,獨家禮包領取、注冊即送首充。為玩家推送變態、無限元寶手游。至尊VIP、海量鑽石元寶、獨家禮包上線即送,開局你就是土豪。一款專門針對手機游戲愛好者設計推出的福利app平台,平台自上線以來廣受用戶好評。
2、九妖游戲盒子
九妖游戲app是巴兔旗下的一款匯聚超多手游福利的游戲福利app,用戶可以領取APP提供的首充獎勵資格,您在線進行游戲充值的時候可以額外的獎勵。不同的手游可以享受到的福利不一樣,用戶可以根據自己的情況選擇對應的福利。
3、愛趣手游盒子
愛趣游戲盒子,國內領先的BT手游平台,規模國內領先,為玩家打造更好的游戲體驗,享受手游樂趣。所有游戲均為官方定製,官服品質,SF體驗,所有游戲禮包均免費領取。
4、巴兔游戲盒子
巴兔游戲盒子app是一款很不錯的游戲盒子軟體,中國領先的手游福利平台,免費送首充,充值自動打折,折扣低至3折,上線送VIP,免費領元寶,近5000餘款熱門手游,規模國內領先,絕對玩手游必備神器。
5、277游戲盒子
277游戲app中有著各種各樣的好玩的手機游戲,玩家想要的種類應有盡有,無限版、私服、gm版、滿V版、變態版等所有版本手游全部都有。各種福利活動,玩游戲全免費,大幅度、游戲抽取獎品、專屬禮包領不停。
6、可盤游戲盒子
可盤游戲是全網最大的BT手游、破解手游以及手游折扣充值平台。豐富大量的折扣游戲優惠輕松領取!每日推薦你喜歡的類型游戲;豐富的多種福利相送。
7、3733游戲盒子
3733游戲盒是喜愛手遊玩家一個不可錯過的手游盒子,容納了市面上所有最新、最熱、最好玩的安卓手游、ios版手游、好玩的變態手游等下載,無需充值,上線就送,享受滿VIP特權。
8、早游戲盒子
早游戲盒子,非常好用的游戲輔助軟體。上線送VIP,超多游戲特權,海量元寶免費領取!每筆充值都有返利,還有優惠折扣,用最少的錢,獲取最大的收益!手機號一鍵注冊,簡單快捷,安全有保障。
9、樂嗨嗨手游盒子
樂嗨嗨游戲app是全網最大的BT變態手游以及手游折扣充值平台!是最全最省最便捷的手機游戲折扣平台,內有900多款游戲,完美折扣福利,內置開服表,千款禮包自助領取,充值折扣全程自已操作,方便快捷。
10、呵呵手游盒子
呵呵手游app是一款專注於vip折扣充值、bt游戲破解的手游盒子,呵呵手游盒子上有各種各樣的游戲裡面,上線就能領取絕版vip禮包,享受各種福利,並且呵呵手游平台充值還有返利。