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 相关文章推荐
jquery中的 $("#jb51")与document.getElementById("jb51") 的区别
Jul 26 Javascript
js前台判断开始时间是否小于结束时间
Feb 23 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
jQuery easyui datagrid动态查询数据实例讲解
Feb 26 Javascript
js遍历、动态的添加数据的小例子
Jun 22 Javascript
JavaScript中字符串(string)转json的2种方法
Jun 25 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
使用JavaScript解析URL的方法示例
Mar 01 Javascript
JS利用prototype给类添加方法操作详解
Jun 21 Javascript
vue实现顶部菜单栏
Nov 08 Javascript
javascript实现移动端轮播图
Dec 09 Javascript
jquery插件实现悬浮的菜单
Apr 24 jQuery
简述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
PHP4中session登录页面的应用
2008/07/25 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
10款最好的Web开发的 Python 框架
2015/03/18 Python
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
深入讲解Python中的迭代器和生成器
2015/10/26 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
教师的实习鉴定
2013/12/15 职场文书
医药个人求职信范文
2014/01/29 职场文书
会计专业自我鉴定
2014/02/10 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python