【日报#355】拥有一台服务器可以做哪些很酷的事情?

Macesuted

2021-02-22 09:18:10

Personal

> Update on 2022.4.7: 为本人早期博客,可能有错误或不严谨的地方。**另外非常不推荐在开发环境使用宝塔面板。** > 文中部分链接可能无法在 Luogu Blog 中正常使用,可以前往 [此处](https://macesuted.moe/article/projects-on-web/) 获得更佳阅读体验。 我们每天都在用着各大 OJ,各大图床,各大网盘…… 不知你是否有过自己搭建它们的念头? 用自己的服务器,建立一个完全属于自己掌控的网站,邀请你的亲朋好友一起使用你的网站……那一定很酷! > 由于作者本人是 OIer,所以本文建立的网站内容多与 OI/学习/工作效率提升 相关。 > 部分内容仅代表个人观点。 > 部分内容可能具有一定的时效性,本文写于 2021.2,文中的具体情况与写文时的真实情况相符。如果你看本文时离发布时间已有几个月,不保证文中的一些内容一定适用于你当前遇到的情况。 > 部分内容可能利益相关,但是并没有夸大的成分,若你在阅读过程中感到不适,可以在评论区说明,本人可能会有所调整。 > 本人使用的服务器使用 Ubuntu Server 20.04 LTS + LNMP。其他操作系统的具体操作可能与本文的一些操作不相同。 # 服务器 什么你告诉我你还没有服务器? 这里给出三种常用方案,如果你已经有了服务器,可以跳过本节。 ## 虚拟机 如果你只是想尝试着搭网站,没有那么认真,你可以在你的 PC 上搞一台虚拟机。 **注意一些网站可能无法在虚拟机上正常运行。** (由于我并没有用过虚拟机所以关于虚拟机的使用请自行百度 ## 物理服务器(不推荐) 如果你真的很认真,你可以去买一台物理服务器,丢家里。 但是会有很多问题,比如你的物理服务器会没有 IP 地址,可能需要使用内网穿透连接到公网服务器才能正常提供服务。一些物理服务器可能会给你家带来高温和噪音。你家的电费可能会离谱地高。你不在家的时候物理服务器出了未知故障你还不好立即修复…… 对于团队、公司而言,特别是有专门的机房并且有专业人员管理的,物理服务器当然是最佳选择了。但是对于个人来说,这里并不推荐使用物理服务器。 ## 云服务器(推荐) 对于个人而言,云服务器应该是最好的选择了。虽然费用可能较贵,但是你基本不需要担心服务器宕机、电费、噪音、热量、维护等种种问题,可以让你把所有心思都专注到开发上。 本人使用的是腾讯云,阿里云也是不错的选择。但是一定不要选择国内的一些并不是太出名的云服务器厂商,他们可能会采用一些并不一定能代表真实情况的数据来迷惑用户。如果你还是认为腾讯云、阿里云之类的云服务器厂商的价格过高,你需要知道他们的价格之后是更高的可用性、容灾性,可以最大限度地防止宕机等意外事故发生。 如果你不想给网站搞备案,**建议选择境外服务器。** [这里](https://curl.qcloud.com/xk2AgGLs) 有较便宜的腾讯云的境外服务器,推荐使用。(注意这个链接内的一些服务器只有新用户可以购买) --- **本文默认你使用的是 Ubuntu Server 20.04 LTS + LNMP。** # 开始 > 这里的初始化方法仅是本人所在使用的初始化方法。如果你的服务器的操作系统是新的,且你打算按照本文部署网站,建议使用这里提供的的初始化方法。 在这一部分,你需要对服务器进行一些初始化操作。 ## Linux 基础入门 什么你还不会基础的 Linux 操作? Linux 终端对一些新人来说可能不太友好。但是如果你需要在这上面部署网站,你至少需要对 Linux 基础有所了解。 推荐到 [这里](https://www.runoob.com/linux/linux-tutorial.html) 了解一些 Linux 基础。 不推荐死记硬背这些指令。如果你是新人,你可以在想不出打啥指令的时候打开这个网站查找对应的指令。随着使用次数的增加你就会发现你可以熟练地打出这些指令了。 ## 宝塔面板 这个面板虽然被很多人吐槽,但是在一些方面上还是可以有效提升你的工作效率的。 **注意如果你需要正常使用它,你必须保证操作系统安装完成后第一个由你主动安装的软件是它。** [安装链接](https://www.bt.cn/download/linux.html) ## LNMP 进入宝塔面板后即会跳出安装 LNMP 套件的提示。 如果需要安装 WordPress,推荐安装 PHP 7.4。 MySQL 的版本请依据具体服务器 RAM 大小决定,较新的版本对内存的需求可能较高。 ## 安全组 一些云服务器厂商可能会提供安全组功能以保护用户服务器。 由于这里安装了宝塔面板,宝塔面板自带防火墙,拥有与安全组类似的功能,且与后面的操作能更好的结合,所以推荐把安全组关闭或是调整为全部开放。 如腾讯云可以这样配置: ![img](https://img-kysic-1258722770.file.myqcloud.com/abdcda95579ef17d1662ad0a11bd2c6d/e2507639a97f6.png) # 这台服务器可以做哪些很酷的事情? > 下面的这些网站本人均亲自部署过,保证部署过程的可靠性。同时本人也在相应的介绍中给出了本人部署的网站的网址。 由于全文较长,点击下面的文字可以跳转到对应的介绍部分。 - [博客站](#toc-head-11) - [图床](#toc-head-18) - [云盘](#toc-head-24) - [信息学在线评测系统](#toc-head-30) # 博客站 本人使用的是 [WordPress](https://wordpress.org)。 ## 为什么选择 WordPress 相信不需要解释。其功能之强大大家有目共睹。 ## 部署 这里的部署方法基于宝塔面板,方便快捷。 进入 `宝塔面板 > 软件商店 > 一键部署`,点击 WordPress 项后面的“一键部署”。 ![img](https://img-kysic-1258722770.file.myqcloud.com/559a8a61de36ed6d2210f56aed6f76c2/338ab9478bac1.png) 在弹出的窗口选择你的博客域名,数据库及密码。 ![img](https://img-kysic-1258722770.file.myqcloud.com/c0ed422a10e59c729507668abf79b058/cb6bdad361769.png) 然后点击“提交”,稍等片刻即可使用。 ## 扩展 ### 伪静态 如果你需要自定义文章 URL,你必须完成伪静态配置。 点进对应网站,选择“伪静态”,在上方的下拉列表中找到 wordpress 并点击,然后点击下方“保存”即可完成配置。 ![img](https://img-kysic-1258722770.file.myqcloud.com/a7eeb25cde6d1dc68b2a3951d477fff6/fd5273743c646.png) ### 推荐插件 主题就不推荐了,毕竟大家的喜好都不一样,这里推荐几款插件。 ![img](https://img-kysic-1258722770.file.myqcloud.com/df54f80eb55bf353d7b28e5a7cc82a81/90ff7076cbe01.png) Simple Mathjax 插件提供 Mathjax 支持,可以帮你处理数学公式。 WP Editor.md 则可以使用 Markdown 编写文章。 这个搭配的缺点是在 Markdown 的编写过程中可能看不到正常的数学公式,建议在本地写完 Markdown 后再复制进 WordPress 里的编辑器中。 注意如果你的主题也有定义代码块样式,你应该在设置中关闭 WP Editor.md 提供的代码块样式。不然你文中的代码块可能无法正常显示。 --- # 图床 本人使用的是 [Lsky Pro](https://github.com/wisp-x/lsky-pro)。 ## 为什么选择 Lsky Pro 界面清新。用户登录后后台有像云盘一样的管理界面,图片管理相当方便。并且支持腾讯云 COS、阿里云 OSS、七牛云、又拍云等第三方储存方法。图片链接格式也可以自定义。也可以外接鉴黄接口。网站运行效率较高。 ## 部署 可以参考[官方文档](https://www.kancloud.cn/wispx/lsky-pro/880044)。 ![img](https://img-kysic-1258722770.file.myqcloud.com/edc5b1b5a48baf751f8f0d37e46f42f3/2d1cd2bab7f20.png) ## 扩展 ### 第三方存储 可以参考[官方文档](https://www.kancloud.cn/wispx/lsky-pro/880047),选择你想要使用的储存方式进行配置。 这些储存方式的储存效果,以及储存的容量一般都比你本地储存要更优,所以推荐使用第三方储存。 **注意如果你需要在下一步配置 CDN,建议你选择腾讯云 COS 等储存方式,因为这些储存方式在其自己的平台上可以直接接入 CDN。** ### CDN 使用 CDN 可以加速用户访问图片的速度。官方文档上并没有提到此部分。 这里以腾讯云 CDN 为例,其他存储平台请参照其自己平台上的文档。 首先需要保证你的存储方式为腾讯云 COS。 进入 COS 对应存储桶设置页,选择 `域名与传输管理 > 默认 CDN 加速域名`,按照下图配置默认 CDN 域名(加速地域可按实际情况自选)。 ![img](https://img-kysic-1258722770.file.myqcloud.com/e726879e6c38acd5929080083f47dbd3/a2bee2df6b21b.png) (更多关于 CDN 的配置在此处非必要,不详细展开) 然后回到 Lsky Pro,在存储配置中把你的“域名”换成 CDN 加速域名。 ![img](https://img-kysic-1258722770.file.myqcloud.com/aa6ae3820e609961d9abafd8027c9c99/2e83a4c617f63.png) 换完后用户获取到的图片链接就为经 CDN 加速后的链接啦! --- # 云盘 本人使用的是 [Cloudreve](https://github.com/cloudreve/Cloudreve)。 ## 为什么选择 Cloudreve Cloudreve 作为为数不多的开源公共云盘系统,可以使用 WebDAV、离线下载、分享、在线压缩、在线解压、打包下载、S3 存储、用户组、多存储策略等功能。对各大存储方式(腾讯云 COS、阿里云 OSS等)支持好。 ## 部署 可以参照[官方文档](https://docs.cloudreve.org/getting-started/install)。 ## 扩展 ### 第三方存储 在 `管理面板 > 存储策略 > 添加存储策略` 中选择对应的存储方式,根据向导模式填入对应信息即可。 ### CDN 使用方法与 [图床的 CDN](#toc-head-23) 相同。 --- # 信息学在线评测系统 可以查看我的另一篇文章 [五分钟从零建立你自己的 Online Judge](https://macesuted.blog.luogu.org/install-hydro)。 --- 到这里就讲完了。如果您有更多感兴趣的网站想要部署,可以私聊我,可能会给出更多的部署教程。