编辑
2024-08-01
杂记
00
请注意,本文编写于 274 天前,最后修改于 274 天前,其中某些信息可能已经过时。

目录

前期准备——服务器、域名
服务器管理——1Panel
反向代理管理——Nginx Proxy Manager
博客系统——VanBlog
云盘——Alist
总结

这几天也是趁着暑假把网站迁移了一下,主要还是因为经济的原因。为此也是浪费了大把的时间,明明已经是第二次了啊。于是乎痛定思痛,决定记录下自己建站的过程,说不定之后自己还能再用得上,或许也能帮同样想要建站的朋友们少走些弯路吧。

前期准备——服务器、域名

要建站,自然需要买云服务器啦。云服务器有两个难以替代的优点,一是可以全天候运作不需要关机,而是能够附带一个稳定的IP地址,这二者都是一个网站不可或缺的要素。至于价格的事情……一般都是以活动优惠价购买,不过也很容易像我这样优惠到期后又不得不迁移到另一个服务器的情况。

另外,网站也理应有个域名,倘若你不想让访问者不得不输入一段不明所以的IP地址还无法用HTTPS访问的话。域名的费用相较服务器应该低一些,当然更热门的域名价格也会更高。

最后,如果服务器在国内的话,还需要进行ICP备案之类的工作,需要等待一定的时间。

服务器管理——1Panel

一般来说,如果你不想成天对着远程连接时那黑漆漆的终端发呆的话,一个简单易用的服务器面板还是需要的。这边推荐1Panel,一方面是因为免费开源,另一方面也是因为界面清爽简洁,至少很符合我的口味,嗯。

不过一般而言也只需要用面板做些文件管理或服务器监控这样的工作就可以了,如果直接在面板上安装应用的话很容易会出现难以觉察的错误(来自被折磨好几天的笨蛋的衷告),比如1Panel管理网站的默认应用OpenResty似乎会和之后将提到的Nginx Proxy Manager冲突。

反向代理管理——Nginx Proxy Manager

这里开始就比较专业化了,其实如果网站只有一个进程,那么其实是不需要反向代理这种东西的,直接让进程监听80端口就可以了。奈何我比较贪心,目前来看就需要分为夜梦草博客和夜梦云网盘两个大区,这时候就需要反向代理来将不同的域名解析到不同的端口。简而言之,反向代理就是将原本默认发送到服务器80端口的数据包分发给监听不同端口的不同进程。(咱也不确定这样说对不对)

这里就推荐Nginx Proxy Manager这一有力的工具啦,再也不用手动去改Nginx那复杂的配置了,这里还有它的中文版本。安装好后,作为小试牛刀便可以将一个子域名解析到Nginx Proxy Manager(一下简称NPM)界面。

比如说,yemengcao.cc是我的主域名,那么nginx.yemengcao.cc就是主域名的一个子域名,但两者可以通过反向代理解析到不同的端口。在NPM界面(默认用IP地址:81访问),点击主机-代理服务,添加一个代理服务,然后向下图那样配置:

Snipaste_2024-07-31_23-24-25.png

域名一栏不必多说,可以填多个域名指向同一个端口,协议选http,不知为何选https会失效,转发主机/ip填在服务器中输入ip addr show docker0命令获取到的ip地址(因为web应用运行在容器中,需要用此命令获取容器运行的宿主机的地址),比如说这边是172.17.0.1,然后转发端口是NPM运行的81,下面几个选项选择“阻止常见漏洞”即可。

这样,在地址栏中输入nginx.yemengcao.cc就理应能访问到NPM的界面了,但为了能用https访问,还需要最后一步操作。

选SSL证书-添加SSL证书-Let's Encrypt,输入域名和邮箱,这样就可以为该域名申请一个免费的SSL证书,然后在代理服务界面编辑原来的代理服务,在SSL分栏选中刚才申请的SSL证书,然后选中“强制SSL”,这样访问网址时就自动是https访问啦。

此时,也可以把1panel反向代理了,注意这里在添加代理服务时需要勾选“支持WebSockets”,否则1panel的终端无法正常使用。

另外,由于浏览器缓存的原因,访问网站时可能会是原来的界面,因此调试的道路注定比较坎坷。但一顿梳理下来其实并没有多少步骤,遇到bug时就冷静地处理吧。

博客系统——VanBlog

如果想随便写些博客还是找个博客系统比较好,自己从头开始需要投入大量的学习成本,最后可能还不咋样。实在不行也可以和我一样另外将一个子域名解析到自己的静态网页,然后慢慢扩充。(虽然目前还没搞好)

目前夜梦草用的是VanBlog系统,虽然并不是什么主流的系统啦,也没有多少华丽先进的功能,不过平平淡淡才是真。秉持着我一贯的简约风格,便先这样了。搭建过程其实也还好,从原来的服务器迁移过来也很方便,最后用NPM反向代理一下就可以了,至于博客内具体的内容就需要自己慢慢丰富啦。

云盘——Alist

对于网站而言云盘的重要性还是很高的,不仅可以存放网站中需要的大文件,也可以用作日常向他人分享文件使用,鉴于目前各个社交平台传输文件都比较麻烦。

这边用的是Alist,也是比较简约的风格,只要挂载一个本地存储就完全够用了。

总结

建站的流程大概就是这些,当然这也只是我自己的一个过程,完全可以再去探索更多。虽然的确有些复杂,但全部完成后的成就感也是满满的,就像在一个无人打扰的岛屿上,开辟了一片属于自己的净土,任由自己探索和创造。