目前网站部署在阿里云上,不同设备第一次访问都很慢(3~4s),后面就很快了。 估计是第一次需要下载 js(300 多 k)和 css(100 多 k)。
想把静态资源全部放在阿里云 OSS 上,然后设置 CDN,减轻服务器负担,加快速度。 现在有几个问题不知从何入手,搜了很多帖子也没找到例子,请大家指点一下,谢谢。
Gemfile
gem "carrierwave"
gem "carrierwave-aliyun"
config/environments/production.rb
config.action_controller.asset_host = 'http://assets.xxx.com'
config.assets.prefix = "assets"
config/initializers/rails_kindeditor.rb
config.asset_url_prefix = "http://assets.xxx.com/" if Rails.env.production?
config/initializers/carrierwave.rb
CarrierWave.configure do |config|
config.storage = :aliyun
config.aliyun_access_id = "XXX"
config.aliyun_access_key = 'XXX'
# 你需要在 Aliyum OSS 上面提前创建一个 Bucket
config.aliyun_bucket = "XXX"
# 是否使用内部连接,true - 使用 Aliyun 主机内部局域网的方式访问 false - 外部网络访问
config.aliyun_internal = true
# 配置存储的地区数据中心,默认: cn-hangzhou
config.aliyun_area = "oss-cn-qingdao"
# 使用自定义域名,设定此项,carrierwave 返回的 URL 将会用自定义域名
# 自定于域名请 CNAME 到 you_bucket_name.oss.aliyuncs.com (you_bucket_name 是你的 bucket 的名称)
config.aliyun_host = "http://assets.xxx.com"
# Bucket 为私有读取请设置 true,默认 false,以便得到的 URL 是能带有 private 空间访问权限的逻辑
# config.aliyun_private_read = false
end
同时已经在阿里云 OSS 创建了相应的 Bucket。