在Centos部署nodejs

前言

今天突然发现自己买了一年快过期了的搬瓦工,除了少数时间拿来当梯子用用其它也没用上,所以流量还剩这么多。。。

image

所以就想试试把本地写的nodejs的demo部署上去看看。

顺便把原来买的域名解析上去QAQ

安装node和npm

在官网下载编译好的node包:

1
2
3
4
5
wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x86.tar.xz
xz -d node-v6.10.2-linux-x86.tar.xz
tar -xf node-v6.10.2-linux-x86.tar

解压后得到node-v6.10.2-linux-x86文件夹,里面有个bin目录,包含了我们需要的nodenpm

这里需要注意的是,npm是链接到../lib/node_modules/npm/bin/npm-cli.js的,不能直接拷贝到/usr/bin/,否则会出错,可以使用ll看到。

1
2
-rwxrwxr-x 1 500 500 28746408 Apr 4 05:04 node
lrwxrwxrwx 1 500 500 38 May 1 08:03 npm -> ../lib/node_modules/npm/bin/npm-cli.js

配置环境变量

编辑/etc/profile文件:

1
vi /etc/profile

增加路径:

1
2
PATH=$PATH:/home/node-v6.10.2-linux-x86/bin
export PATH
1
source /etc/profile

新建nodejs项目

我自己的代码就不献丑了,这里就拿网上的一个demo来看看效果好了。demo

安装git:

1
yum install git

ok, 在服务器拉下demo的代码,npm install,然后使用pm2来运行程序。

1
2
npm install pm2 -g
pm2 start start.js -n demo

输入IP:8080就能看到Hello World!了!

停止项目:

1
pm2 stop demo -f

域名绑定到ip

想起来原来有一个空闲的域名,正好试下域名绑定。

在域名的A记录填写服务器的ip地址,等其生效即可。

访问

然后通过域名直接访问,发现并不能访问到我们的程序,因为默认访问的端口是80,而我们监听的端口是8080。这里可以通过:

  • Nginx 反向代理
  • iptables 端口转发

为了简单,直接用iptables端口转发了。。。

1
2
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
service iptables save //保存规则

这下可以愉快的通过域名访问刚刚部署的nodejs服务了。。。

AloneMonkey wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!