前言
今天突然发现自己买了一年快过期了的搬瓦工,除了少数时间拿来当梯子用用其它也没用上,所以流量还剩这么多。。。
所以就想试试把本地写的nodejs的demo部署上去看看。
顺便把原来买的域名解析上去QAQ
安装node和npm
在官网下载编译好的node包:
1 | wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x86.tar.xz |
解压后得到node-v6.10.2-linux-x86
文件夹,里面有个bin
目录,包含了我们需要的node
和npm
。
这里需要注意的是,npm
是链接到../lib/node_modules/npm/bin/npm-cli.js
的,不能直接拷贝到/usr/bin/
,否则会出错,可以使用ll
看到。
1 | -rwxrwxr-x 1 500 500 28746408 Apr 4 05:04 node |
配置环境变量
编辑/etc/profile
文件:
1 | vi /etc/profile |
增加路径:
1 | PATH=$PATH:/home/node-v6.10.2-linux-x86/bin |
1 | source /etc/profile |
新建nodejs项目
我自己的代码就不献丑了,这里就拿网上的一个demo来看看效果好了。demo
安装git:
1 | yum install git |
ok, 在服务器拉下demo的代码,npm install
,然后使用pm2
来运行程序。
1 | npm install pm2 -g |
输入IP:8080
就能看到Hello World!
了!
停止项目:
1 | pm2 stop demo -f |
域名绑定到ip
想起来原来有一个空闲的域名,正好试下域名绑定。
在域名的A
记录填写服务器的ip地址,等其生效即可。
访问
然后通过域名直接访问,发现并不能访问到我们的程序,因为默认访问的端口是80
,而我们监听的端口是8080
。这里可以通过:
- Nginx 反向代理
- iptables 端口转发
为了简单,直接用iptables
端口转发了。。。
1 | iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 |
这下可以愉快的通过域名访问刚刚部署的nodejs服务了。。。