,那么我来说一下步骤:
第一步当然是购买云服务器了,然后就是搭建环境安装node
在安装node之前,被迫安装了一个360浏览器(服务器上的IE实在是受不了),然后去nodejs官网下载对应的版本。
下载node-8.1.2 32 位 版本安装失败,提示此版本只支持win7以及window server 2008 R2以上本服务器刚好比R2低下载6.11.0也是提示相同的内容下载4.4.4 版本安装成功
PS: 下载的都是.msi
安装mongodb
服务器版本为windows server 2008与windows server 2008 R2的区别在于一个是基区windows vista 而R8基于windows7
所以在选择mongodb安装包时,选择windows vista版本(只有32位)
安装的版本为: mongodb-win32-i386-3.2.16-signed
安装完毕之后 在monodb安装目录下的bin文件下 执行cmd
此处的文件路径是你要做为启动的数据库的存储路径(需提前创建)
报错:
表示32bit版本的mongodb默认不开journal记录,如果你需要的话,需要在运行时加上--journal开关
于是重新输入cmd命令:
报另一个错:
wiredTiger 储存启动引擎在32位上不被支持,需要将储存启动引擎设置为mmapv1或者将你的系统升级为64位
于是输入命令
程序成功运行,在浏览器输入localhost:27017显示如下字段:
配置nginx
将自己之前做得一个nodejs+angular的项目copy到服务器上尝试运行,没想到直接成功了。原本以为node项目能跑起来就万事大吉,然而还是太年轻。跑起来只能通过localhost访问,输入公网IP一点卵用的没有,于是去查了一下node http模块的文档,发现:于是改了改打码:
prot = '你想要的端口',host = '你对应的公网IP';
结果运行时报错:
EADDRNOTAVAIL 表示 error address not available地址无法获取将host改为本服务器的ip地址之后,能成功打开。
于是得出一个结论:需要通过一种手段来使项目支持公网IP访问,这种手段————就是ngxin反向代理
随便去下载一个ngxin,然后在ngxin/conf文件夹下新建一个node.conf。
然后在同级目录下的nginx.conf中include。
node项目还是在localhost上运行,mongodb也开启,在使用localhost:3000能访问项目的情况下,双击执行ngxin或者在ngxin目录下打开cmd执行nginx.exe。
然后使用公网IP访问,非常完美。(就是网速有点慢,还偶尔会重定向,可能是ngxin配置有问题);
三、搞一个域名
在万网上随便买了一个域名,online后缀,很便宜 7块钱能用一年呢。然后配置一下域名解析,这一步也很完美。
但是!过几天再去访问的的域名返现无法访问了。
查了下原因是因为我没有备案(我去还要备案。。。);然后照着教程准备备案了,结果输入域名时提示域名后缀无法提交备案。才发现又踩了一个坑 online后缀不支持备案....不能备案又不能用,还不能转卖,这个域名买了有毛用啊。