今天上午花了一上午的时间,将服务器配置好了。主要做了几件事情:

新申请了一个服务器

然后新服务器的 ip 将老的域名绑定。

本来以为改 ip 也要重新备案,结果并不需要。老的那个快过期了,趁有折扣,300 不到开通 3 年的服务器,我觉得还是比较值的。

nginx 的配置

不用多说,就是照着教程配置就好了。

同步与用户组设置

使 rsync 用户拥有 /var/www 目录,这个用户的用户组为 www-data 用户组。 /var/www 目录设置为 755 的权限,以达到 rsync 可以改,但是 www-data 不可以更改的效果。

配置 rsync

花了点时间探索 rsync 使用 rsyncd 自带的加密功能,但是发现效果不如何理想,于是改使用 rssh 来达到自己的目的:

  • 新建一个 rsync 用户,将它的初始用户组设置成 www-data ,将它的 shell 设置成 /usr/bin/rssh ,将它的 home 目录设置成 /var/www ,命令如下: useradd -s /usr/bin/rssh -g www-data --home=/var/www rsync

  • (可选的配置)然后再在 /etc/ssh/sshd_config 里面将 AuthorizedKeysFile 改为如下,以能够集中管理 authorized_keys: AuthorizedKeysFile /etc/ssh/authorized_keys/%u

    其中 %u 就是表示 username,这意味着每个用户都对应一个在 /etc/ssh/authorized_keys/ 目录下面的与其用户名同名文件。

    比如配置 ubuntu 这个用户的文件就是 /etc/ssh/authorized_keys/ubuntu

    要注意的是权限, authorized_keys 目录权限应该为 755,而目录下每个文件应该配置成 644,同属于 root:root,以让登陆的时候可以看到它们,并且不能被随意修改。

  • /etc/ssh/authorized_keys/rsync 内写入你自己的 ssh 公钥内容。和平时写入 .ssh 目录下面那个文件一样的。 注意的是上面那步并非必须,如果不配置上面那步的话,就在 /var/www/.ssh/authorized_keys 这个文件里面写入公钥内容就好了。

    至此, rsync 的加密就已经配置完毕。只要本地公钥私钥正确,就可以直接使用下面这个命令来同步文件了:

    rsync -avz ~/Workspace/blog rsync@myblog:/var/www/ -og --chown=rsync:www-data

    myblog 是我在 /etc/hosts 里面我为自己的服务器 ip 起的别名,你需要换成自己服务器的 ip 地址,或者自己定义的别名。

添加了 ssl 证书

这一步不是非常难,主要就是下载证书,然后再在 nginx 里面配置。网上已经有详细的教程。

美化&博客完善

本来想切换到其它的 theme ,但是发现老是有问题。还是不改主题了,原来这个就挺好看的,PaperMod 万岁!

续费了一下自己的域名。

续了两年,两年之后看情况吧,我觉得我可能还会再续下去,但也没有什么必要了。