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礼包,享受各种福利,并且呵呵手游平台充值还有返利。