背景

作为一个程序员,有一台自己的服务器做学习研究分享是很有必要的。

目前市面上的云服务器平台也很多,随便选择一家也行,但是从零搭建的感觉更能学到东西。

而且价格上来说也是很划算,而且想升级什么就升级什么。

购买硬件

硬件上来说,因为主要是web服务器,所以核心是CPU够用就行,内存和硬盘容量大一些。

CPU

CPU用奔腾的系列就好了,最新的奔腾也用上了超线程,多任务能力已经很强悍了,3、4百块就能搞定一个,而且功耗也低,毕竟电费也是要算上了。

内存

内存8G就够,16G完美,选个大厂的就好,作为服务器还是会长时间运行的,大厂质量有保证。

主板

选个固板就好,放弃扩展性,可以进一步降低价格,选ITX主板还可以进一步减小体积,往HTPC发展。

硬盘

一块60G的SSD做系统盘,HDD做存储盘可有可无,1T的也就不到400,足够。

机箱

机箱没什么讲究,家用服务器也不要求什么热插拔,所以不用考虑扩展性,散热基本能有孔散出去就差不多。

这样一套下来,成本不超过3000,保质期基本是3年,3年过后还可以继续用,或者升级配置都可以,这个成本绝对比同配置的云服务器便宜很多。

安装系统

随意可选,注意把系统装在SSD上,HDD作为挂载盘后面再挂上去,我选择的是Ubuntu Server。

选择Ubuntu的原因是,自己平时桌面版也用的是Ubuntu,比较了解,而且Ubuntu有桌面PC系统的经验,个人觉得对于我这套按照个人PC配置的电脑兼容性会更好。

联网

既然要能外网访问,那就必须要有一个外网IP地址,同时能把请求转发到自己的电脑上。

首先解决外网地址的问题,电信的网络默认分配的是一个内网地址,名义上为了安全考虑,但是这个内网地址通过外网是访问不到的。
你会发现你访问外网的地址和实际被分配的地址是不一样的,而电信肯定也是不会为你转发的。

所以这时候你需要给电信的客服打电话,不管什么情况,坚定不移的告诉它你要办IP回退,除非他明确告诉你不给办,否则他说什么都不要管。

如果那边明确告诉你不给办。。。希望你还没买硬件,买了的话愿你能够获得原价退货。

无解的80端口

不过我们已经多努力了,80端口是肯定不行的。通过浏览器用HTTP访问我们的地址,默认就是用的80端口,这个端口是电信不开的,所有请求会直接在电信端就被拒绝,所以我们的服务器基本需要使用443端口来提供服务,也就是说网址必须带https访问。

不过letsencrypt给我们提供免费的SSL证书,非常方便,详情获取方式可以看这篇文章

解决路由问题

解决外网IP的问题,你可能还会面临一个问题,就是路由的问题。

现在电信肯定会给你一个光猫,同时可能还会附带一个路由器,如果没有带,你自己肯定有一个路由,反正肯定会有个路由器。

这个步骤里面的重点就是要使用这个路由器来做路由,也就是说这个路由器必须运行在路由模式,而不是中继模式。
因为后面不管是设置端口映射还是DMZ主机都只有路由模式才能使用的。

如果你自己能设置就最好了,如果电信的维修人员能帮你设置也行,如果电信的人不帮你设置,那你就只能自己动手了,最坏的情况是你要自己去网上找光猫的破解方式或者超级管理员的密码去修改光猫和路由器的密码来完成设置。

设置路由

首先设置一下mac地址和ip地址的绑定,这样能够保证在你的路由器和服务器的局域网里面,服务器的地址是不变的。

然后你需要把端口转发到你的服务器的端口上,如果有DMZ主机设置是最好的,这样直接填上你服务器的局域网地址就好了,不过这样最好在服务器上设置一下IPtable。

如果使用的是路由器自带的端口转发,可以只开需要的端口,但是每次开新端口都要求设置一次,比如外网的443端口转发到服务器的443端口等,常开的端口就是443和22这2个了,如果又其他服务可能还会需要其他端口,但是推荐使用设置子域名的方式,这样就不需要额外开端口了。

总结

这样基本就完成了服务器的搭建工作,用网址访问一下看看是否能够正常访问即可。

还好这些操作只需要做一次,就能够享有自己的服务器,想想还是很好的。