部署环境
服务器环境:阿里云服务器CentOS 7.4 64位,
本地环境:Windows10 64位
连接工具:mobaxterm
远程连接
下载mobaxterm以后,一路下一步
安装完成。
打开软件>session>ssh
host填写ip地址
,username填写root
(阿里云默认的用户名root)。
点击确定
,输入密码(注意自己输入密码的时,软件是没有反应的),然后回车
。
如果登录没有成功,可以自己排除一下原因。
部署node
方法一(使用源码编译的方式安装,首先使用wget命令下载Node包)
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
解压文件
tar xvf node-v6.9.5-linux-x64.tar.xz
创建软连接,主要是为了命令可以全局有效
ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm
查看是否成功
node -v
npm -v
方法二(使用NVM下载)
下载NVM(这是一个node版本管理工具)
yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
//这里有个确认,不要忘记
激活NVM
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
列出Node.js的所有版本
nvm list-remote
安装和设置node
nvm install v6.9.5 //安装node
nvm install v7.4.0 //安装node
nvm ls // 查看当前可使用版本
nvm use node v7.4.0 // 切换使用版本
nvm alias default v7.4.0 // 设置默认版本
采用任意一种方法安装node完成以后可以测试一下项目
新建项目文件example.js。
cd ~
touch example.js
使用vim编辑器打开项目文件example.js。
yum install vim
vim example.js
输入"i",进入编辑模式,将以下项目文件内容粘贴到文件中。使用"Esc"按钮,退出编辑模式,输入":wq",回车,保存文件内容并退出(这里的0.0.0.0相当于windows的127.0.0.1)
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
运行项目
node ~/example.js
//也可以用下面的代码后台运行
node ~/example.js &//后台运行
netstat -tpln//查看端口运行情况
在浏览器打开http://IP:3000
如果看到Hello World
,恭喜部署成功
这里有几个需要注意的
如果你用后台运行以后,这个端口会被占用,如何关闭
netstat -tpln//查看端口pid
kill -9 pid
如果打开浏览器,出现了无奈的
无法访问
,查看自己node运行以后是否出现Server running at...
,如果出现了可能就是你的服务器问题。这时可能就是你安全组配置有问题,可以根据官网修改 传送门如果还是不可以,估计是自己的操作有失误,阿里云还有个终极大招
重新初始化磁盘
(相当于还原出厂设置),按照上面你的步骤再来一次。
持续运行
前面的所有完成以后,可能大家还有一个疑问,就是如何让这个node进程一直活着
全局安装cnpm,可以大大的提升下载速度
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装pm2
cnpm install -g pm2
pm2使用
pm2 start example.js //启动服务
pm2 list //查看启动的应用
pm2 show example.js //查看详细信息
pm2 logs //查看当前信息
pm2 stop example.js //停止example
pm2 delete example.js //删除example
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。