T 003 自己动手建个网站

T 003 自己动手建个网站

Trick 003 自己动手建个网站

依稀记得自己小时候有一阵很流行搞blog,台湾腔念成“部落格”,比如山寨 FB 的人人、MS搞的Space之类,作为一个很好的个人平台展示模块。

但是对于曾经打算爱慕虚荣地自己搞数据研究的我来说,这种BLOG的形式已经远远不能满足自己的需求了。换言之,一个寄宿在“renren.com/xxxx”这样的一级域名下的地址已经遏制不住青春期的闷骚了。于是在13年自费15刀买了一个属于自己的域名“liuliu.us”(因为当时在美帝,更因为 .com 实在价格不菲)。至少在我那个年代,其实周围的很多朋友都有自己的个人网站,特别是建筑系的同学为了申请学校除了放作品集之外,如果有一个个人网站可以不断更新自己的设计稿和成果会非常有利于自我展示。下图就是我的第一个个人网站的截图。彼时就开始不喜欢用big data这个词语来形容,于是就选择了data-driven。也不知自己开了个什么脑洞,竟然后面补充了planning process,凑成了DDPP这么一个奇葩缩写。

顺带提一句,这个网站其实去年就关闭了,但google了一下发现这么一个神奇的网站 Wayback Machine:

https://web.archive.org/web.archive.org

这个牛X的站点居然保存了全球大量的网站,incredibly amazing.


回国后我又自己动手陆续建了两个网站: www.citory.net, www.citorytech.com

前一个依然是自己独立完成的,不过后一个相对复杂,是依靠众多小伙伴共同完成的。但总体来说,这几个网站的基本框架结构,是可以一个人搞定的,而且其实是在自己没怎么写过代码还比较小白的状态下搞定的。

Where City Embraces Datawww.citorytech.com

本次trick,我会大致介绍一下方法和过程,如有细节的问题欢迎留言:

1 云服务器

一般国内的话找阿里云、腾讯云这些大品牌相对稳定一些,不过七牛云、美团云、青云。。。这些也都OK的,价廉物美。如果只是个人站点的话,也不需要什么cdn加速之类的服务,只需要买个比较低配的环境,买个1-2MB的公网带宽足以,价格的话一年几百块钱完全可以搞定。据说阿里云现在搞促销,只要实名认证就可以送。阿里云的控制台大概长这样:

虽然工具有很多,但是其实多数的工具我们都可以忽略,对于建设普通的站点而言,甚至连安全组的80端口都是默认打开的,问题不大。可能最花费时间的是网站的备案,国内对于所有的大陆境内的服务器上搭建80端口的网站(也就是我们常说的http协议开头,后缀不用特别声明端口号的默认情况就是80端口,https则是强制使用443端口)都要求对域名进行备案,这个具体操作可以看下图标题栏右上方的“备案”按钮。目前几大门户云服务器供应商都提供免费备案辅助服务,其实还是很容易的,就是备案时间比较久,通常需要20个工作日。

买来的云服务器务必注意一下有没有分配公网地址,也就是这台服务器在互联网世界中的绝对地址,比如我家里ping出来度娘的ip地址是:111.13.100.92,各位在浏览器中直接输入这个同样也可以看到那个熟悉的熊掌印。顺便提一句,有时候会发现浏览器网页打不开,但是qq登录的上的情况,这就很可能是DNS域名解析出了问题,其实国内域名污染的问题还是很严重的,不亚于不少地方的环境污染。


2 选择域名

域名可以从很多地方去购买,既可以直接从阿里云上买,也可以通过第三方买了之后去第三方解析,我的第一个域名(liuliu.us)和第二域名(citory.net)其实就是从 iwantmyname 上面买的,第三个域名(citorytech.com)则是通过腾讯云直接买的。注意,不论从那里买的域名,只要它在DNS解析的时候链接到了大陆境内的服务器,都是需要备案的。DNS解析是啥意思?简单的说就是有一些服务器专门把域名解析为ip地址。据说以前有个叫王伟伯的人注册了一个 weibo.com,然后被新浪用800w买了去,有兴趣的朋友可以找找自己心仪的域名。

3 搭建环境

这个是被博磊兄早年带着学着用caffe处理图像识别给影响的,个人比较习惯使用Ubuntu系统,各种复杂繁琐的一个操作系统,但是跑计算啥的很方便。最早就直接用LAMP的方式来搭建的,这里有相关的教程,放在今天看也是可以用的:)btw, Digital Ocean真是个不错的网站

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04www.digitalocean.com

LAMP其实就是 Linux + Apache + MySQL + PHP,意思是构建一个个人站点要有这几样工具。虽然我们现在搭建的各种平台除了Linux这个底子还在,其他都不是用这些了,不过搭个小站点,这几样工具还是妥妥的很方便。也有人用 LNMP,即Nginx,老毛子发明的软件性能还是更牛一些,不过其实我觉得Apache2简单方便省事。


4 懒人建站!

我们公司现在建各种站点主要是nodejs来开发,不过今天讲的不需要那么复杂,直接用wordpress就可以。对你没有看错,用wordpress就可以搞定官网,我们比较酷炫的官网也是通过wordpress一点点搭建起来的。这样的做法会比油管上推荐的什么hix还要直接与简单,因为我的第一次建站采用了wp(以下简称这个),后面再建站的时候就会觉得wp更方便,久而久之就会觉得展示性的官网应该具备以下几个方面的特点:1 内容可以让写手(不会code)自己写自己更新;2 多级权限管理;3 兼容性、备份方便;4 完善的后台管理与可扩展性。我们官网的后台大概长下面这样,有一些很有意思的扩展包,比如slider revolution。

而在这几个方面,wordpress完全可以满足我的需求,这比花几万块钱请个cs的来帮你搭建一个站点方便的多,毕竟请人建个站点后期运维更新都很困难,有时候一个不太友善的后台可以让用户体验到真正的崩溃。

怎么在 LAMP 的环境上安装wordpress?这也很容易搜到,而且也是在 Digital Ocean

https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lamp-on-ubuntu-16-04www.digitalocean.com

学好英语真的很重要,很多事都不用求人。Wordpress 基本上就是个可视化、在线版本的网站编辑器,比以前学的什么dreamweaver界面友好很多,当然如果用了不少插件的话也会变得很复杂,有兴趣的朋友可以在这里看一下可以购买的theme,免费的固然好,不过付费的也有不错的。

WordPress Themes & Website Templates from ThemeForestthemeforest.net图标

可能有人觉得我这说的哪里是建站,分明是捣糨糊的各种凑合与偷懒,不过既然只是为了建站,何必考虑这么多过程?红芯事件的ceo的那句名言倒是挺好 —— 所谓“站在巨人上搞创新”,确实是一句很有意义的废话。我们现在在用电脑写代码,确实是站在了图灵、冯诺依曼的肩膀上在创新。举头三尺的电灯给了我光和热,确实应该是站在了特斯拉的肩膀上搞创新,不然我晚上天黑只能睡觉了。

PS:标题图是纪念自己第一次安装工作站时的狼狈光景,这台00工作站目前还在公司辛勤服役。哥们儿,辛苦了,既是对你,也是对自己说。

编辑于 2018-08-25

文章被以下专栏收录