阿里云服务器(BT面板)Vue+Node(Egg)部署流程
项目是Vue+Egg,服务器是阿里云的linux,安装了BT面这个流程适合,发布不频繁,个人项目,小型项目。下一步我会升级为,使用git,或者git+jekins的方式,实现每次merge自动发布。
前端VUE项目部署
项目位置,D:\personalProject\vuepro\coderIndex
node: 10.11.0
vue:2.9.3
elementUI:2.12.0
webpack-dev-server:2.11.5
- vue 项目启动
npm run dev
- 打包 npm run build 生成dist文件
- 压缩 zip
- 上传到服务器对应的网站目录下, 推荐两个工具Xftp 6,WinSCP,只推荐这两个工具,需要安装包可以去公众号 “耐撕程序员”,私聊发送关键字“ftp”即可获得下载链接
- 解压到当前目录下 unzip dist.zip
知识点:
zip命令
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件
-r表示递归压缩子目录下所有文件.
unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
服务端node,egg框架
E:\egg\egg-example
node: 10.11.0
egg: 2.2.1
egg 官方部署文档:https://eggjs.org/zh-cn/core/deployment.html
JavaScript 语言本身不需要编译的,构建过程主要是下载依赖
$ cd baseDir
$ npm install --production
$ tar -zcvf ../release.tgz .
构建完成后打包成 tgz 文件,部署的时候解压启动就可以了。
随便写了一个,打包脚本 buildAndTar.sh
npm install --production && tar -zcvf ../release.tgz .
if [ ! -d ../product ];then
mkdir ../product
else
echo dir exist
fi
mv -f ../release.tgz ../product/
启动
$ egg-scripts start --port=7001 --daemon --title=egg-server-showcase
如上示例,支持以下参数:
–port=7001 端口号,默认会读取环境变量 process.env.PORT,如未传递将使用框架内置端口 7001。
–daemon 是否允许在后台模式,无需 nohup。若使用 Docker 建议直接前台运行。
–env=prod 框架运行环境,默认会读取环境变量 process.env.EGG_SERVER_ENV, 如未传递将使用框架内置环境 prod。
–workers=2 框架 worker 线程数,默认会创建和 CPU 核数相当的 app worker 数,可以充分的利用 CPU 资源。
–title=egg-server-showcase 用于方便 ps 进程时 grep 用,默认为 egg-server-${appname}。
–framework=yadan 如果应用使用了自定义框架,可以配置 package.json 的 egg.framework 或指定该参数。
–ignore-stderr 忽略启动期的报错。
–https.key 指定 HTTPS 所需密钥文件的完整路径。
–https.cert 指定 HTTPS 所需证书文件的完整路径。
所有 egg-cluster 的 Options 都支持透传,如 --port 等。
停止
$ egg-scripts stop [--title=egg-server]
–title=egg-server 用于杀死指定的 egg 应用,未传递则会终止所有的 Egg 应用。
服务器安装了bt面板,使用pm2管理
在egg项目的根目录定义启动文件:文件名为server.js
const egg = require('egg');
const workers = Number(process.argv[2] || require('os').cpus().length);
egg.startCluster({
workers,
baseDir: __dirname,
});
命令
安装:npm install pm2 -g
更新:pm2 update
启动(注意当前应为项目根目录):pm2 start server.js --name testbt面板控制
安装pm2
设置pm2管理器
首先选择node版本,选择自己使用的版本,
其次才是 添加新项目:
选择egg项目根目录,输入启动文件名称server.js ,输入项目名称(自己命名),点击添加等一会就会启动服务,并且显示端口和状态。
注意项
如果遇到问题请检查这三点,具体报错信息和清空不贴了。
- 不要忘记安装 egg-scripts ,npm i egg-scripts --save
- 阿里云服务器,将 config.{env}.js 的 hostname 改为服务器内部网址
可以去阿里云控制台,找到服务器,在列表中有内外网ip - 可以使用bt进行域名映射,即网址访问
微信公众号: 耐撕程序员
有资源
有想法
有技术贴
随手扫一扫
不吃亏不上当
大家一起天天向上
欢迎扫码关注相互交流
阿里云服务器(BT面板)Vue+Node(Egg)部署流程相关推荐
- 阿里云服务器 宝塔面板 配置Python项目
本文仅供学习交流使用,如侵立删! 阿里云服务器使用宝塔面板搭建Python项目 环境 centos7.4.5 python3.7 nginx1.18.0 1.阿里云重置服务器系统 全新服务器可跳过此步 ...
- node本地连接服务器的数据库_Linux本地连接阿里云服务器,以及下载node.js配置环境...
1.远程登录 > ssh 用户名@ip输入密码进入 2. 文件远程传输 > scp 本机文件地址 用户名@ip:远程保存的路径 > scp ./index.html root@192 ...
- 阿里云服务器宝塔面板设置FTP
开启主动模式 1 阿里云服务器安全组需开通20/21端口 如下图: 2 宝塔面板防火墙开启20/21端口 开启被动模式 1 阿里云服务器安全组开启 高位端口段 39000/40000 2 宝塔防火墙同 ...
- 关于阿里云服务器购买和域名购买的相关流程
一:购买阿里云服务器 注册账号 登录阿里云选择=>产品分类=>云服务器 3.点击立即购买 4.点击一键购买 5.选择地域(华北3较便宜),选着实例(看自己需要) 6.选择镜像 7.公网宽带 ...
- 部署项目vue +阿里云服务器 + 宝塔面板
1. 打包vue项目 1.1 在 config -> index.js中把/改为./,可以避免找不到静态文件. 1.2 在 build -> utils.js 中添加下行可解决elemen ...
- 配置云服务器+bt面板搭建自己的服务器
重要的一点,安装了bt后其实不需要再去服务器Linux系统下去手动安装mysql.在安装配置的过程中会遇到非常多的坑,并且解决起来很繁琐.(小白第一次使用服务器,没搞清楚bt的作用就是为了简便管理云服 ...
- nginx管理面板_吸塑包装自建网站上线,阿里云ecs+bt面板+WordPress
吸塑包装网站搭建是我经过对比了织梦dede.帝国和WordPress后选择了WordPress,从本地搭建的apache搬迁到阿里云ecs服务器. 第一步,为了后期多网站的管理,安装了宝塔面板,做了域 ...
- 在阿里云服务器Windows Server 2012r IIS 上部署.NET网站
本文转载自这篇文章,转载记录一下,万一以后要用到可以作为参考. 1.添加站点 首先创建连接池,如下图所示: 然后添加网站,如下图所示: 添加网站这里,需要注意上图中这个画框的这个位置,ip地址这里,不 ...
- tp框架部署阿里云服务器/宝塔面板
1.将你的tp框架的项目文件上传到服务器,目录是wwwroot下 2.站点设置: 3.站点修改:指定运行目录和伪静态 4.现在可以在浏览器URl地址中输出你的服务器ip地址来访问你的网站了
最新文章
- Spring定时任务的配置
- 【ST表】栈(jzoj 2295)
- 挂机宝装mysql_挂机宝安装
- webdrive不更新_关于selenium 用Webdrive打开Firefox不含有插件的问题(python)
- 理论基础 —— 索引 —— 2-3 树
- CoreData的用法
- GIMP教程 1 图片剪裁
- 16进制储存的农历信息的正确打开方式
- 计算机管理系统工具共享文件夹,win7一键共享工具【管理方式】
- 2的10次方-1的python表达式_python计算数学表达式
- 计算机系大二学期计划范文,大二学期学习计划范文
- 为什么需要 AQS?AQS 的作用和重要性是什么?
- ai怎么让图片任意变形_为什么AI软件将图形等比例缩小会变形?如何样可以要图形不变形?...
- 异形3×3魔方还原教程_2345异形魔方教程
- JXTA v2.5技术手册
- Python 3.8+numpy查找矩阵中所有鞍点
- 路由协议OSPF和ISIS区别
- ad禁用计算机账户命令,AD-禁用账户命令 Disable-ADAccount
- 万能声卡驱动(Alsa)的安装方法
- Problem of Windows Phone8.1 Jumpstart Demo