大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

nodejs: mac上阿里云部署

今天是双11,你剁手了吗!反正我没手剁了!感觉双11不买点什么东西感觉不合众,索性在索尼官网店买了耳机,哈哈!奔着热巴来的!好吧,索性也买了个阿里云来学习学习


迪丽热巴

【1】 登陆服务器

1。mac上打开终端,ssh远程亲近阿里云,在终端输入命令,注意:120.78.218.126改用你们公网ip

ssh root@120.78.218.126

2。创建用户,防止我们在root权限下错误操作影响系统级


 adduser cellBoxer
 passwd cellBoxer

把cellBoxer加入root组,以便后续sudo操作

gpasswd -a cellBoxer wheel

3。格式化服务器数据硬盘,具体安装官方文档的【步骤 2:格式化和挂载数据盘】
https://help.aliyun.com/contact/introduction/ecs.html

【2】 服务器软件准备

1.yum更新到最新版本
yum -y update
2.使用最新源代码构建Node.js,要进行软件的安装,需要一组用来编译源代码的开发工具
yum -y groupinstall "Development Tools"
3.安装node.js

步骤1:
开始安装Node.js,先进入/usr/src文件夹,这个文件夹通常用来存放软件源代码:

cd /usr/src

步骤2:
Node.js的站点中获取压缩档源代码,根据最新版本号为准。这一步下载真心慢,心累!我都看了一集猎场了

wget http://nodejs.org/dist/v6.9.1/node-v6.9.1.tar.gz

步骤3:
解压缩文件

tar -zxf node-v6.9.1.tar.gzcd

步骤4
进入解压后的文件夹

cd node-v6.9.1

步骤5
执行配置脚本来进行编译预处理

./configure

步骤6
编译源代码

make

步骤7
当编译完成后,我们需要使之在系统范围内可用, 编译后的二进制文件将被放置到系统路径,默认情况下,Node二进制文件应该放在/user/local/bin/node文件夹下

make install

步骤8
此时Node.js安装完毕!nodejs下载默认有npm模块管理器,利用它安装 express 和 forever,这两个 global 安装

npm -g install express forever

步骤9
建立超级链接, 不然 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

步骤10
软件安装位置:/usr/local/mongodb
数据存放位置:/var/mongodb/data
日志存放位置:/var/mongodb/logs

进入文件夹/usr/local,下载mongodb源代码

cd /usr/local
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.11.tgz

步骤11
解压安装包,重命名文件夹为mongodb

tar zxvf mongodb-linux-x86_64-3.2.11.tgz
mv mongodb-linux-x86_64-3.2.11 mongodb

步骤12
创建数据和日志存放目录

mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs

步骤13
打开rc.local文件,添加CentOS开机启动项:

vim /etc/rc.d/rc.local

步骤14
将mongodb启动命令追加到本文件中,让mongodb开机自启动:

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath 
/var/mongodb/logs/log.log -fork

关闭 vim 后,直接手动启动mongodb

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

看到如下信息说明已经安装完成并成功启动:
forked process: 21296
tips:数字不一定是要这个数字,是什么数字不重要,出现类似这样的就可以了

到此结束,服务器应有的软件下载配置完毕

【3】 客户端mac准备上传node app代码

1。我们把 node的程序放在 /home 下

cd /home

2。http://git.oschina.net/ 管理代码拉取我的代码创库:

git clone https://git.oschina.net/xxxxxxx/nodeapp.git   //你的repo地址

3。进入 我的nodejs代码文件夹KyNodejsPro

cd KyNodejsPro

4。创建js服务器文件mySever.js,并编辑

touch mySever.js
vim mySever.js

5。按下键盘i 进入编辑状态,然后把nodejs代码黏贴到编辑器里面
注意:hostname为你在阿里云服务器的私有ip,而不是共用ip,表示被坑了一把

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}/`);
});

最后按键盘esc退出编辑状态,然后:wq保存退出编辑器

6。将代码在服务器永久执行

forvever  start myServer.js

如果查看执行进程

forever list

如果要取消永久执行

forever stop 0

7。打开浏览器,输入你的公网ip,主要这里是公网ip + 端口号,也可以是对应的域名地址

【3】 配置安全组

1.然后按照这个教程配置服务器实例的安全组规则。
1。其中的自定义端口就需要设置你想让大家可以访问的端口范围。比如3000/8080,表示别人可以访问这个中间段的端口号。在入网中添加一组规则tcp协议 ,3000/8080端口, 这样我们可以通过浏览器等反问我们的公网
2。注意要选在入网中添加一组规则:icmp协议,22/22端口,这样我们可以在mac终端ssh访问22端口的远程阿里云服务器
3。注意要选在入网中添加一组规则:tcp协议 ,这样我们可以在mac终端ping命令我们的公网ip