目标:带你安装
Node
以及处理Node
服务的端口反向代理。
前言
Node
越来越火了,所以给服务器配置 Node
也很有必要了,一般的 Node
服务都是启动在本地服务的某一端口,本例将以一个简单的 Express
服务带你部署持久启动Node
服务,并将其反向代理到相应域名上。
安装Node
我们直接采用 npm
的一个神奇的包——n
,来安装 node
。
从
github
克隆n
的仓库并安装,注意最好在/usr/local
目录下操作。1
2
3
4cd /usr/local
sudo git clone https://github.com/tj/n.git n
cd n
sudo make install上面执行最后一步可能会提示没有
make
,那就装一个呗。1
2sudo apt-get install make
sudo make install用
n
指令安装最新版node
及npm
。1
sudo n latest
好了,这样 Node
即安装完成了,我们可以试着输出 Node
版本号。
1 | node -v |
注意,用这种方法安装的话,每次安装全局包时需要加上 sudo
。我们来安装 nrm
来试试吧,nrm
是 npm
的源管理工具,我们用 nrm
切换到 npm
淘宝源。
1 | sudo npm install nrm -g --registry https://registry.npm.taobao.org |
没有问题的话应该是能够输出切换成功的信息。
部署我们的 Express 服务(一个 Node 后端框架)
我们就从零开始部署吧,通过应用生成器工具 express
可以快速创建一个应用的骨架。
1 | sudo npm install express-generator -g |
进入你想把 express
放置的目录,我就放在了 /usr/share/nginx/html
,这个放置地方对 express
启动的服务没有影响,因为 node
启动在本地服务的某一端口。
用express
生成器生成一个 express
项目,并启动它。
1 | sudo express api |
服务已经启动在 3000
端口,我们访问试试,在浏览器地址输入123.206.55.207:3000
。如果没问题你应该能看见如下页面。
反向代理+持久部署
直接通过上面的方式启动并不能持久化开启服务,所以我们用 pm2
来托管我们的服务。首先通过 npm
安装 pm2
。
如果你没停止刚刚开启的 express
服务,按 Ctrl+C
停止。
1 | sudo npm install pm2 -g |
通过 pm2
启动服务。
1 | pm2 start bin/www |
好了,我们已经把服务持久部署了,接下来我们把服务映射到域名上去。
我以 api.outxu.cn
作为该服务的请求地址,先去域名管理中添加解析记录 api
。
然后进入 nginx
配置目录,添加一个虚拟主机。
1 | cd /etc/nginx/conf.d |
写入以下内容:
1 | server { |
重启 nginx
服务:
1 | sudo service nginx restart |
我们访问试试,在浏览器地址输入api.youradmmin
。如果没问题你应该能看见与上面一样的界面。
至此,Node
安装以及在服务器上持久启动 Node
服务讲解结束
相关链接: