把Node.js项目部署到阿里云服务器(CentOs)

最近用node.js开发了一个web项目,开发完打算先部署到我自己买的阿里云学生服务器上,让客户先试用下网站(良心乙方)。不知道如何把node.js项目部署到阿里云服务器,在问了飞哥哥之后,在网上找了下教程,部署成功。把教程整合了一下,做下分享。

服务器

服务器选择了阿里云学生服务器:9.92一个月,适合用来个人开发测试。(广告:若要购买,可以填我的推荐码:0JFIBY)

  • 配置:图片描述

  • 系统:CentOS6.5 64位(Linux系统的一种)

配置环境

配置服务器环境

1.在阿里云管理控制台把云服务器实例启动

2.登入服务器:用Putty 或 Xshell(我使用的是xshell):
下载安装xsheel后,新建会话。
图片描述

图片描述

登入成功,如图:
图片描述

3.把yum更新到最新版本:

yum -y update

4.我们将使用最新源代码构建Node.js,要进行软件的安装,需要一组用来编译源代码的开发工具:

yum -y groupinstall "Development Tools" 

安装node.js

1.开始安装Node.js,先进入/usr/src文件夹,这个文件夹通常用来存放软件源代码:

cd /usr/src 

2.从Node.js的站点中获取压缩档源代码, 我选择的版本为v0.10.18:

wget http://nodejs.org/dist/v0.10.18/node-v0.10.18.tar.gz 

3.解压缩源文件,并且进入到压缩后的文件夹中:

tar zxf node-v0.10.18.tar.gz 
cd node-v0.10.18 

4.执行配置脚本来进行编译预处理:

./configure 

5.开始编译源代码

make 

6.当编译完成后,我们需要使之在系统范围内可用, 编译后的二进制文件将被放置到系统路径,默认情况下,Node二进制文件应该放在/user/local/bin/node文件夹下:

make install 

7.现在已经安装了Node.js, 可以开始部署应用程序, 首先要使用Node.js的模块管理器npm安装Express middleware 和forever(一个用来确保应用程序启动并且在需要时重启的非常有用的模块):

npm -g install express forever 

8.建立超级链接, 不然 sudo node 时会报 "command not found"

sudo ln -s /usr/local/bin/node /usr/bin/node 
sudo ln -s /usr/local/lib/node /usr/lib/node 
sudo ln -s /usr/local/bin/npm /usr/bin/npm 
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf 
sudo ln -s /usr/local/bin/forever /usr/bin/forever

安装mongodb(在项目中使用的数据库)

1.安装说明:

2.进入文件夹/usr/local,下载mongodb源代码:

cd /usr/local
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz

3.解压安装包,重命名文件夹为mongodb

tar zxvf mongodb-linux-x86_64-2.4.9.tgz 
mv mongodb-linux-x86_64-2.4.9 mongodb

4.在var文件夹里建立mongodb文件夹,并分别建立文件夹data用于存放数据,logs用于存放日志

mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs

5.打开rc.local文件,添加CentOS开机启动项:

vim /etc/rc.d/rc.local

6.将mongodb启动命令追加到本文件中,让mongodb开机自启动:

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

7.启动mongodb

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

8.看到如下信息说明已经安装完成并成功启动:

forked process: 18394
all output going to: /var/mongodb/logs/log.log

上传代码

上传代码可以考虑使用ftp(xftp、sftp等)、svn、git。我用的是xftp。
下载安装xftp后,启动xftp,新建会话:
图片描述

登入成功,如图:
图片描述

我把代码上传到了/home目录文件夹下。

启动应用

1.进入存放代码的目录,存放在/home/app目录下,server.js为程序入口文件

cd /home/app
sudo forever start server.js

2.检视运行中的应用:

sudo forever list 

3.如果需要关闭应用,命令如下:

sudo forever stop 0 

自此,没有意外的话,项目部署成功。


前轮
前端之路上的一颗小轮子,记录前端学习过程中的所记、所思、所得。

海潮迷

1.5k 声望
94 粉丝
0 条评论
推荐阅读
One Span
一行<span>标签实现一个小图标,更可以与<a>标签搭配形成导航栏(灵感来源于OneDIV网站)。 源码放在Github:[链接] Code 默认效果 {代码...} 与<a>标签搭配 {代码...} Example E-mail 默认效...

small2阅读 2.6k

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木65阅读 6k评论 16

从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木42阅读 7.2k评论 6

从零搭建 Node.js 企业级 Web 服务器(二):校验
校验就是对输入条件的约束,避免无效的输入引起异常。Web 系统的用户输入主要为编辑与提交各类表单,一方面校验要做在编辑表单字段与提交的时候,另一方面接收表单的接口也要做足校验行为,通过前后端共同控制输...

乌柏木33阅读 6.1k评论 9

从零搭建 Node.js 企业级 Web 服务器(五):数据库访问
回顾 从零搭建 Node.js 企业级 Web 服务器(一):接口与分层,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,控制层与服务层实现了业务处理过程,模型层定义了业务实体并以 对象-关系...

乌柏木34阅读 4.5k评论 9

从零搭建 Node.js 企业级 Web 服务器(十三):断点调试与性能分析
Node.js 官方提供了断点调试机制,出于安全性考虑默认为关闭状态,可以通过 node 参数 --inspect 或 --inspect-brk 开启,配合 IDE 能够非常方便地调试代码,本章就上一章已完成的项目 licg9999/nodejs-server-ex...

乌柏木31阅读 3.8k评论 9

从零搭建 Node.js 企业级 Web 服务器(八):网络安全
计算机网络依据 TCP/IP 协议栈分为了物理层、网络层、传输层、应用层,通常基础设施供应商会解决好前三层的网络安全问题,需要开发者自行解决应用层的网络安全问题,本章将着重表述应用层常见的网络安全问题及处...

乌柏木33阅读 5.7k评论 1

海潮迷

1.5k 声望
94 粉丝
宣传栏