本文针对正在学习node前端开发的朋友们,一般我们用node写完后台想把项目放到服务器上的话,服务器环境必须是node才能保证程序运行,所以今天我给大家带来一篇超简单的图文教程。
本文主要讲到的有:阿里云node环境搭建-----nvm管理工具-----node项目线上测试----pm2开启node服务
首先,我们去阿里云网站(https://www.aliyun.com/?spm=5176.8789780.1280361.1.769655ca6kOphM)选择一款服务器,打开链接可以看到有两款服务器,一款是云服务器ECS,一款是轻量应用服务器。如果选择轻量应用服务器的话可以直接选择node镜像,不需要自己搭环境了,我们这里主要讲的是云服务器ECS搭建node环境。
购买完服务器后,我们进入控制台--点击左边导航实例--然后点击远程链接进入服务器
用户账号密码以及连接密码可以自己设置的,详情见 重置密码文档,设置完密码连接进入之后进入首页。你们刚买的话应该是命令行窗口,我这里是自己装了套图形化界面,想要安装的朋友们可以参照: centOS7图形化界面快速安装 ,3步就搞定了。
下面开始正式搭环境
以下的演示我直接用PuTTY了,不懂的可以参照 PuTTY安装及使用教程,搭建node环境我直接使用nvm,因为nvm不仅安装node方便,而且后期还方便管理,可以随时切换node版本
1.安装git,我们要通过git去将源码克隆到本地
yum install git --安装git的命令
2.使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
3.激活NVM,执行命令
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
4.使用nvm查看所有的node版本,我们可以根据项目需求安装对应的版本
nvm list-remote --列出所有的node版本
5.安装node,使用nvm install安装不同的版本也不会冲突,安装完会自动切换到你所安装的node版本。同时使用nvm ls 可以查看自己已经安装的版本,使用nvm use 就可以直接指定使用哪个版本
nvm install v6.9.5 --安装6.9.5版本
nvm install v8.9.4 --安装8.9.4版本
nvm ls --查看已经安装的node版本
nvm use v8.9.4 --切换回8.9.4版本
实际操作见下图。。。
这样我们环境就node环境就搭完了,写个程序测试下
安装一个vim (用vim来写代码)
yum install vim
新建一个app.js文件
touch app.js
新建完可以使用 ls 命令查看一下,然后我们用vim 打开它
vim app.js
输入i,进入编辑模式,将以下项目文件内容粘贴到文件中。按键Esc,退出编辑模式。输入:wq后,按键Enter,保存文件内容并退出。
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 app.js 然后再浏览器打开 http:// 公网ip + :3000
这时候就安装成功了,没有显示出来的同学不必害怕,因为你可能没添加安全组
操作如下:
点击确定,重启刷新一下网页就好了。
但是我们终端关闭后,网页服务也就跟着关了,怎么办呢?node服务怎么一直处于开启状态呢?
下面我教大家使用pm2让node服务一直处于打开状态
1.执行命令 yum install pm2 安装pm2
2. 执行 pm2 list 查看是否已经安装,如下图所示极为安装成功
3 使用 pm2 start app.js --watch 打开服务,同时自动监听数据的变化自动重启
这时候我们关掉putty或者终端,公网ip地址依然可以打开。