起因

  之前,我的博客一直是用PHP虚拟主机搭建的,优点是价格极低(20多元一年,甚至有免费的),但缺点也很显然,比如无法自由配置子域名(受套餐限制),只支持PHP,无法部署一直想用的Halo博客引擎,无法运行Python程序。。。总之太多限制,很不自由。。。遂乘双十一到来,在腾讯云买了轻量应用服务器(腾讯云确实便宜,非广告),至此,我可以:

  • 获得公网独立IP
  • 部署非PHP博客引擎
  • 利用Gitea部署私有Git服务
  • 实现内网穿透
  • 开发多人联机的软件、游戏
  • 物联网
  • QQ机器人
  • 实现子域名数量自由
  • 搭建邮件服务器
  • 自动量化交易
  • And more…

  虽然以上大部分还没有实现,但总之能干的事情几乎是无限的。

云服务器配置

  2核2G内存,峰值宽带30M,对我来说足够了,要不是这是最低可选配置,我会选1核1G。
  原本想用腾讯云提供的预装宝塔面板的镜像,之后知乎一搜各种漏洞。。。算了,决定从0搞起。Windows Server要付费,CentOS用的人多但停止更新了(还在维护,但不是长远之计),遂选择了稳定且开源程度极高的Debian。
先用cat /proc/cpuinfo看一下CPU型号:

model name : Intel® Xeon® Gold 6146 CPU @ 3.20GHz

  这个配置我觉得还是不错的,看到官方的说明也可以长时间跑满。

服务安装

  按照以下顺序依次安装并配置:

  1. Nginx
  2. MariaDB(兼容MySQL的开源数据库)
  3. PHP
  4. phpMyAdmin
  5. OpenJDK
  6. Halo

  至此,我现在用的博客就安装完成了。关于文章、评论的迁移,我没找到有好的方法从Typecho迁移到Halo,看数据量也不是很大,就不写程序了,手动一条条把内容和发布时间等信息添加到新的数据库。。。顺便清理了一下垃圾评论。
  我还要把我发布的几个应用的官网挂上来。之前是直接写了几个静态HTML+CSS,为了便于以后发布更多应用,我用Flask配合Jinjia2模板引擎写了个简单的程序,收到请求后服务端渲染并返回,源码放在了GitHub上。
  新建用户,建一个Python虚拟环境,用uWSGI运行上述程序,再用Nginx做个反向代理(类似部署Halo)就OK了。效果见:

  以上搞完,成就感满满。还有几个部分没完成迁移,准备进行一波优化后再搬上来。

后续

  配置防火墙(其实好像不用,腾讯云自带了)和域名解析后,新的网站就算是正式对外开放了。运行一段时间,拉Nginx日志发现每几分钟都有一些IP请求各种我服务器上不存在的地址,列举几个:

/owa/auth/logon.aspx
/ipl/app/flash/publicbmw/ball/FigLeaf.js
/getConfig/getArticle.do

  有些请求时还会带上各种奇怪的参数。大概在公网上的服务器每时每刻都有被网络渗透的风险吧!之前用虚拟主机搭的博客看不到这种日志,一直没有发现。

Q.E.D.