前言:
最近在学习node然后租了个腾讯云服务器,准备部署自己写的api,在网上找了些教程 发现多多少都有些坑,所以就来总结一下 ,自己也是新手 ,记录一下自己的过程。
买腾讯云的过程就不说了,选择购买之后公网ip这些都有了,然后直接登录就可以了,我的是centos系统 在网上找了些教程。
最开始我是直接开始安装node.js环境
1.首先获取压缩档源代码,网上复制的地址,版本太低 所以我后面直接升级node版本了。
wget http://nodejs.org/dist/v0.10.18/node-v0.10.18.tar.gz
2.解压缩源文件,并且进入到压缩后的文件夹中:
tar zxf node-v0.10.18.tar.gz
cd node-v0.10.18
3.执行配置脚本来进行编译预处理:
./configure
4.开始编译源代码
make
我发现make的时候 提示我gc++not found 然后查了一下 缺少相关库
然后用yum更新到最新版本
yum -y update
然后又回到之前进入目录
make 编译完成之后 make install
这个时候 基本环境就好了
然后我用mac 安装了ftp 准备吧本地node文件 传到服务器上
ftp连接腾讯云搞了半天 搞不定 最后上网搜了一下 发现改成sftp 就连上了 不知道为何。
连上之后 吧文件传到服务器目录即可。
这个时候 我们的centos 就有我们的目录了 cd/你的目录
这个js 我只用了简单的exprees模块 和body-parser 所以 需要安装相应的模块。
安装完成
这个时候我们访问端口如8888 外网是访问不到的 因为我们本地没有打开
开启端口(以80端口为例)
方法一:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效
方法二:
vi /etc/sysconfig/iptables 打开配置文件加入如下语句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 重启防火墙,修改完成
如果直接 npm start 或 node app.js 启动,则一旦退出 ssh 远程登陆,nodeapp 就会停止运行。因此我们使用 forever 启动 nodeapp。
NODE_ENV=production forever start app.js
好了 这个时候 部署完成 访问你的ip:端口 即可。
继续学习中。