之前因为嫌备案麻烦,一直用的国外的主机。只是网站的访问速度一言难尽,毫无体验可言。
近期腾讯云做活动,1G内存3年只要¥150,简直和不要钱一样。禁不住诱惑上车了。
服务搬家
Docker
由于有了2G的“大内存”(之前只有1G内存),搬家后所有的服务都改用Docker部署。
目前服务器上跑的服务有:
- nginx 网关,将各个子域名路由到对应服务上。
- wordpress 我的个人博客。
- 启用https后,css和js等静态资源始终请求的http地址,导致资源无法加载。折腾了很久都没有搞定,仔细分析后认为应当是nginx做了proxy后wordpress不知道已经换成了https,依旧生成http的资源访问地址。在nginx中增加配置
proxy_set_header X-Forwarded-Proto $scheme;
解决问题。
- 启用https后,css和js等静态资源始终请求的http地址,导致资源无法加载。折腾了很久都没有搞定,仔细分析后认为应当是nginx做了proxy后wordpress不知道已经换成了https,依旧生成http的资源访问地址。在nginx中增加配置
- filebrowser 私人网盘。
- 注:filebrowser,使用Go开发,部署起来比较简单。不过我不想配置systemd,为了开机自动启动功能继续使用Docker。
- django-lb-workflow演示站点
注:可以在docker-compose.ym
中将networks
设置为external
实现不同docker-compose
之间的容器互联。由于我使用nginx
作为网关,因此所有服务都使用nginx
的network
。
version: "3"
services:
filebrowser:
image: filebrowser/filebrowser:latest
restart: always
ports:
- ${IP}:10180:80
volumes:
- ./data:/srv
- ./db/database.db:/database.db
networks:
- nginx_default
networks:
nginx_default:
external: true
HTTPS & DNS
之前一直使用 certbot 进行免费证书的申请,只是这东西的体验一直不是很好。这次换成了acme.sh 。 acme.sh 完全使用shell脚本编写,使用起来非常简单,按照官网文档很快就可以弄好。
之前为了改善网站的访问速度使用了 cloudflare 的CDN功能(然而速度一如既往的慢),域名服务也一并迁到了 cloudflare 。既然不再使用 cloudflare DNS的解析也迁回了国内的 DNSPOD。
注:免费的HTTPS证书已经支持泛域名了,泛域名只支持DNS方式进行认证。
总结
- 访问速度提升巨大,体验好了很多。之前连SSH都容易卡掉线。
- 之前跑在服务器上 telegram-shell-bot 连不上服务器了,被迫停工。
- 网站备案比预期的要简单些。备案审核需要1~2周时间,期间网站访问不了。