关于部署 Remix IDE 智能合约开发环境的教程。
注:这篇文章是从旧的博客系统中迁移过来的、我觉得还存在价值的文章。但是由于时间关系,可能已经不再是最佳实践,请仅作参考。
如果你不喜欢官方的 Remix 或是想使用自己的域名来访问在线 Remix,那么就请继续看下去吧!
我并不推荐使用 npm 的安装方式,一方面是麻烦,另一方面官方 GitHub 仓库文档也只介绍了 Docker 启动。况且不同于 code-server,Remix 上编写的智能合约脚本不怎么吃系统资源,不用考虑性能问题。
官方 GitHub 项目地址:ethereum/remix-ide
1、下载 Docker 容器镜像
docker pull remixproject/remix-ide:latest
CentOS 服务器上没有安装过 Docker 的话,执行以下命令进行安装和启动:
yum -y install docker # 启动 Docker 服务和设置为开机自启动 systemctl start docker.service systemctl enable docker.service
2、启动容器
将容器内的 80 端口映射到宿主机的 8089 端口,并设置容器为开机自启动:
docker run -d -p 8089:80 --name remix --restart=always remixproject/remix-ide:latest
3、配置域名访问和开启 HTTPS
① 开启域名访问,我准备使用的域名是 remix.example.com,配置文件中的相关内容请自行替换。
修改宿主机的 Nginx 配置文件:
vi /etc/nginx/nginx.conf
新增如下内容:
...
...
server {
listen 80;
server_name remix.example.com;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
# 反代 8089 端口的 Remix
location / {
proxy_pass http://localhost:8089;
}
}
...
...
之后保存并重启 Nginx:
nginx -s reload
service nginx restart
之后去你域名服务商的 DNS 处解析域名到该服务器就 OK 了,访问一下看看:
② 配置 SSL 证书以支持 HTTPS 访问
你可以选择申请 Let’s Encrypt 的免费 SSL 证书来开启 HTTPS,具体教程参考:Let’s Encrypt 证书的申请、自动更新和 Nginx 的配置
当然你也可以套 Cloudflare 的 CDN 并开启 SSL/TLS 的灵活模式,以跳过繁琐的申请过程并使用由 Cloudflare 提供的免费证书。
修改 Nginx 的配置文件:
...
...
server {
listen 80;
server_name remix.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name remix.example.com;
# SSL 配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate cert/remix.example.com_bundle.crt;
ssl_certificate_key cert/remix.example.com.key;
# 反代 8089 端口的 Remix
location / {
proxy_pass http://localhost:8089;
}
}
...
...
之后再用 HTTPS 协议访问试一下:

结束。