Nodejs如何部署在云服务上

第一步:下载nodejs安装包,并解压压缩包[解压后默认在root下面]

wget命令下载Node.js安装包,该安装包是编译好的文件,解压之后,无需重复编

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

nodejs项目怎么部署到docker 如何部署nodejs项目_bash


创建一个文件存放解压的文件,方便文件的管理 :mkdir -p /opt/node/

nodejs项目怎么部署到docker 如何部署nodejs项目_nodejs项目怎么部署到docker_02


将下载好的文件移动到刚才新建的里面 :mv /node-v6.9.5-linux-x64/* /opt/node/

nodejs项目怎么部署到docker 如何部署nodejs项目_阿里云_03


第二步:创建软链接

使node和npm命令全局有效(通过创建软链接的方法,使得在任意目录下都可以直接 使用node和npm命令)

ln -s /opt/node/bin/node /usr/local/bin/node
 ln -s /opt/node/bin/npm /usr/local/bin/npm

nodejs项目怎么部署到docker 如何部署nodejs项目_nodejs_04


查看是否安装成功

nodejs项目怎么部署到docker 如何部署nodejs项目_bash_05


第三步:部署Node.js环境(NVM安装多版本)

NVM(Node version manager)是Node.js的版本管理软件,使用户可以轻松在Node.js各个版本间进行切换。适用于长期做 node 开发的人员或有快速更新node版本、快速切换node版本这一需求的用户。

使用curl安装: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

使用wget安装: wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

之后就可以直接使用了,如果发现系统中没有nvm这个命令,那么可能是你的环境变量出了问题 把

export NVM_DIR=“nodejs项目怎么部署到docker 如何部署nodejs项目_项目部署_06NVM_DIR/nvm.sh” ] &;&; /. “KaTeX parse error: Expected 'EOF', got '#' at position 17: …VM_DIR/nvm.sh" #̲ This loads nvm…NVM_DIR/bash_completion” ] &;&; /. “$NVM_DIR/bash_completion” # This loads nvm bash_completion

这三行写入.bashrc或.zshrc中就好了,这个取决于你用的shell是什么,我用的是bash(一般不需要配置这个)

接着执行source ~/.bashrc同理

之后可以输入nvm来验证一下

nvm install 安装一个版本nodejs

nvm uninstall 卸载一个版本nodejs

nvm use 使用一个nodejs版本

nvm ls 列出安装的所有版本nodejs

nodejs项目怎么部署到docker 如何部署nodejs项目_阿里云_07


nodejs项目怎么部署到docker 如何部署nodejs项目_项目部署_08


第四步:配置环境变量

export node_home = /opt/node

export PATH = nodejs项目怎么部署到docker 如何部署nodejs项目_nodejs_09PATH

nodejs项目怎么部署到docker 如何部署nodejs项目_nodejs项目怎么部署到docker_10


小技巧】让nodejs在数据库中一直执行

npm install -g forever
 forever start index.js //index.js是你要启动的js文件
 forever list //会列出forever正在运行的服务脚本
 forever stop index.js //停止服务

查看帮助:

forever --help

nodejs项目怎么部署到docker 如何部署nodejs项目_阿里云_11


第五步:写一个简单的demo,hello.js

代码如下,放在服务器某个文件夹里面,运行node hello.js

var http = require('http');
http.createServer(function(req, res){
    res.writeHead(200,{'Content-Type': 'text/plain'});
    res.end('hello world');
}).listen(3000);
console.log("http server is listening at port 3000.");

此处谨记:云服务器要单独为这个开放3000的端口,为啥3000这个看个人喜好。

nodejs项目怎么部署到docker 如何部署nodejs项目_nodejs项目怎么部署到docker_12


nodejs项目怎么部署到docker 如何部署nodejs项目_bash_13