美文网首页vue
NodeJs中间层尝试

NodeJs中间层尝试

作者: Komolei | 来源:发表于2018-08-11 21:59 被阅读0次

debugger

node-inspector

  • nodeJs 中间层
  1. 现在越来越强调前后端分离,但是具体怎么才算前后端分离呢?

之前很浅显地认知是,后端提供api,前端调用api,貌似这也是经常被人提起的前后端分离常用的模式。但是其中有一个问题。就是当前端需要的数据是需要通过调用几个api接口来进行拼接获得,这相当于前端需要对数据进行更多的处理,影响了性能和体验。所以我们要加一层nodejs中间层来解决前端需要计算的过程。
参考
请求转发
在本项目中,是直接将请求进行转发了。同时对于一些数据要处理的接口,进行了编写。
具体如下:

中间层
  • 怎么将expressJs部署到阿里云,同时使用nginx,做为反向代理,同时使用vue
  1. 使用了vue,是之前项目,通过vue-cli来进行开发的单纯的前端项目,现在项目开发完成之后,进行打包npm run build,生成dist文件夹,这个是做为静态目录,放到express-generator生成的文档结构中去的。 目录结构
  2. 然后将其通过git hooks自动部署到服务器中,并且npm install,进行npm包安装,当包安装完成之后,开始弄nginx,
  3. 首先安装nginx,自己找教程,不行看官方文档去。然后要配置一个nginx.conf文件用来反向代理。
upstream hello {
    server 127.0.0.1:8081;} // 要代理的地址
server { 
    listen 80; // 监听地址
    server_name komolei.cn;
    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Nginx-proxy true;
        proxy_pass http://127.0.0.1:8081; // 代理地址
        proxy_redirect   off;
            }
    }

然后sudo nginx -t查看是否配置ok,然后重启nginxsudo service nginx reload

  1. 最后使用pm2来开启守护
    pm2 start bin/www (express项目中的bin目录下的www)
  2. 最后记得我们是用了阿里云的服务器,他那边有个实例的安全组。记得打开8081端口(惨痛教训,记得一定要开) 阿里云安全规则开启
  • 使用nuxt完成seo
    在离职之前,对公司的项目用nuxt进行了nuxt重构,但是并不是完全按照nuxt的官方文档的写法进行书写的,比如没有用到asyncData等api。这点是有点遗憾的。毕竟重构也是要花大把的时间。。。
    然后就多加了一些meta标签,并同时部署到服务器上。
    坑: 在书写bash脚本的时候,忘记加上chmod +x [文件名]
    同时在nuxt生成的过程中,默认是打开3000端口的。然后在配置nginx反向代理的时候,也是使用了3000端口,导致一直无法访问(以上在阿里云也是开放了3000端口),一开始还以为自己部署有问题,尝试,重写,重新部署好多次。突然搜索过程中看见有网友说nuxt3000端口是有问题的,所以直接使用了在nginx上使用8081端口,现在想起来应该是端口3000已经被占用了,我还想去转发。简直麻瓜。
  • 目标,造个轮子,集成前端vue开发环境和express后台,加mongoodb的一个项目

相关文章

网友评论

    本文标题:NodeJs中间层尝试

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