Vue+Koa2 打包后进行线上部署的教程详解


Posted in Javascript onJuly 31, 2019

最近使用Vue和Koa2重构了自己的博客,过程中踩了不少坑,查了很多资料,最后总算成功上线。之后我计划围绕这个过程写一系列文章,讲讲如何用Vue+Koa2写一套网站。

而现在,先来讲讲最后一步,在写完Vue和Koa2后,如何将它们部署到线上。

1.将Vue和Koa2结合

很多人在打完包后就不知道怎么做了,毕竟后面都是后端的事情。如果你用的是Vue-cli3.0,那么打包这一步会非常简单,只需要执行一条命令即可,其它的不用关心:

npm run build

之后会生成一个dist的文件夹,将它放到Koa2目录下的public文件里,然后在Koa2的配置文件app.js里将静态资源指向这个文件夹,指向命令在我们创建Koa2框架时就已经自动生成,所以我们要做的也只是改一下文件地址就行了:

app.use(require('koa-static')(__dirname + '/public/dist'))

改好之后打开koa2的主页,看看是否加载成功,第一步就愉快地完成了。

2.Nginx配置

现在登录服务器,安装完Nginx后,在`/etc/nginx/sites-enabled/`下新建一个conf文件,然后写入配置:

//Koa的端口一般默认是3000
upstream koa.server{
  server 127.0.0.1:3000;
}

server {
  listen   80;
  server_name .******.com;

  location / {
    proxy_pass http://koa.server;
    proxy_redirect off;
  }
}

写完之后重启Nginx:

sudo /etc/init.d/nginx restart

接着将Koa2文件上传到服务器,启动后在浏览器里输入你的网址或者服务器ip,能访问到就大功告成了。

当然,这套Nginx配置还是非常简陋,如果希望长期稳定运行的话还得加入SSL和Gzip,网上资料很多,如果以后有机会的话我也会讲一下。

3.使用Pm2进行进程管理

能成功访问后接着就是将Koa放到后台运行,这里使用了Pm2进行管理,先来安装:

npm install -g pm2

安装好后在Koa目录下创建一个文件 “pm2.conf.json”,然后输入以下代码:

{
  "apps":{
    "name":"blog",
    "script": "bin/www",
    "watch": true,
    "ignore_watch":[
      "node_modules",
      "logs"
    ],
    "instances":2,
    "error_file":"logs/err.log",
    "out_file":"logs/out.log",
    "log_date_format": "YYYY-MM-DD HH:mm:ss"
  }
}

来重点说下两个参数,watch和instances。

Watch是检测到文件有改动会自动重启加载,ignore_watch则是排除不需要监控的文件。

Instances则是开启实例数,建议根据cpu核数进行配置,有多少核就开启多少条。

最后启动:

pm2 start pm2.conf.json

到这里,网站就部署完成了!

总结

以上所述是小编给大家介绍的Vue+Koa2 打包后进行线上部署的教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
来自国外的页面JavaScript文件优化
Dec 08 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
javascript基础知识分享之类与函数化
Feb 13 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
Sep 21 Javascript
浅谈JS中String()与 .toString()的区别
Oct 20 Javascript
jquery实现自适应banner焦点图
Feb 16 Javascript
微信小程序授权登录及解密unionId出错的方法
Sep 26 Javascript
微信小程序:数据存储、传值、取值详解
May 07 Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
Aug 13 Javascript
vue中 this.$set的使用详解
Nov 17 Vue.js
简述vue-cli中chainWebpack的使用方法
Jul 30 #Javascript
vue实现中部导航栏布局功能
Jul 30 #Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 #Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 #Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 #Javascript
8个有意思的JavaScript面试题
Jul 30 #Javascript
开源一个微信小程序仪表盘组件过程解析
Jul 30 #Javascript
You might like
PHP nl2br函数 将换行字符转成 <br>
2009/08/21 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
xtree.js 代码
2007/03/13 Javascript
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
Python常见数据结构详解
2014/07/24 Python
Python入门篇之函数
2014/10/20 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
党员自我评价分享
2013/12/13 职场文书
竞选班长演讲稿
2013/12/30 职场文书
给国外客户的邀请函
2014/01/30 职场文书
九年级政治教学反思
2014/02/06 职场文书
交通安全教育主题班会
2015/08/12 职场文书
教师读书活动心得体会
2016/01/14 职场文书
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers