Microscope如何用于生产部署

appchain

#1

hi,我看到GitHub上的部署教程更多是关于development的,那么怎么进行稳定的生产环境的配置部署,另外,部署一次实在是太慢了,而且.env配置的chain的地址一直不生效,默认还是localhost:1337的地址,只有到页面里面切换才生效。请帮忙协助解答,最好能有个更详细点的教程


#2

hi, 我们提供了 docker 部署方案, 非常方便哦, 就是 docker-compose 的两步操作

  1. docker-compose build .
  2. docker-compose up

也可以选择普通的部署方案

  1. 命令行执行 yarn run build:prod 构建文件
  2. 将打包后的文件放到服务器上并开启静态文件服务, 比如 nginx, 使用 nginx 的方法我写在下一回答

关于配置文件, 我这里给一个范例

PUBLIC=https://cdn.cryptape.com    #静态资源服务
CHAIN_SERVERS=https://microscope.cryptape.com:8888 # 默认链地址
APP_NAME=Microscope # 浏览器名称
LNGS=zh,en # 多语言支持
DEBUG_ACCOUNTS= # debug 模式内置账户

#3

使用 nginx 方法:

  1. 比如 Microscope 的静态文件放在服务器上 /var/www/Microscope 下, 即存在 /var/www/Microscope/index.html
  2. /etc/nginx/sites-enabled/ 下创建配置文件 Microscope.conf, 内容为
server {
        listen 8080;
        server_name localhost;
        root /var/www/Microscope;
        index index.html;
}

然后服务器重载 nginx 服务: nginx -s reload 即可在线访问 Microscope


#4

咦?有docker方案?这是什么时候加的。


#5

上周我同事加的, 运维部门部署时强烈要求我们上 docker, 不过现在还没有合并到 master 分支上


#6

OneClick 里面有实现哈哈~ 所以我看了一下仓库,里面的 Dockerfile 的编译和部署写在了一个镜像里面。而我的实现将编译和部署分开了,好处是使得镜像更小。而且 ENV 指令可以用文件导入的方式构建,这样又可以削减掉镜像构建的层数。


#8

hi,我刚发了几笔交易都没有在这展示,这里显示的最新的是五天前的,当我搜索交易hash时可以搜索到这些交易的,请问下这是什么原因呢?后面的那个就是我刚发送的


#9

cool, 你这个思路好

我刚刚看了下构建顺序, copy 部分可以做一下优化, 第一次 copy 只复制 package.json, 然后执行 npm install && npm run dll, 这样业务代码改动不需要重新构建依赖层.

这迭代我让小伙伴按你的配置重新做一下, 或者可以直接 pr :smirk:


#10

PS: 最好是贴出交易 hash 哦

这个页面中交易列表是读取缓存服务器 ReBirth 的数据, 但是你按照 hash 查询时, 如果缓存服务器没有找到, 会去链上找数据. 因此极可能是该笔交易成功上链但是缓存服务器出了问题.


#11

还是猫空大佬有经验啊~我这就prprpr