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