安装nodejs:

wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz

tar xvf node-v6.9.5-linux-x64.tar.xz

ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node


ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm
 

安装git:

大部分Linux都自带Git,输入yum list git查看,如果有,输入yum update git更新一下就好了 yum install git

没有git的话,可以走下面的方法:

yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
git 的安装细节介绍可以前往我的另一篇笔记: http://www.cnblogs.com/adouwt/p/7027368.html

安装:mongodb

进入文件夹:

cd /etc/yum.repos.d

用 vim新建一个文件 vim mongodb-org-3.6.repo (vim 有这个文件打开这个文件,没有的话新建这个文件,下面的b文件名应该是mongodb-org-3.6.repo)

将脚本写进文件:(参考官网的3.6版本)i => 写内容(可复制)=>esc(推出)  => wq! (保存修改并退出)

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=
enabled=
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

执行命令安装mongodb

sudo yum install -y mongodb-org

启动:

sudo service mongod start

停止:

sudo service mongod stop

 

使用:

mongo --host 127.0.0.1:27017

有下面的> 表示可以进入数据库进行 增删该查的操作了

下面的是一个向mongodb 写进一条数据的方法,具体的mongodb的语法,请进官网或者我的笔记学习。

至此,数据库搭建好了,nodejs安装OK了,git 也可以用了。接下来就是部署我们的代码,跑项目了。

进入我们的项目,跑脚本:

这时候,如果停止我们的数据库的话,跑脚本就会报错,因为代码里涉及数据库的调用

重启数据库,OK

输入IP:端口 就可以访问我们的项目了:(注意:阿里云服务器需要设置安全组规则,才能这样访问),可以翻到本页最后查看: 

通过ip访问不免显挫:要域名访问才是正常的浏览方式:这时候需要安装nginx,通过nginx的反向代理完成,这里可以看我的nginx的笔记:http://www.cnblogs.com/adouwt/p/7718127.html

跑项目的增强版本:刚才我们用node index.js 来启动我们的项目,如果是在我们的终端启动的话,终端一关,程序就断了,这样的话,可以进阿里云官网远程链接 然后这样启动项目,网页关了,它也是可以接着跑的,还有一个就是通过第三方工具 pm2  ,我采用的 是这个。详情: https://www.npmjs.com/package/pm2

安装这个:

pm2 启动:

报错,虽然全局安装了这个pm2 ,但是我们系统的bin 下面依旧没有这个pm2的命令,我们要做一下软连接,全局使用我们的 pm2命令。

查看我们的npm 包装在哪里; npm config get prefix

知道在哪里,就可以做链接了,

ln -s /root/node-v6.9.5-linux-x64/bin/pm2 /usr/local/bin/pm2

再执行下 pm2 :

可以用我们的pm2 跑脚本了:

 pm2 start /root/data/node/***/index.js

阿里云服务器的安全规则:需要配置安全规则的,红线处理位置

最新文章

  1. EPSON LQ610K 设置税控盘打印发票的格式
  2. jQuery的prop和attr方法之间区别
  3. MySQL为数据表的指定字段插入数据
  4. Unity GameObject.activeSelf, GameObject.activeInHierarchy,GameObject.SetActive和SetActiveRecursively
  5. Eclipse launch failed.Binary not found解决方案
  6. Django 下static的配置
  7. ichartjs
  8. iOS7、iOS8推送通知的区别
  9. Fiddler [Fiddler] Connection to localhost. failed.
  10. 阻塞IO
  11. 实战DeviceIoControl 之六:访问物理端口
  12. 原生js 遍历文件夹分析xml并保存
  13. (转)Pycharm在Ubuntu 16.04 系统中tensorflow导入报错
  14. 540. Single Element in a Sorted Array
  15. luogu3621 城池攻占 (倍增)
  16. Linux下终端录制工具-asciinema
  17. 【问题】Can't load AMD 64-bit .dll on a IA 32-bit platform
  18. 关于Bootstrap自定义图标
  19. NET设计模式 第二部分 结构性模式(12):享元模式(Flyweight Pattern)
  20. 【JavaScript代码实现四】获取和设置 cookie

热门文章

  1. WebStorm记录(2)
  2. IO流--与properties集合配合使用
  3. asp.net mvc cshtml (VIEWS)中怎么提供URL参数:
  4. 039、Data Volume 之 bind mount (2019-02-28 周四)
  5. window跟vue变量互相绑定
  6. C++ vector和list的主要用法区别
  7. 【二】JConsole、VisualVM
  8. 【VS2015】链接器错误link2001
  9. fail2ban 防爆破,防止CC 攻击
  10. PHPcms 缓存的读取和设置