Shawn's Blog

一个伪程序员的伪技术博客

0%

把自己的VPS/Server用起来

好多人的VPS或是服务器就只跑了一个小服务或是小程序,虽然我们多数人的VPS性能比较差但是只跑一个小服务一个小程序未免还是有些浪费。大可将其充分利用起来,毕竟性能再差也是一个24小时不停机且带有一个独立公网IP的机器。这里我介绍一下我跑在VPS上的一些服务和使用中的一些经验和建议,希望可以给各位带来些许的帮助吧。

0X00 操作系统

通常我们自己的VPS性能都不怎么强,很多人都是买的单核512M内存的,所以Windows Server系统通常是不用想了。那么众多的Linux发行版本又该如何选择呢?其实因为我们是个人使用,不用过分考虑发行版本的区别,哪个用着习惯就用哪个。我自己的VPS用过一段时间的Fedora和Debian,都是很不错的。如果是针对Linux新手的话我还是比较建议使用Ubuntu和CentOS,因为这两个系统的用户群体很大,出现问题时候在网络上也更容易找到相关的解决方案。

还有就是图形界面,Linux作为服务器操作系统时是完全没有必要安装图形界面的。想必购买了VPS的用户应该也多少能操作一下Linux,就更没有必要浪费系统资源和时间去安装图形界面和VNC了。

0X01 机场建设

大家如果购买的是国外的VPS那么多数情况下都是为了跨过长城,不过好多人在使用的都是基于命令行的Shadowsocks服务,不仅配置起来不太直观,分享给其他人用的时候也不好管理。有一个开源项目ignite可以部署一整套的Shadowsocks管理系统。这样你的VPS就不再是飞机跑道了,而是进化成了一个国际机场 :)

这是一个Go语言实现的基于Web的Shadowsocks管理工具。多个用户使用时会创建多个Docker容器,每个连接使用独立的环境与公网端口便于管理。

配置好后可以在admin端创建邀请码,每个邀请码对应着使用时间与可用的流量。将邀请码分发给其他人后,其他人登录到你的client端便可以使用激活码注册自己的用户,并且启动一个新的Shadowsocks连接。作为管理员可以实时观察各位用户的剩余时间和剩余流量,并且可以进行延长时间和重置流量等操作。

0X02 搭建博客

搭建博客也是一个常规操作了,通常的选择是两种:以Hexo为代表的静态博客和以Wordpress为代表的动态博客。这里更推荐使用Hexo,这也是处于对VPS性能的考虑。我们的VPS通常性能都不强劲,所以使用静态博客可以每次编辑完博文后编译上传,每次用户访问时也只是访问了几个静态文件,再加上Nginx的配合完全可以实现个人博客的需求。Wordpress类的动态博客虽然扩展性很强,评论和浏览量等常见功能的高度集成也很方便,不过问题在于博客的运行需要数据库来支持,这在我们的低性能VPS上通常会导致访问速度缓慢。

静态博客对比与动态博客还有一个好处就是非常便于迁移,针对静态博客只需要修改一下地址重新发布就算是完成了迁移;但是动态博客迁移不仅要重新配置PHP或是其他语言的运行环境,还需要备份并迁移数据库。

相比来说动态博客最大的优势就在于大量的插件与“动态”本身,很多比较大的网站也都是使用Wordpress搭建的。

0X03 自己的Github

众所周知Github上的私有仓库是收费的,国外的Gitlab与国内的gitee个人是可以使用免费私有仓库的,不过有时候为了折腾我们还是可以打造一个自己的私人Github。其中Gogs就是一个极易搭建的自助Git服务,可以简单的使用docker部署,甚至可以直接下载二进制文件运行。而且Gogs对系统配置要求极低,运行在VPS甚至是树梅派上都是没问题的。

部署好Gogs后也可以使用Web进行仓库与用户的管理,通过git命令进行版本控制push pull clone,就像Github一样。并且由于是国人主导开发的项目,整个系统与帮助文档等都是100%汉化的,对新手来说是相当有好的。

0X04 代理下载点

代理下载点就比较简单,每次遇到在国内网络环境中下载特别慢的文件,我都喜欢在VPS上下载好再从VPS上拖回来。在VPS上可以使用aria2来进行多线程下载,拖回本地的时候可以在VPS上长期启一个Nginx作为下载站,也可以在文件目录下通过命令python3 -m http.server临时启一个web服务,等文件拖回来了再关掉。

0X05 注意安全

毕竟我们的VPS都是处在公网环境下的,所以一定要注意安全。比如防火墙不要彻底关掉,用到哪个端口就开放哪个端口;ssh尽量使用公钥验证登录而非密码;对外开放的服务比如数据库或web端的密码不要使用弱密码。

一旦自己的VPS被拿下,轻则被删库跑路,重则拿着你的用户名密码到处撞库,搞不好就会有更多的损失。所以平时自己不同网站不同用户的密码也尽量区分开吧。