腾讯云服务器使用感受,及折腾笔记

见闻感悟 Dec 1, 2021

年岁渐长,有那么些时候,总要找个机会或方向,为整日疲于挣钱的自己花点钱。前阵子,有入手 Apple SERIES 7 外,趁着腾讯云搞促销,有购买一台云服务器,以供业余把玩些有趣的项目。先前有使用 DigitalOcean 以及阿里云的云服务器产品,但初入手腾讯云服务器,仍费了些功夫,在此记录一篇文章,以记载个中使用感受,及折腾感记,希望对“后来者”,有所帮助。

腾讯云服务器使用感受,及折腾感记

有必要分享下所购买的规格及价格,腾讯云因为众所周知的原因,促销是真的便宜,2核 4GB 3Mbps,3 年也才 707 人民币;不过其续费是真的贵,一年就需要 4049 元;这种“杀熟”的玩法,国内的几个厂商,可谓“一丘之貉”;阿里云在这一块儿,有过之而无不及:1 核 1 GB 1Mbps,续费一年就需要 1700 元 ── 这也是想尝试下其他厂商产品的缘由。

使用感受

  1. 腾讯或许是不自信?自家产品(无论是公众号、还是云服务器),对扫码登录,有一种无以复加的执著;即便是 QQ 注册账号,登录时也必须再加一道微信扫码。而且,登录有效期极短,这给人体验十分不好。
  2. 比较习惯使用 Ubuntu 系统;首次登录时候,总也登录不上,说是账号密码错误,好一番折腾,各种查找文档才解决 ── 原来腾讯云 Ubuntu 系统账户名默认为 ubuntu;后起之辈,搞得与业界不一致,这样是处于什么考量呢?十分不解。
  3. 基于「账号密码」登录服务器,相对来说很繁琐。原本想换成基于 SSH 登录,各种折腾,竟然不能如愿;后参考文档 ── 使用 SSH 登录 Linux 实例,一番操作倒是可以登录,却仍要输入密码,谜之设定,也是不得不服。
  4. 无论是通过网页,还是基于终端操作,其体验尚可,与其他竞品倒是没有明显不足。值得一提的是,其云服务器,因为内置了 snap,因此安装些软件(如 DockerFlutter),倒是非常方便。

折腾笔记

安装 Docker

安装 Docker,可以参考文章:Install Docker Engine on Ubuntu。但操作起来颇为麻烦;但基于 snap,就非常方便。

sudo snap install docker

颇为值得一提的是,腾讯云服务器的「错误提示」,做得蛮好。就在嫌安装 Docker 比较麻烦时,有尝试运行下 Docker 命令(验证下是不是有内置),收到如下错误及提示(建议),这值得为之一赞。

Command 'docker' not found, but can be installed with:

sudo snap install docker
sudo apt  install docker.io

See 'snap info docker' for additional versions.

安装 Docker Compose

Docker Compose,用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。在 Linux 系统上安装 Compose,可以参见文章:Install Docker Compose;具体操作如下:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

解决 Dcoker 相关报错

在重启服务器之后,会报如下错误:

cannot update snap namespace: cannot create symlink in "/etc/docker": existing file in the way

其解决办法参见:Cannot update snap namespace: cannot create symlink in "/etc/docker": existing file in the way,具体操作如下:

sudo rm -rf /etc/docker
sudo snap refresh

部署 Wiki.js 服务

Wiki.js,一个基于 Node.js现代轻量级强大的 Wiki 应用程序(值得一提的是,Wiki.js 是一个开源项目)。最近有尝试基于 Wiki.js 部署了一个服务:清风明月阁,切实感受了下 Wiki.js 的强大功能与便捷使用;在其官方网站提到:“使用 Wiki.js 漂亮而直观的界面,让编写文档成为一种乐趣!“,其所言不虚

Wiki.js Basics UI

部署使用到了 Docker Compose,具体可参见文档:Using Docker Compose Install Wiki.js;下面是 docker-compose.yml 文件的完整演示:

version: "3"
services:

  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    logging:
      driver: "none"
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data

  wiki:
    image: requarks/wiki:2
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
    restart: unless-stopped
    ports:
      - "80:3000"

volumes:
  db-data:

只需在 docker-compose.yml 所在根目录,运行如下命令即可:

sudo docker-compose up

但在实际操作中,会报出如下令人不解错误(这颇令人令人费解,如果这是常见问题,文档该有所修正才是):

delete from "locales" where "code" != $1 - update or delete on table "locales" violates foreign key constraint "pagehistory_localecode_foreign" on table "pageHistory"

Docker Compose Wikijs Error

仔细看了下 Docker Compose 配置文件,发现 volumes 的配置,存在些疑问,对其稍作修改,便解决了问题。如此,属于我 Wiki 服务,就这么较为轻松的部署成功了。

#volumes:
#   - db-data:/var/lib/postgresql/data
volumes:
    - ./db-data:/var/lib/postgresql/data

安装 nginx

除了通过源码包编译安装,还可以通过 apt-get,具体操作如下(snap 不支持安装 Nginx):

sudo apt-get install nginx

解决 nginx 相关报错

nginx: [emerg] "server" directive is not allowed here

如果所配置的内容,不能如期生效(如 https(443 端口) 配置,连接被拒绝:nginx port 443: Connection refused );除了要检查是否将 443 添加「安全组规则」,另外就是要检查 nginx 配置(可通过 nginx -c 命令),具体操作如下:

nginx -c /etc/nginx/conf.d/[XYZ].conf
# Error
# server directive is not allowed here in /etc/nginx/conf.d/[XYZ].conf

加入出现如上报错;根据经验,可从以下几个角度来排查 & 解决:

  1. server 单词拼写是否有误;
  2. 配置里括号是否对应;
  3. 配置文件顶部是否有不明字符;
  4. 查看配置文件命名是否合规(xx.conf);

您可能感兴趣的文章

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.