美文网首页node学习
node项目在服务器上运行(部署)实践

node项目在服务器上运行(部署)实践

作者: 阳光正好_way | 来源:发表于2019-10-08 15:51 被阅读0次

环境简介

阿里云ECS(CentOS 7.3 64位)、koa2

安装node

1.  yum install -y wget
2.  wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz [下载安装包]
3.  xz -d node-v10.16.3-linux-x64.tar.xz [解压]
4.  tar -xf node-v10.16.3-linux-x64.tar
5.  ln -s ~/node-v10.16.3-linux-x64/bin/node /usr/bin/node [部署bin-node]
6.  ln -s ~/node-v10.16.3-linux-x64/bin/npm /usr/bin/npm [部署bin-npm]

【注】node下载地址

安装pm2

1.  npm install -g pm2
2.  ln -s ~/node-v10.16.3-linux-x64/bin/pm2 /usr/bin/pm2 [部署bin-pm2]

【注】使用ln -s 是把对应的工具注册成全局

请求实践

用pm2起一个服务
这个时候一般是请求不会成功,我们需要允许跨域。

const cors = require('koa2-cors');
app.use(cors()) // 放在route之前

【注】一般在第一次实践中会出现很多莫名的报错,不要慌,先在本地用node启动排查下,基本上的问题是一样的。

优化接口配置

我们在浏览器做接口请求的时候(如果是把前端项目与后端项目放在一起时)需要加端口来区分,比如我们一般的请求http://127.0.0.1:3000/api/list,这和我们在真实项目中的请求看起来并不太一样(端口没有去掉),所以我们来用nginx配置给我们的接口请求做代理。
nginx.conf

server {

        listen       80;
        server_name  localhost;

        location /api/ {
            proxy_pass http://127.0.0.1:3000/;
        }
}

【注】location后面的有点类似命名空间,以api开头的请求被代理到3000端口,在server中可以加入多个location配置。

简述

其实这片小笔记应该写在最后,只不过是最近在尝试往项目中引入node中间层的概念,找了很多资料最后实践出来的一套比较清晰的服务端启动node服务的流程。

参考

CentOS安装NodeJS
CentOS安装pm2

相关文章

网友评论

    本文标题:node项目在服务器上运行(部署)实践

    本文链接:https://www.haomeiwen.com/subject/zvvbpctx.html