如何在生产服务器上部署nodejs Node.js 应用

如何在Ubuntu14.04服务器上安装NodeJS - NodeJS中文网
如何在Ubuntu14.04服务器上安装NodeJS
浏览: 14,502 次阅读
摘要: 一、NodeJS介绍:
Node.JS是一个让开发者可以快速创建网络应用的服务器端JavaScript平台,同时运用JavaScript进行前端与后端编程,开发者可以更专注于系统的设计以及保持其一致性。
在这篇文章中,我们将向您介绍如何在Ubuntu14.04...
一、NodeJS介绍:
Node.JS是一个让开发者可以快速创建网络应用的服务器端JavaScript平台,同时运用JavaScript进行前端与后端编程,开发者可以更专注于系统的设计以及保持其一致性。
在这篇文章中,我们将向您介绍如何在Ubuntu14.04服务器上开始您的Node.JS神奇之旅。
二、如何安装发行稳定版的Node.JS
Ubuntu 14.04为了保证跨平台服务体验的一致性,在它的仓库中默认包含了一个版本为0.10.25的Node.JS,这个可能不是最新版本,但是却一定是标准发行版本。
要想获取这个版本的Node.JS,我们只要通过apt包管理工具来安装就可以。在安装之前,最好先更新一下apt包管理工具的本地索引,然后再从Ubuntu仓库中安装Node.JS。
sudo apt-get update
sudo apt-get install nodejs
如果Ubuntu软件仓库中的包正好是你所需要的,那么上述步骤就是在Ubuntu10.04下安装Node.JS的全部操作过程。大多数情况下,我们还希望也安装一份Node.JS的包管理工具:npm,您可以通过以下命令安装:
sudo apt-get install npm
NPM将让使得安装Node.JS的模块或者源码包变得非常简单。
在您运行Node.JS的时候请一定要注意,因为与别的工具包相冲突的原因,Ubuntu仓库中可执行的名字是nodejs而不是node。
下面,我们将讨论Node.JS更多种灵活的安装方式。
三、如何通过PPA来安装Node.JS?
一个让你可以保持获得Node.JS最新版本的替代方案是加入由NodeSource维护的PPA(Personal Package Archive)私有包档案。这个方式可以让你获得比Ubuntu仓库更多的Node.JS版本。
首先:你得安装PPA以获得访问它内容的权限。
curl -sL /setup | sudo bash -
通过上面的命令,PPA将加入到您的系统配置中,并且自动的更新您的本地包缓存,安装完成之后,您可以像之前一样通过apt-get来安装Node.JS。
solo apt-get install nodejs
这里的nodejs安装包包含了nodejs二进制执行文件以及npm可执行文件,所以您无须另外安装npm,然而,为了使一些NPM包能正常工作(比如那些需要多源代码编译的包),你还需要安装build-essentials包。
sudo apt-get install build-essential
四、如何使用NVM来安装?
还有一种使用apt来安装Node.JS的替代方案是使用一个特别设计的工具叫NVM,它的标准叫法是Node.JS版本管理工具(Node.js Version manager)。
使用NVM,您可以安装多个可方便控制的独立Node.JS环境,它将给您最新版本Node.JS的请求权限,但也将允许你根据APP的需要而使用旧版本的Node.JS。
在开始之前,我们需要从Ubuntu仓库中先安装一些依赖包,NVM将利用这些工具来编译需要的组件:
sudo apt-get update
sudo apt-get install build-essential libssl-dev
一旦这些依赖包安装完成,您可以通过将安装脚本下载下来。版本号可能不尽相同,但是正常来说你可以通过以下方式来下载和安装:
curl /creationix/nvm/v0.16.1/install.sh | sh
上面的命令将下载并且运行安装脚本,安装脚本将把软件安装到你home目录的~/.nvm目录下,同时也会在~/.profile加入必要的配置。
为了使~/.profile的配置生效,您可能需要退出并重新登录您的账户,当然,也可以通过source命令来重新导入~/.profile的配置:
source ~/.profile
现在你已经安装了NVM,你可以安装Node.JS的各个独立版本。为了找出当前的Node.JS可安装版本,你可以敲入以下命令:
nvm ls-remote
回车可能会显示如下内容:
如你所见,当前Node.JS的最新可安装版本是v0.11.13,你可以通过如下命令安装这个版本的程序:
nvm install 0.11.13
通常情况下,NVM会自动切换到最新安装的版本,你可以通过以下命令告诉NVM指定使用已经安装的版本:
nvm use 0.11.13
当你使用NVM安装Node.JS,它的可执行名称是node,通过以下信不信你可以知道当前所使用的Node.JS版本:
如果你安装了多个版本的Node.JS,你可以通过以下命令列出已安装版本:
如果你想把其中一个版本设置为默认的版本,你可以这样:
nvm alias default 0.11.13
现在当一个请求发生时,0.11.13这个版本将自动被选择,您也可以通过这样的别名引用它:
nvm use default
每个版本都将保持其独立的模块和包,并且通过独立的NPM来管理它们,你可以使用NPM的普通模式来为Node.JS项目安装独立的第三方包,它将安装到Node.JS的./node_modules目录下:
npm install express
如果你想将第三方包安装成全局模式(将与其它使用同一个版本Node.JS的项目共用),那么通过使用-g参数就可以实现:
npm install -g express
这个时候包将安装到下面这个目录:
~/.nvm/node_version/lib/node_modules/package_name
全局模式安装的包将只允许你在命令行下使用,如果你想在在本地项目中使用,你还需要将它连接进来:
npm link express
如果需要帮助,你可以通过以入命令获取帮助:
五、结论:
如您所见,有多种方式让你可以方便的在Ubuntu 14.04下安装Node.JS程序,你可以根据你的习惯选择不同的安装方式,但显而易见的是直接通过从Ubuntu仓库安装的方式是最方便的,当然,为了保证你的Node.JS的版本最新,我们也建议你采用更灵活的NVM安装方式。
原文:/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server
翻译:http://www.nodejs.net
译文版权归「NodeJS中文网」所有,转载请注明出处!
标签: , , ,
版权所有: 非特殊声明均为本站原创文章,转载请注明出处:
订阅更新: 您可以通过Node.js 教程
Node.js 创建第一个应用
如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi。
从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理。
不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的。
在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:
引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
创建 Node.js 应用
步骤一、引入 required 模块
我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:
var http = require("http");
步骤一、创建服务器
接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。
函数通过 request, response 参数来接收和响应数据。
实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello World\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
以上代码我们完成了一个可以工作的 HTTP 服务器。
使用 node 命令执行以上的代码:
node server.js
Server running at http://127.0.0.1:8888/
接下来,打开浏览器访问 http://127.0.0.1:8888/,你会看到一个写着
"Hello World"的网页。
分析Node.js 的 HTTP 服务器:
第一行请求(require)Node.js 自带的
模块,并且把它赋值给
接下来我们调用 http 模块提供的函数:
createServer
。这个函数会返回
一个对象,这个对象有一个叫做
的方法,这个方法有一个数值参数,
指定这个 HTTP 服务器监听的端口号。
Gif 实例演示
接下来我们通过 Gif 图为大家演示实例操作:评论- 212&
&&&&&&&&&&&
本想用forever / pm2&来部署nodejs, 百度后发现只能在Linux系统上使用,window上没法使用,兜一圈后又转nssm了。。。。
在Linux上,可以轻松的使用或者来部署nodejs应用。但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下问题很多,最主要是版本老旧,不支持node0.8以上的版本,而且安装forever,npm install forever& 是压跟没安装成功。。因此forever就此放弃掉。
在window上选择了nssm,另外还有一个选择就是,这个貌似比较复杂,今天先说下比较简单的。
nssm会监控你安装的,如果node挂了,nssm会自动重启它。
目前最新版的是2.23(),下载之后解压,根据你的系统选择32位和64位的版本,直接在nssm.exe&所在目录运行命令行,输入nssw install&+你的服务名,如:
1: nssm install gtserver
之后会显示出GUI界面:
在  Path&中选择你的node.exe的安装路径,
   & Startup directory&选择你的node应用的目录,即项目文件启动目录
   Argument输入你的启动文件,例如在我桌面上运行index.js&(在Startup directory目录执行node index.js&):
我的文件启动是coffee启动的,因此Path里设置的coffee的安装路径里的cmd文件,argument设置的app.coffee
点击Install Service:
然后运行启动服务:
nssm start gtserver
然后访问:http://localhost:3000&&&&&&
页面能够访问到
这样就OK了。
其他操作命令如:
nssm start servername //启动服务
nssm stop servername //暂停服务
nssm restart servername //重新启动服务
nssm remove servername //删除创建的servername服务
具体的操作有详细介绍,不再赘述。
阅读(...) 评论()系统:CentOS 64位(查看系统位数请执行命令:getconf LONG_BIT)
1、到找到系统对应的安装文件
执行如下命令:
wget&&(稳定版)
//wget &http://nodejs.org/dist/v0.10.22/node-v0.10.22.tar.gz (最新版)
&tar -xvf node-v0.10.22-linux-x64.tar.gz
cd node_xxx&
yum install gcc-c++(if has no c compiler)
./configure
4、安装nodejs
make install
如果python版本过低,可能会报错,请先升级
这个一定有用:
5、安装完毕,接下来就可以利用node命令启动服务了。
cd /$app_path/
node /nodejs/app.js
值得注意的是,我们使用node命令启动后,服务会因为我们关闭这个操作窗口而挂断,解决办法是使用nohup命令不挂断执行。
以下为我在项目中使用的发布脚本:
rm -rf /data/webapps/bds_nodejs
cd /data/trunk/bds_nodejssvn update .svn export /data/trunk/bds_nodejs /data/webapps/bds_nodejs
kill -9 `netstat -nlp | grep 3000 |awk '{print $7}' | awk -F/ '{print $1}'`cd /data/webapps/bds_nodejsnohup node app.js &
如果遇到编码问题,请把这段shell脚本保存为ANSI格式再上传到svn服务器上,或者直接在linux上使用vi编写。
--------------------------------------------------------------------------------------------------------------
make install 以后,有点系统直接执行node -v会报命令不存在的错误,
这个时候就要配置一下node的环境变量。
1、先找到node安装在哪里
whereis node
找到node命令的路径。
2、打开配置文件,并增加path
vi /etc/profile
export PATH =&/usr/local/bin
3、修改完以后执行 source profile即可生效。
环境变量的查看(1)使用echo命令查看单个环境变量。例如: echo $PATH(2)使用env查看所有环境变量。例如: env(3)使用set查看所有本地定义的环境变量。例如: set另外,unset可以删除指定的环境变量。
常用的环境变量PATH 决定了shell将到哪些目录中寻找命令或程序HOME 当前用户主目录HISTSIZE 历史记录数LOGNAME 当前用户的登录名HOSTNAME 指主机的名称SHELL 当前用户Shell类型LANGUGE  语言相关的环境变量,多语言可以修改此环境变量MAIL 当前用户的邮件存放目录PS1 基本提示符,对于root用户是#,对于普通用户是$
阅读(...) 评论()如何在生产服务器上部署 Node.js 应用_百度知道
如何在生产服务器上部署 Node.js 应用
提问者采纳
性能强悍:8080.access、js和图片和应用服务器分开.js应用服务器;#如果需要日志的话 } 推荐将静态文件如css: server { listen 80.: http { #添加后端服务器. } 2)给应用添加虚拟主机,和nginx负载均衡配置一样 upstream nodejs { server 127.1;#名字和前面的对应; } ;nodejs.log main,将所有的请求转发给后端的node } access_log logs&#47,配置简单。 配置方法; { proxy_pass nodejs服务器推荐用nginx.。 nginx可以使用代理访问后端的Node.0; server_nameIPlocation &#47.0: 1)在配置文件http段内容添加后端服务器
其他类似问题
为您推荐:
服务器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 nodejs 生产环境部署 的文章

 

随机推荐