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

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

服务器

服务器选择了阿里云学生服务器:9.92一个月,适合用来个人开发测试。

配置:

系统: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文件夹,这个文件夹通常用来存放软件源代码:

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿里云本文不做描述. 实用工具 首先进入阿里云后先要升级下apt-get, 并下载所需软件 sudo apt-get update sudo apt-get install vim git wget tmux 我还会使用zsh和oh-my-zsh来替换bash sudo apt-get install zsh # 终端下打以下命令 wget --no-check-certif

  • 阿里云ECS centos6.8下安装配置MySql5.7的教程

    阿里云默认yum命令下的MySQL是5.17****,安装mysql5.7之前先卸载以前的版本,包括清除以前的数据库--查看/var/lib/mysql下,如果有历史文件备份后清除. 1.从https://dev.mysql.com/downloads/repo/yum/查找合适的rpm下载 2.下载完成后,执行命令"yum localinstall mysql-community-release-el6-5.noarch.rpm": 3.完成后,执行命令"yum insta

  • CentOS7 阿里云的yum源使用详解

    CentOS 7 使用阿里云的yum源 1. 备份原来的yum源 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2.设置aliyun的yum源 sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3.添加EPEL源 EPEL(http://fedorap

  • 阿里云CentOS7安装Mongodb教程

    一.概述 近日要在新的CentOS系统上安装MongoDB,某度结果后直接从Mongo官网直接获得3.2版本的下载链接,结果在下载时发觉速度慢的可怜.迫于无奈,只能找国内的镜像下载.切换国内的安装源后,使用yum的方式安装后发现,安装的MongoDB版本居然是2.8的.一番研究后,贴出以下操作方式,提供给后人操作. 二.操作过程 1.首先更新一下包吧,多更无害. sudo yum -y update 2.在/etc/yum.repos.d 创建一个 mongodb-org.repo 文件 sud

  • CentOS6.8使用cmake安装MySQL5.7.18

    参照网上资料在CentOS6.8服务器上使用cmake安装了MySQL5.7.18,安装过程中遇到了各种各样的问题,大多问题在网上都能找到解决方法,解决不了的问题我就卸了装.装了卸,最终装成功了,安装过程整理一下,存档备用. 安装MySQL相关依赖: yum -y install gcc gcc-c++ gcc-g77 make cmake bison ncurses-devel autoconf automake zlib* fiex* libxml*  libmcrypt* libtool-

  • 阿里云 Centos7.3安装mysql5.7.18 rpm安装教程

    卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包.因为MariaDB和MySQL可能会冲突,故先卸载MariaDB. 1.安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载 [root@iZwz94qazh62gk5ewl4ei2Z home]# rpm -qa | grep -i mariadb  mariadb-libs-5.5.52-1.el7.x86_64 [root@iZwz94qazh62g

  • 阿里云Centos7安装LNMP+wordpress

    1. 安装Nginx #yum install nginx #配置文件处于/etc/nginx #systemctl start nginx #启动nginx #systemctl enable nginx.service # 设置为开机启动 #systemctl status firewalld #检查防火墙,如果为active (running),则 #vim /etc/firewalld/zones/public.xml # 在zone <zone> - <service name

  • 阿里云CentOS7搭建Apache+PHP+MySQL环境

    最近要搭建一个阿里云的LMAP环境,选了CentOS7来做搭建. 1.Apache Centos7默认已经安装httpd服务,只是没有启动. 如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start httpd.service 设置开机自动启动:systemctl enable httpd.service Apache配置文件:/etc/httpd/conf/httpd.conf 项目默认存放目录为/var/www/html 你可以用vi来编辑或

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

    最近用node.js开发了一个web项目,开发完打算先部署到我自己买的阿里云学生服务器上,让客户先试用下网站.不知道如何把node.js项目部署到阿里云服务器,在问了飞哥哥之后,在网上找了下教程,部署成功.把教程整合了一下,做下分享. 服务器 服务器选择了阿里云学生服务器:9.92一个月,适合用来个人开发测试. 配置: 系统:CentOS6.5 64位(Linux系统的一种) 配置环境配置服务器环境 1.在阿里云管理控制台把云服务器实例启动 2.登入服务器:用Putty 或 Xshell(我使用

  • 详解J2EE开发的网站部署到阿里云服务器的方法

    呐呐呐,做Java呢,最重要是要把自己的"作品" 部署到公网上去啦. 特别是初学者,需要向面试官证明自己会什么,这个真的就很重要啦,空口无凭,为什么面试官就相信你的简历内容是真的呢? 最好的办法当然就是把作品放在公网上,show 他一脸啦 对于已经参加工作的同事,这个反倒是比较简单的,因为在工作中,部署一个项目无非就是通过ftp把.war(或者其他形式)传递上去,然后重启tomcat, 等一等就完成了. 可是,如果是学习者,比已经工作的人员面临的挑战更大,为什么呢? 因为手上没有一个已

  • javaWeb项目部署到阿里云服务器步骤详解

    记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以完成打包,如下图: 2.安装Xshell和Xftp两种软件 简单介绍下这两种软件作用(详情请百度相关文档) Xshell:通过网络连接到远程服务器主机. Xftp:能在Linux.Unix和Windows之间互传文件. 3.通过Xshell连接远程主机,如下图    4.创建会话完成,点击连接,显示

  • SpringBoot项目部署到阿里云服务器的实现步骤

    目录 一.申请阿里云服务器 二.Xshell 的安装使用 三.云服务器上jdk的安装 四.linux云服务器安装mysql 五.部署SpringBoot项目 SpringBoot项目部署到阿里云linux服务器全流程 文章里所有需要的软件.jdk.mysql.xshell等下载地址: Xshell 5 下载地址:https://www.jb51.net/softs/56322.html jdk下载地址:https://www.jb51.net/softs/698365.html tomcat下载

  • 关于将Web项目部署到阿里云服务器(5个步骤搞定)

    1.先登录阿里云网站注册账号,选择服务器类型(我用的是 云服务器ECS), 如果你还是在读大学生可享受优惠价,最低好像是9.9元一月.之后勾选系统镜像. 2.购买好之后登录阿里云控制台. 找到自己的云服务器实例,可以点击远程连接然后进入远程桌面看看. 也可以在Windows本机端下的 远程桌面连接 如下图, 步骤 : 1.找到开始菜单下远程桌面连接 2. 输入 公网ip地址 3. 输入用户名:Administrator  密码:就是登录window系统的密码 3.  连接成功如下图. 注意 :

  • 详解在node.js中require方法的加载规则

    require 方法的加载规则 优先从缓存中加载 核心模块 路径形式的模块 第三方模块 一.优先从缓存中加载 main.js:执行加载a.js模块 require('./a') a.js:执行加载b.js模块,并输出a被加载了 require('./b') console.log('a.js 被加载了') b.js:输出b被加载了 console.log('b.js 被加载了') 结果: 可以看出:main去加载a.js,然后a在去加载b.js过程中,并没有打印两次 a.js被加载,Node会直

  • node.js使用免费的阿里云ip查询获取ip所在地【推荐】

    在项目过程中,我们常常需要获取IP的所在地.而这一功能一般都是通过一些数据网站的对外接口来实现,这些接口一般情况下都是付费使用的.在这篇文章中我将记录,基于node.js的阿里云免费IP地址查询接口的使用. 1.购买服务 https://market.aliyun.com/products/57002003/cmapi010805.html?spm=5176.2020520132.101.9.R0owP9#sku=yuncode480500000 这是阿里云的一个AIP接口,点击上面链接后你会进

  • javaWeb项目部署到阿里云服务Linux系统的详细步骤

    目录 项目部署到阿里云Linux系统 1.在虚拟机中创建一个指定安装软件的目录 2.安装项目部署的java1.8环境 2.1.上传文件 2.2.解压文件 1.运行前置目录查看是否有安装的jdk 2.运行命令进行解压并删除原来文件 2.3.配置JDK环境变量 3.RPM安装MySQL8.0.29数据库 3.1.官网下载地址 3.2.上传到Linux系统目录 1.解压文件 2.查看解压后的文件 3.3.执行安装操作 1.进行安装install 2.删除mariadb 3.执行安装rpm安装包(有先后

  • 详解用Node.js写一个简单的命令行工具

    本文介绍了用Node.js写一个简单的命令行工具,分享给大家,具体如下: 操作系统需要为Linux 1. 目标 在命令行输入自己写的命令,完成目标任务 命令行要求全局有效 命令行要求可以删除 命令行作用,生成一个文件,显示当前的日期 2. 代码部分 新建一个文件,命名为sherryFile 文件sherryFile的内容 介绍: 生成一个文件,文件内容为当前日期和创建者 #! /usr/bin/env node console.log('command start'); const fs = r

  • 详解使用Node.js 将txt文件转为Excel文件

    最近同事需要对一份报告进行整理,一共有80个报告约9000多行放在一个txt文件中.虽然每份报告的格式比较类似,但其中部分字段对应的数量依旧会有差别.所以真要靠人工来做,无疑会是一件费时费力的并且是很枯燥的工作.据说如果有了这个程序,可以减少60%的工作量!那么为了我以后的下午茶,自然应该去尝试一下不是么? 不过既然是费时费力又枯燥的工作,自然就应该交给代码去解决.毕竟,我坚信任何的科学技术就是为了让人类偷懒而存在的.那么就先切入正题,先上GitHub的项目地址.欢迎批评指点. GitHub项目

随机推荐