作为交大学子,怎么能没有个人网站呢?
很多小白以为建立网站是件非常难的事情。
其实非常容易,有各种方式,而且成本也不高。
下面我将简单科普,帮助交大門人真正实现“人人有站建”,“人人有机玩” 。
个人网站的组成
你需要一个域名,一个储存网站的地方,一个将网站提供给别人访问的工具。
(半) 免费的解决方案
注册个 Github 账号,新建个仓库(存储),发布到 Github Pages(工具),即可收获一个链接(域名)为 <your-account-name>.github.io
的个人网站,如果你注册有域名,可以使用自己的域名。官方有 中文教程。
优点是可在线编辑,而且永远免费存在。缺点是 Github 某些人可能不会访问。默认是将 Markdown 发布成 html。如果想在你的网站上实现更复杂的功能交互,可以克隆一个使用了 js 的博客的仓库。
除了 Github,应该还有不少免费的解决方案,例如 Cloudflare workers(workers.dev), netlify.com,等等。
这类方案的共同缺点是只能定制网站的前端,即在浏览器里面运行的东西,javascript。而要实现更复杂的功能则需要后端,即在服务器上运行的软件,不要被服务器一词吓到,服务器可以是任何电脑。浏览器里的前端和服务器里面的后端通信,协作共赢,实现复杂功能。
域名注册
域名首年注册,以后每年续费,如果嫌某家价格贵,可以转到其他公司。一定要小心注册过程中隐藏的费用。还要注意,很多域名首年有优惠,首次注册 (registration) 的价格并不等于每年续费 (renewal) 的价格。注意,转(transfer) 注册的公司也要花钱,选下面两家基本就没有转出的必要了。
机构选择
推荐 CloudFlare,这个是互联网大厂里的全网最低价,拥有免费的隐私保护。老牌厂家 Namesilo不太行,以前是全网最低价,被收购之后涨了。
建议不要选择国内云/互联网公司的注册服务。原因你懂的。踩过坑的都知道,后面会非常麻烦。而且很多国际大公司都支持 Alipay(支付),Paypal 绑银联卡。
名称选择
传统域名(.com, .net, .org)快枯竭了,所以出来很多 gTLD 新域名后缀(.app, .me, .one, .moe, .top, …),有些新域名注册和续费还没传统域名贵($10 一年左右),可以参考 Namesilo 上的价格。Cloudflare续费和新注册一个价。
新域名的好处是可以很简短,域名一般越短越值钱,特别短/有特殊含义的往往被注册商设置为“premium”域名,价格奇高。4 个拉丁字符的.com 域名早被注册完了,只有 expiration auction 时放出来一些,价格$几十左右。而 3 字符、4 字符的 gTLD 多得很,随便注册。
更灵活的解决方案
使用(半)免费服务能实现的功能比较少,用自己的服务器搭网站可以更灵活,并且服务器可以用于其他目的(有些是对中国人非常重要的),可玩性大大增加 。
可以用免费方案,即自己的电脑。也可以购买一个月$3起的国际互联网服务器。我特别强调了国际互联网,因为国内的云服务器厂家(阿里、腾讯、华为云)面向个人的产品,在某种程度上讲,都是属于脑子有问题的。例如国际产品限制总流量,例如一个月 500G、nT 流量这种,而国内产品限制带宽,即网速,动不动就是 1MBps(也即每秒下载/上传速度 128KiB) 这种,根本没法用。除此之外,还有个更重要的原因,此处不讲,反正不要用就好了。
VPS 选择
国际互联网服务器,下面简称 VPS,有众多的厂家可以选择。巨头 Google,Amazon Web Service(AWS), Microsoft Azure,Oracle 都需要 Visa/Mastercard/American Express/JCB 借记卡/信用卡才能支付。绑定卡,先用后付。
其中 Google,Azure 价格巨贵,但是到中国的网络线路可以相当好,例如 Azure 香港/东京机房、Google 台北机房。Oracle 能否注册成功随缘,取决于你的卡类型和人品,失败概率大,因为一旦注册成功可以终身免费使用首尔/春川 Arm 服务器,白嫖的人太多了。AWS(虽然有所谓的中国公司,但是宁夏和北京两个数据中心完全是中国公司在运营不考虑)是全球云计算老大,著名的 ECS 和 S3 曾经发生过宕机,直接导致全球 49% 的互联网服务中断。AWS 的 ECS 也比较贵,但是针对个人用户有个操作功能十分简单友好的 Lightsail,推荐韩国/日本/Oregon 机房。
但是 VPS 的世界并不是美国互联网寡头主导的。还有很多稳定的公司,例如赞助了很多台服务器给 Archlinux 的德国公司 Hetzner,属于头部公司中性价比最高的,非常稳定可靠。为了防止被滥用,注册时需要提交身份证照片验证。Netcup RootServer 系列 VDS 也是超高性价比,高 SLA,注册验证也很严格。
DgitalOcean,Linode(已被 Akamai 收购),Vultr,这三个价格差不多,基本$5一个月左右,1T 流量。BuyVM/Frantech 便宜点,$3.5 一个月,而且不限流量。这些都是支持支付宝 / PayPal 的。
服务器地点和国际互联网络线路选择
由于中国三个运营商国际出口和互联情况不一样,经常出现你开的机子地理位置很近,但是不同运营商访问速度不同的情况。可以用 traceroute/tracepath/nexttrace 检查路由线路,或者用 ping / pingtcp 检查延迟。一般正常到美国西部 160~200ms,到美国东部/欧洲 250ms,日韩新加坡直连80-120ms,香港直连50ms。(早些年还有 Gcorelabs 伯力神机,直连 80ms 延迟,现在俄国国际互联网被切断了。)
如果延迟和以上不符,恭喜你,你的 VPS 绕路了。最能绕路的厂家非 OVH 莫属,新加坡的机子能给你绕路到加拿大,延迟直接拉满到 800ms。DigitalOcean 的联通和电信绕路日国 NTT,因为网间结算价格问题三大运营商都喜欢走 NTT 线路,所以晚高峰凡是走日本 NTT 线路的无不丢包率高,以至于需要反复发几次包,导致体感延迟巨高。香港更是奇葩,除了少数到教育网 Cernet 直连 HKIX(有些绕美国洛杉矶 HE),基本上都是绕道各个国家入境大陆,直连的价格巨贵。
还有个有趣的现象是你到 VPS 的去程和回程其实是走不同的链路的,表现为在本机和 VPS 上分别跑 traceroute
看到的路由不一样。例如电信到韩国 Incheon Vultr 机房,可能去程是走日本 NTT,回城走 KT/SK Telecom 到电信直连回国。
TL;DR:
如果你是小白,那么无脑选择美国西部的机器。 因为不管什么运营商,到美国都是走太平洋海缆,没有路可以绕。另外,有些机房回国走所谓电信 CN2 或者 CN2 GIA 精品线路,要加钱,但不一定值。
博客网页的部署安装
有很多软件选择,大致可分为动态语言型和静态部署型。
动态语言型软件
流行的博客软件 WordPress、Typecho,最流行的内容管理也可兼作博客的 CMS 软件 MediaWiki(Wikipedia),流行论坛软件 NodeBB,FluxBB 都是用 PHP 开发的,好处是功能很多,坏处是吃服务器负载并且 wordpress 经常爆出安全性问题。不过 linux 的权限隔离/docker 隔离可以部分缓解这个问题的影响,上面说的$5的 VPS 运行个 Wordpress 也是没太大问题的。
可以用 docker一键运行:
docker run --name some-wordpress --network some-network -d wordpress
静态部署型软件
这些软件可以自动将以 markdown 撰写的博客内容转换成 HTML,并套用你选定的主题,包括以下这些:Hugo, Hexo, Jekyll。例如 Hugo使用起来很简单:
hugo new site quickstart
cd quickstart
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
echo "theme = 'ananke'" >> hugo.toml
hugo server
这些静态 html/js 文件还需要用网页服务器软件如 nginx/caddy 提供给访问者的浏览器软件。新手建议用 caddy,支持自动HTTPS,配置简单方便。
这类博客一般非常快。