创建你自己的ACGN-Stock Game

前期准备

最近需要做一个ACGN-Stock原型站,于是在github上翻了翻,找到了PTT做的ACGN-Stock源码,地址如下。

https://github.com/mrbigmouth/acgn-stock

然后我们需要一台装有CentOS 7的主机。

一个冷静的头脑。

和一杯热腾腾的咖啡——毕竟安静的深夜更适合写代码不是吗?

当然,还有垫肚子用的零食QAQQQQ不准备的话就会像我现在一样饿哭!

开始折腾NodeJS

你问我为什么要装NodeJS?

那是因为NodeJS是部署Meteor的前置啊!

那我们为什么要装Meteor?

我也不知道,但ACGN-Stock上说要装了,装就是了!

编译安装NodeJS

从NodeJS的官网下载最新的二进制源码安装包,千万记得下载之前找个顺眼的目录,wget默认情况下是会下载到当前目录的。

1
wget https://nodejs.org/dist/v8.9.0/node-v8.9.0.tar.gz

如果在安装CentOS 7时选择了最小安装,bash会提示没有找到wget命令,使用以下命令来安装wget。

1
yum -y install wget

当下载完之后,我们可以通过tar命令来解压源码。

1
tar -zxvf node-v8.9.0.tar.gz

由于NodeJS下载速度比较慢,而且之后还要戒烟,这时候我们可以新开一个session来安装编译所必要的环境。

1
yum -y install gcc gcc-c++

等到node解压完成,我们就可以开始安装啦。

进入到解压目录,然后键入以下命令,其中–prefix所指定的是NodeJS的安装目录。

1
./configure --prefix=/usr/local/node

然后make就好了…理论上是这样的QAQ但我的CentOS并不这么听话,GCC版本过低,所以我理智的放弃了看上去高端大气的编译安装。


题外话:就在EPEL方式安装完后的五分钟,我就找到了CentOS的GCC版本超低的原因。

我…我忘记update安装源了…

心里难受说不出话。


通过EPEL库安装NodeJS

首先依然是先加载EPEL库。

1
yum install epel-release

然后依次执行下列命令来安装NodeJS和rpm软件包管理器。

1
2
yum -y install nodejs
yum -y install rpm

然后检测一下是否安装成功。

1
2
nodejs -v
rpm --version

搞定了,简单快捷,比编译安装不知道高到哪里去了!!!!!

开始折腾Meteor

官网给出了明确的安装方法。

1
curl https://install.meteor.com/ | sh

Meteor的下载速度极慢,我又懒得用代理或者镜像源,所以喝口咖啡吃点零食慢慢等就好。

然后我就后悔了…一个小时才下完QAQ

将github项目clone到本地

这个也很简单,随随便便就搞定。

如果你还没有安装git,请先安装git或者褪裙。

1
yum -y install git

然后将项目clone到本地。

1
git clone https://github.com/mrbigmouth/acgn-stock.git

再进入项目目录,根据ACGN-Stock的说明文档的进行操作。

1
2
meteor npm install --allow-superuser
meteor --allow-superuser

执行完毕后有以下回显。

=> Started proxy.                             
=> Started MongoDB.                           
=> Started your app.                          

=> App running at: http://localhost:3000/

理论上,到这里就结束了。

故障及排除

在这之前

如果你还没添加防火墙规则和关闭SELinux,请参照从零开始配置Nginx的那篇文章。

故障判断

俗话说得好,不是项目没有Bug,而是你没找到Bug(推锅。

访问 http://localhost:3000/ 后我们只能看到一片空白的界面,那么这到底是出Bug了还是Feature呢?

为了找到答案,我们换个目录新建一个MeteorApp。

1
2
3
meteor create text --allow-superuser 创建名为text的App
cd text
meteor run --allow-superuser

然后访问3000端口,大获成功。

好吧…我承认这应该是我的锅了QAQ

##故障排除
空白页面并不一定是什么都没有,首先我们来查看这个页面的源代码。

emmm好,我什么都看不懂,不过没关系,起码我们确定这个页面并不是真正的“空白”

有点累..下次再写(逃)