使用drawio源码,搭建自己的绘图网站 发表于 2017-12-10 | 更新于 2021-11-02
| 字数总计: 670 | 阅读时长: 2分钟 | 阅读量:
本人是processon 的付费会员,但最近一段时间使用这个网站的频率很低,再对比年费,就有点不划算了,于是想找一个替代方案。几近对比之后,觉的draw.io 的使用体验也很棒,而且是开源的,缺点是不支持思维导图,是国外网站稳定性欠佳。思维导图可以采用百度脑图替代。为了解决稳定性的问题,我的阿里云上自行搭建了一套。以下是关键过程。
下载源码并编译 # 安装ant及java的devel包 sudo yum install -y ant java-1.8.0-openjdk-devel # clone 代码到本地git clone https://github.com/jgraph/drawio.git # 编译 cd drawio/etc/build ant #编译完成后会在drawio下产生一个war目录 # copy war 到 nginx 发布目录 sudo cp -r war /var/www cd /var/www sudo mv war drawio # 增加nginx站点文件 cd /etc/nginx/conf.d sudo vim draw.conf
配置nginx,开启SSL draw.conf
内容如下
server { listen 80; server_name draw.lefer.cn; charset utf-8; root /var/www/drawio; index index.html index.htm; location / { root /var/www/drawio; index index.html index.htm; } }
重启nginx
sudo systemctl restart nginx
在dns解析服务提供商上增加draw.lefer.cn
解析记录。
申请CA证书。我一直使用的Let’s encrypt
的免费CA证书,非常好用。怎么申请及应用可以参考我的另一篇文章
sudo ./certauto --nginx certonly
修改站点配置文件draw.conf
server { listen 443; server_name draw.lefer.cn; ssl on; ssl_certificate /etc/letsencrypt/live/lefer.cn-0001/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/lefer.cn-0001/privkey.pem; ssl_session_cache shared:le_nginx_SSL:1m; ssl_session_timeout 1440m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-EC DSA- AES256-GCM-SHA384 :ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128- SHA256 :ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256- SHA :DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA -DES-CBC3-SHA :AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS"; charset utf-8; root /var/www/drawio; index index.html index.htm; location / { root /var/www/drawio; index index.html index.htm; } }
再次重启nginx服务
sudo systemctl restart nginx
此时访问已能正常使用。
遗留问题
以上两个问题,我将找时间修改源码来解决。
END