刚装完 Ubuntu,做了点基础配置,然后就忍不住卸载了。麻利的滚回 macOS。
感谢指正。
1 反复安装是什么毛病就不清楚了,我没有对默认 dockerfile 做很大的修改。2 的 dockerfile 与 1 的基本没差别。但是 2 里,再也没出现反复安装 gem 的情况了。
1 里,我还有个问题,会卡死在 RubyZip 3.0,必须安装 ruby 3.2.4,或以下版本才行。
2 里,我已经升到 3.3.5 最新版了,并开启了 yjit。
总而言之,言而总之。用 2 就对了,这次的版本对单机部署也很友好。之前在 1 里。为了实现单机部署,额外自己加了好多配置。
感谢一下啊,用 docker logs 容器id
,这个方法对我帮助很大。
在反复尝试下,我终于成功了。现在说明下碰到的问题:
国内这网络环境,Docker
用Kamal
是装不上去的。镜像也是不可能拉取下来的。请先用 SSH 连上服务器,自己把Docker
配置好
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.rainbond.cc"
]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
thruster
是必须安装的,Let's Encrypt 的 SSL 证书需要在这里实现。
gemfile
里增加
gem "thruster", require: false
增加/bin/thrust
文件
#!/usr/bin/env ruby
require "rubygems"
require "bundler/setup"
load Gem.bin_path("thruster", "thrust")
Dockerfile
,最底下改为
EXPOSE 80
CMD ["./bin/thrust", "./bin/rails", "server"]
使用了以后,会在80端口
启动项目。
打开production.rb
,强制 SSL 需要关闭,如果开启无法启动容器。
config.force_ssl = false
虽然在config/deploy.yml
中,增加了 SSL 相关配置,但是启动会失败。
proxy:
ssl: true
host: clwy.cn
猜测可能是由于初次刚启动,thruster
申请的证书还没成功运行,项目就强制 HTTPS 了,导致kamal
检测失败。
不能用ip
,更不能用localhost
。kamal2
,创建了个叫做kamal
的网络,并把所有容器都加入进去了。
进入服务器上,docker ps
,可以看到自己运行的容器
redis
,那你代码中的地址,就应该是redis://clwy-redis:6379/0
clwy-db
Kamal 2
的变更较大,请想升级的朋友们,一定要做好测试。我先用虚拟机测(使用局域网桥接 ip),然后又搞了个临时服务器测试,最终才部署到正式服务器。
同时,我使用Kamal 2
,利用在deploy.yml
中的配置,已将其他服务已经更新到最新版本了
相对于Kamal 1
,最大的特点是部署速度变快了。之前用Kamal 1
,初次部署需要一个小时以上,它会反复的安装gem
,而且越安装越慢。之后再部署,只要不改gemfile
,仅修改代码,部署需要 10 分钟左右。
使用Kamal 2
,初次部署,大致 5 ~ 6 分钟左右。
刚开始没搞 Thruster,在 3000 启动服务,失败。后来给项目加了 Thruster,在 80 启动,继续失败。没脾气了,今天继续。
Kamal 2,昨晚折腾了一晚上没部署起来。本地虚拟机测试的好得很,一上线部署就无法启动,不断的重启。查了各种资料,折腾到我早上 10 点了,改回 kamal 1.9 部署了。
Docker 在 win 下运行速度十分慢,除此外没问题。
https://github.com/ambethia/recaptcha/wiki/Recaptcha-with-Turbo-and-Stimulus
有新的玩法了,使用 Turbo 结合 Stimulus。recaptcha v3 无感先试,不行再切到 v2 让用户点。 Rails 7.1 已尝试集成了,没有发现问题。
我都见过有公司在 win 跑虚拟机,在 linux 虚拟机里再跑 docker,速度比 win 直接运行 docker 快很多很多。
就是 win docker 的问题,我 100 毫秒响应的页面,win 的 docker 跑到 30 秒,我都惊呆了。
剪辑用的什么呢?final cut 吗?
薯片 + 可乐
Of course, all of my company's projects are developed in ruby. Because I'm in charge of the company, and I don't want to use any other language.
来自语言本身,我灵魂深处对它的厌恶
看着很不错哦,下次部署就用这个
老铁,Hate java with passion +10000000000000000000000086
我不是编程界的大佬,我是吹牛大佬。
可以研究下怎么写一门新编程语言和开发一个操作系统。
实际测试,测试机 macOS 系统。我的项目页面比较复杂,查询也相当多。
确实是快了 5 倍,但依然还是本机直接运行最优。我感觉 docker 还是只适合部署,不适合开发用。
查到目前 python 上的相关包也是一堆问题。
这搞的没法开发了
https://github.com/Homebrew/brew/issues/7857 Homebrew 的支持情况。
我看了 homebrew 的说明,目前不支持 rbenv,不支持 ruby-build。
再次做了测试,
<a href="/test" style="display: block">
<span>你好</span>
</a>
果然可以完美的触发。
于是我在 1 的思路之上,尝试将 div 设置为 inline 或者 inline-block
<a href="/test" style="display: block">
<div style="inline-block">你好</div>
</a>
惊喜的发现,这样也可以完美的触发。
我继续检查站点,发现链接包含的图片又出问题了,无法触发。
以下是我测试的代码:
<a href="/test" style="display: block">
<img src="https://images.clwy.cn/video/course/23/image/7bbd2f.jpg" style="vertical-align:bottom;">
</a>
图片的底部会因为基线问题,出现一小段空白。为了防止误判,加上了vertical-align:bottom;
,使得图片与 a 高度一致。
发现无论怎么给 img,或者给 a 设置 display,都无法触发到。
我再次做了测试,这次用一个更简单的结构:
<a href="/test" style="display: block">
<div>你好</div>
</a>
没有任何其他 css,这样都无法触发到预加载。
如果改为:
<a href="/test" style="display: block">
你好
</a>
这样就触发的完全没问题。劳烦测试看看,是否也有相同的问题存在。
名称已经换成「长乐未央」了,但是域名还没修改,依然还是老的那个。
请帮我把域名,修改为https://clwy.cn
<a title="HTML 入门" href="/video/courses/html">
<div class="images">
<img alt="HTML 入门" src="https://images.clwy.cn/video/course/23/image/7bbd2f.jpg" data-src="https://images.clwy.cn/video/course/23/image/7bbd2f.jpg" class="lazyload lazyloaded" data-ll-status="loaded">
</div>
<div class="info">
<h3 class="title">
<span class="badge blue">全6回</span>
HTML 入门
</h3>
<p class="date">
<span>2020年08月27日更新</span>
</p>
<div class="detail">
<p class="description">
HTML中文全名叫做超文本标记语言。
</p>
<p class="tags">
<i class="fa fa-tag"></i>
<em>HTML</em>
</p>
</div>
</div>
</a>
turbolinks-prefetch 源码中通过:
document.addEventListener('mouseover', (event) => {
this.mouseover(event)
})
mouseover(event) {
const { target } = event;
console.log(target)
}
测试了下,很难触发到a标签
上。
虽然调整 html 结构,可以满足需求,但是工程量太大了。请问 @huacnlee ,有没有更简单的解决方案?
可以访问我部署的这个站点,https://clwy.cn 。导航条的链接触发是正常,但是中间的课程列表部分则很难触发。
麻烦将酷站中,「ITFun.tv」,修改为「长乐未央」域名:https://clwy.cn。 以前老域名已经不再使用了。谢谢
好东西,今天就加上
等稳定一周了,看着没换回来,我就跟着换
比我想象的低很多。以为最少是 4 核 4G,或者 4 核 8G 的。 难以想象,2 核 4G 里面还跑了 Docker,跑了 Action Cable,跑了 ES 搜索。居然还能稳定运行。
很高兴能有帮助
我就是好奇 ruby china 不上传也能用
明白了