您的位置:首页 > Web前端 > Node.js

Nodejs项目部署阿里云完整流程

2018-01-11 19:37 411 查看

nodejs项目部署阿里云完整流程

参考文档:http://blog.csdn.net/chenlinIT/article/details/73343793

细节注意:1.启动nodejs服务需要开启两个阿里云主机窗口,一个是数据库mongoose服务,一个是nodejs服务器 2.如果nodejs服务器监听你的阿里云主机ip失败,可以尝试使用
0.0.0.0
。(因为阿里云限制了端口号的,官方说是3398端口但是笔者尝试无效,0.0.0.0的ip表示监听当前主机所有端口号)

1.1-准备工作

1.运行一个nodejs程序需要哪些流程

(1)你的电脑安装了node

(2)你的电脑安装了npm

默认情况下安装了node,npm也一并安装了

(3)你的电脑安装了数据库

通常nodejs项目使用mongodb数据库

(4)编写你的项目源代码

(5)启动mongodb服务

cd到mongodb安装包路径使用终端命令:
mongod --dbpath=[你的data文件夹路径]


(6)启动node运行你的程序

cd到node.exe所在目录使用终端命令:
node [你的项目服务器入口文件app.js路径]


默认情况下安装node会自动帮你配置环境变量,我们可以在任意目录下使用node命令

2.服务端项目部署到阿里云的原理

无非只是将上一步的所有流程都安装在阿里云的主机上

可以理解为:购买了阿里云的服务器之后,阿里云给你单独准备了一台可以外网访问的电脑,然后我们要在这台电脑上来运行我们的nodejs程序

1.2-从零开始部署你的nodejs项目

1.进入阿里云购买一个服务器

目的:在阿里云购买一台电脑的使用权限,这台电脑的配置越牛逼,价格越贵,购买成功之后会告诉你这台电脑的ip

阿里云官网:https://www.aliyun.com/

云服务器ESC购买链接:https://www.aliyun.com/product/ecs

这里本人强烈推荐阿里云最新的
轻量服务器
业务,它直接支持node平台,省去很多麻烦的配置


轻量服务器购买链接:https://www.aliyun.com/product/swas





2.购买域名

没啥好说的,域名越好,价格越贵



3.购买数据库【可选】

我们购买服务器之后,默认服务器有一定的存储空间,如果用户量不是很大,没有必要单独买数据库

数据库的配置都是一样,如果是想学习nodejs开发,可以不买,直接使用服务器主机存储,能省一点钱是一点钱



4.进入控制台,开始部署项目



找到你刚才购买的轻量服务器





注意:服务器的终端是基于
linux
,与mac系统是一样的,与windows系统部分命令有一些区别




5.绑定域名:点击刚才的nodejs服务器进入详情界面绑定域名



6.使用
XShell
远程连接服务器

默认情况下,我们操作远程服务器是在阿里云的页面上点击远程连接,他会在网页上弹出你的远程服务器的终端窗口,我们直接这样操作不方便,使用
XShell
工具可以可视化的看到你的远程服务器上的一些文件

SChell还有一个好处就是我们将写好的nodejs项目文件上传到远程服务器更加方便

下载地址自行百度,这里笔者给出一个参考下载地址:http://rj.baidu.com/soft/detail/15201.html?ald

安装之后打开
XShell面板






7.配置阿里云服务器电脑的node环境和npm环境

使用
ls
命令查看服务器的文件列表

使用
cd
命令进入对应文件夹

使用
node -v
npm -v
检查你的node版本和npm版本

默认情况下阿里云已经配置好了node和npm

如果想要升级你的阿里云服务器的
node
版本和
npm
版本,按照顺序在终端输入以下命令(可选)

wget命令下载Node.js安装包:
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz[/code] 
该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译。

解压文件:
tar xvf node-v6.9.5-linux-x64.tar.xz


8.安装mongodb

在终端输入命令等待安装:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz[/code] 
耗时比较长,请耐心等待

解压安装包:
tar zxvf mongodb-linux-x86_64-3.4.5.tgz


重命令文件夹为mongodb:
mv mongodb-linux-x86_64-3.4.5 mongodb


创建存放mongodb数据的data文件夹:
mkdir /root/mymongodb
mkdir /root/mymongodb/data


注意:这里的
/root
指的是你的阿里云服务器根目录的名字,默认为root


9.启动mongodb

cd到你的mongodb的bin目录,例如我的mongodb安装路径为:
cd /root/mongodb/bin


运行mongodb服务:
mongod --dbpath=[刚才创建的data文件夹路径]
,例如我这里是
mongod --dbpath=/root/mymongodb/data






如果出现
wating for connection on port 27017表示成功


是不是感觉和在自己电脑部署基本一样?别急,才刚刚一半

10.mongodb服务需要单独占用一个终端窗口,所以暂时目前终端窗口不动,我们另起一个窗口来启动我们的nodejs项目

11.等等?目前我们的服务器上有我们的终端项目吗?好像没有吧?

所以关键的第11步,我们需要将我们的源代码部署到阿里云服务器主机上

12.下载
Xftp


Xftp
的作用就是文件传输到阿里云服务器

下载地址自行百度,这里笔者给出参考地址:http://rj.baidu.com/soft/detail/18249.html?ald

13.利用
Xshell
来启动
Xftp


Xftp下载后我们放一边,无需单独启动,因为只要你安装了
Xftp
,就可以使用
Xshell
来启动


如果你单独配置
Xftp
一定要注意端口号与我们的
Xshell
一致,仔细往上翻图片可以看到我的
Xshell
端口号是22



14.上传nodejs项目文件到阿里云服务器

启动xftp也需要输入你的服务器密码,别忘记了

右边是你的本地项目,左边是你的阿里云主机目录,直接拖拽即可



15.在阿里云服务器启动你的nodejs项目

重点,重点,重点

1.app.js文件监听的端口号不能写成你的服务器ip地址,建议写成
0.0.0.0


原因一言难尽,因为你不知道阿里云到底允许你监听什么端口(不知道什么端口是有权限监听的)

0.0.0.0与127.0.0.1都是指本机ip,他们唯一的的区别是,0.0.0.0相当于监听了这台服务器的所有端口

2.Xshell的那个mongodb的窗口千万别关,我们需要再开一个窗口来启动我们的nodej项目

//4.监听端口号
server.listen(3000,'0.0.0.0',function () {
console.log('服务器启动成功');
});




16.大功告成,直接在任何联网设备输入你的域名即可,这里我就用我的iphone输入我的域名咯

重点,重点,重点

1.如果域名未备案,会弹出该网站禁止访问,要求备案的页面,不用管,多刷新几次就OK

4G网络百分百不行,wifi刷新几次就可以

2.你的nodejs项目中除开导入模块之外,其他任何地方都不能出现相对路径
./
,原因是nodejs中的相对路径是相当于你输入node命令所在的目录而言的



补充说明,我们可以在终端中使用vim来在线修改代码,关于vim操作自行百度

viw [文件路径]
:查看文件源代码

键盘
i
:进入编辑

键盘
esc
退出编辑

控制台
:wq
:保存并且退出vim
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  NodeJS部署阿里云