部署我们为您提供了多种方式,您可以选择/搭配适合您自己的部署方式

所需资源:通过npm run build 之后 目录中生成的build文件夹,该文件夹内包含了所有的前端代码

执行相关build命令(可带参数编译,也可通过前端项目中.env文件带入环境变量,或读取您服务器环境变量)

我们这里为了方便阅读, build文件夹,以下简称APP

本地编译,FTP部署

将APP,通过FTP工具, 上传至您的web 目录中即可

适用情况:单一web空间或云存储,通过域名可直接访问 (例如:FTP空间,OSS,七牛云,又拍云)

服务器部署

通过nginx,apache,node等启动web服务,加载页面资源

适用情况:拥有独立服务器 (例如:阿里云,腾讯云,AWZ)

通过Docker 部署

本项目内置 dockerfile 可直接将 build 目录中编译好的文件打包至docker 镜像

  1. 执行 docker build -t joynoptest . 进行打包
  2. 执行 docker run --name joynoptest -it -p 10088:80 joynoptest

通过浏览器访问 http://localhost:10088 即可

如何开启SSL(HTTPS)

如何巧妙利用本项目中的nginx

适用情况:拥有独立服务器,并运用docker管理

如果你想用你的域名访问,请在nginx中心管理服务中添加

  1. server {
  2. listen 80;
  3. server_name test.joynop.com; # 要解析进来域名
  4. location / {
  5. proxy_pass http://localhost:10088; #宿主机ip:容器对外的端口号
  6. }
  7. error_page 500 502 503 504 /50x.html;
  8. }

混合部署

若您的业务足以考虑文件缓存,跨站攻击等问题,我们建议您通过混合部署的方式

  1. 将您的app部署在自己的服务器或docker
  2. 将编译后的文件同时部署在云存储(OSS,七牛云,又拍云等),并开启缓存服务,做好源站控制和回源管理
  3. 将您的域名增加CDN服务,并开启缓存机制,做好源站控制和回源管理
  4. 注意云端服务器安全,如修改22,3306,5432等常用端口号