debugger
node-inspector
- nodeJs 中间层
- 现在越来越强调前后端分离,但是具体怎么才算前后端分离呢?
之前很浅显地认知是,后端提供api,前端调用api,貌似这也是经常被人提起的前后端分离常用的模式。但是其中有一个问题。就是当前端需要的数据是需要通过调用几个api接口来进行拼接获得,这相当于前端需要对数据进行更多的处理,影响了性能和体验。所以我们要加一层nodejs中间层来解决前端需要计算的过程。
参考
请求转发
在本项目中,是直接将请求进行转发了。同时对于一些数据要处理的接口,进行了编写。
具体如下:
- 怎么将expressJs部署到阿里云,同时使用nginx,做为反向代理,同时使用vue
- 使用了vue,是之前项目,通过vue-cli来进行开发的单纯的前端项目,现在项目开发完成之后,进行打包
npm run build
,生成dist文件夹,这个是做为静态目录,放到express-generator生成的文档结构中去的。- 然后将其通过git hooks自动部署到服务器中,并且
npm install
,进行npm包安装,当包安装完成之后,开始弄nginx,- 首先安装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
- 最后使用pm2来开启守护
pm2 start bin/www (express项目中的bin目录下的www)
- 最后记得我们是用了阿里云的服务器,他那边有个实例的安全组。记得打开8081端口(惨痛教训,记得一定要开)
- 使用nuxt完成seo
在离职之前,对公司的项目用nuxt进行了nuxt重构,但是并不是完全按照nuxt的官方文档的写法进行书写的,比如没有用到asyncData等api。这点是有点遗憾的。毕竟重构也是要花大把的时间。。。
然后就多加了一些meta标签,并同时部署到服务器上。
坑: 在书写bash脚本的时候,忘记加上chmod +x [文件名]
同时在nuxt生成的过程中,默认是打开3000端口的。然后在配置nginx反向代理的时候,也是使用了3000端口,导致一直无法访问(以上在阿里云也是开放了3000端口),一开始还以为自己部署有问题,尝试,重写,重新部署好多次。突然搜索过程中看见有网友说nuxt3000端口是有问题的,所以直接使用了在nginx上使用8081端口,现在想起来应该是端口3000已经被占用了,我还想去转发。简直麻瓜。
- 目标,造个轮子,集成前端vue开发环境和express后台,加mongoodb的一个项目