韩国演唱会抢票系统生产环境:
系统:CentOS Linux release 7.2.1511 (Core)
Linux管理系统:宝塔 (免费版 7.0.3)
开发语言:NodeJS (v12.14.0)
NodeJS开发框架:ThinkJS
其它说明:本系统是可以在远程主机中使用,也可以在本地搭建环境使用。windows系统/Liunx系统 都可以。
流程:
1、购买服务器及域名
对于抢购秒杀类系统,服务器核心数越多是越好的,可以提高并发并行的处理速度;内存就是核心数 x 2 。如果按最多并发抢100张票来计算,理论带宽1M就可以了,所以说带宽也可以随便选了。(查看我总结的计算服务器带宽的公式)。
2、选择安装服务器系统
一定就是linux的了,一般都是使用CentOS,这是linux核心的一个发行版,版本就用最新的。
3、安装宝塔Linux管理系统
装了宝塔,使管理更方便,对于不了解liunx命令的用户,也是可以非常方便的管理自己的Linux系统了,更显高大上。
4、宝塔配置
宝塔管理员帐号密码都是随机字符,想改就改成自己好记的,不改也是安全的,但是要在本地备份好这些信息,防止不必要的麻烦。
宝塔默认端口8888,要修改掉,修改成5位的不是重复数字的端口。但是像现在的阿里云、腾讯去等,管理后台都是有安全策略设置的,提前把你要按的端口放通。宝塔中放通服务的你要改的端口,之后按提示修改。
5、项目运行环境
到宝塔办件商店,安装Nginx服务器、PureFTPd、MySQL、PM2(NodeJS管理器),PM2中内置node.js + npm + nvm + pm2.x 。安装的时候要把“首页显示”的开关打开,这样在宝塔首页就可以看到全部软件了,方便使用这些工具。现在发现宝塔越做越好了,越来管理越方便,越来越傻瓜似的,哈哈。
6、创建项目目录
创建网站,在添加网站的时候,选项中同时创建FTP和数据库。
7、配置PM2
宝塔首页最下方,输入或选择项目根目录、启动文件名、项目名称。
8、上传项目源码
宝塔 >> 网站 >> [对应的网站点进根目录] >> 上传,如果上传的是压缩包,可以选中文件在线解压,文件位置不对,可以剪切/粘贴。
9、导入数据库文件
导入数据库文件,修改项目中/src/[公共模块]/adapter.js 内的数据库信息。一定要改对,改错了,运行项目提交登录时,前端返回500,终端提示:
0 |
Error: ER_ACCESS_DENIED_ERROR: Access denied for user '[数据库帐号]'@'localhost' (using password: YES) |
查了好一会,最后才发现,我把FTP信息当数据库信息复制的,真是愁……
10、npm安装项目依赖
上图的的图标是宝塔SSH终端,命令行管理工具,挺方便,但是个人还是没用习惯,所以还是用我本地的MobaXterm牛逼工具。
——————–
因为项目在本地开发时,npm安装的依赖时,有些依赖没有使用 –save 选项保存到package.json,所以造成运行项目时因缺少依赖而报错。
npm start 运行nodejs项目,之后按提示安装依赖,–save 保存package.js ,但是安装依赖时新报错,如下图:
0 1 2 3 4 |
17 packages are looking for funding run `npm fund` for details found 57 vulnerabilities (22 low, 6 moderate, 28 high, 1 critical) run `npm audit fix` to fix them, or `npm audit` for details |
发现57个漏洞(22个低,6个中等,28个高,1个严重)
提示运行npm audit fix 或者 npm audit
0 1 2 3 4 |
# npm audit fix ... fixed 0 of 57 vulnerabilities in 6289 scanned packages 2 package updates for 57 vulnerabilities involved breaking changes (use `npm audit fix --force` to install breaking changes; or refer to `npm audit` for steps to fix these manually) |
再来
0 1 2 3 4 5 6 7 |
# npm audit fix --force ... 25 packages are looking for funding run `npm fund` for details fixed 57 of 57 vulnerabilities in 6289 scanned packages 2 package updates for 57 vulnerabilities involved breaking changes (installed due to `--force` option) |
可以了,查看一下
0 1 2 3 4 5 |
# npm audit === npm audit security report === found 0 vulnerabilities in 4832 scanned packages |
这回可以正常的安装依赖了。
npm start 运行nodejs项目,直到没有缺少依赖的报错,最终正常了,并没有其它问题,正常运行thinkjs的提示如下:
0 1 2 3 |
# npm start > concert@1.0.0 start /www/wwwroot/www_xxx_xxx/concert > node production.js |
现在就可以愉快的在生产环境中测试项目了。
《韩国演唱会抢票系统生产环境(Linux)配置记录》