关于vps的一些设想
首先,描述一下我的服务器配置
cpu:1核
内存:512M
硬盘:10G
带宽:1G
流量:1000G/月
这个是搬瓦工的512M的洛杉矶CN2线路,访问国内速度很快,电信联通尤其好,移动差劲。现在这款已经下架,目前最便宜的要1G内存20G硬盘-49.99美元/年,这个只能说当初年少无知,没想到捡了一块宝。
但是相对的也存在问题:我们服务器内核不足,而且内存不足,所以很多大型的服务我们是运行不起来的,尤其不建议运行Mysql服务,虽然通过虚拟化内存可以增加内存容量,但是1核心的cpu始终是系统短板。所以系统搭载以轻快+低负载为主。曾经想过将其变为一个网上影院,后面折腾来折腾去,发现不仅仅是硬盘不足,还有由于cn2网络的不稳定,有时候还不如挂代理直接访问一些视频网站舒服,毕竟人家有优化,有线路。那么综合下来,目前服务器上仅仅搭载3个服务:
V2ray:翻墙工具,用来访问一些无法访问的东西。
typecho博客:轻量级博客,很适合这种低内存的小主机,主要是不需要安装数据库。
clibre-web电子书:在线阅读工具,更新迅速还开源。
其中v2使用脚本安装,安装在系统内部。typecho使用宝塔面板。clibre-web使用python项目管理部署。
现在想重新整理这些服务,毕竟当初安装的时候试错和其他服务,所以导致整个系统的文件有点混乱,包括当初为了独立出一个python,也试过python共存。还有就是宝塔面板更新需要手机绑定等问题,导致一直使用旧的宝塔面板。所以现在想要从头梳理一下自己需求,从系统层面重新搭建一个干净的服务器。
1.系统选择
目前是使用centos系统,当时搬瓦工可以安装的系统中自带BBR加速的
BBR是 Google 在2016 年发布的一套拥塞控制算法。它尤其适合在存在一定丢包率的弱网环境下使用,在这类环境下,BBR 的性能远超 CUBIC 等传统的拥塞控制算法。
目前主流加速方式有2种:BBR和锐速。加速效果相近,对于海外的机器我是建议使用加速算法的,流量损耗大概在5%,但是效果提升巨大,目前已经成为大多数服务器自带的一个服务,自带的内核版本是Linux 4.9及以上的系统已经内置BBR但默认为关闭状态。目前CentOS 8.0+, Debian 9.5+都是这个内核以上版本,可以使用以下命令打开:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
如果还嫌弃不够可以再打开TCP Fast Open:
echo "net.ipv4.tcp_fastopen=3" >> /etc/sysctl.conf && sysctl -p
所以大多数Linux系统都是我们的选择。搬瓦工提供的安装系统:
除了centos,debain,Ubuntu,还有一个AlmaLinux和rocky。这边不是很推荐最后两个系统,说是centos系统的后续接班人,但是相对来说文档不多,而且太小众,出现问题都找不到解决方案。然后在centos,debain,Ubuntu之间,我是会比较推荐debain系统,因为centos8系统生命周期2021年已经结束。虽然centos7还存续着,到2024年,但是系统毕竟属于后期维护,团队主力在centos stream。而且debain系统和centos系统相似(其实大多数Linux系统都是相似的,差别在一些包管理。最重要的是debain系统相较于centos系统,占用更小,系统更加稳定,128M的系统都可以完美运行debain系统。debain系统主打稳定性,建议一旦完美运行之后就别去再升级。文档来说相对于centos少,但是还是可以找到大多数的问题解决方案。其次如果是网站服务器,很多时候我们会使用控制面板,由它们来输入和执行命令,所以底层系统的差距对我们影响不大。
总结:如果你是新手(不折腾),使用centos,如果你有一定的排查问题能力且是追求性能极致的(生命不止,折腾不休),那么建议你使用debain。
2,控制面板选择
控制面板相当于我们和操作系统之间的一个中间媒介,用来控制服务器的文件读写,权限配置,php等其他程序的安装,让我们没必要修改一个文件需要打一大堆的命令行。面板能够提供:
1,直观的文件操作和文档
2,傻瓜化网站部署,反向代理和ssl证书申请等
3,php状态查询还有一些插件的安装和卸载。
主流的控制面板程序有很多,但是都大差不离。这边主要推荐两个:AMH,宝塔。
宝塔:大概占用200M左右,国内版本需要绑定手机号,虽说有办法可以绕过去,但总归不方便。每次升级还需要操作一次,这边推荐国际版,内容一样,但是是英文的。可以满足大多数需求:提供一键安装望着那个环境,支持nignx的各种操作,提供软件源,可以让你安装其他一些适配的程序,安装好之后可以直接界面操作,而无需输入命令行。
AMH:之前是特定版本免费,现在已经是直接有免费版本了,根据官网的演示版本,他是更偏向于自定义的,很多东西不会默认给你安装,你需要一点点的去软件商店安装你需要的软件。自定义化程度高,但是相对的很多东西需要有一定的基础,软件商店提供的产品很多,很多都是知名的软件。上手成本高,但是最后成效是要好于宝塔,毕竟宝塔是自己开发,很多功能需要后面增加。这个直接采用主流软件挂载,基本可以实现所有操作。
推荐这两款主要是中文+有自己的文档社区。毕竟出问题好解决。
总结:如果你是新手请直接选择宝塔。该有的都有,该配的都给你配好了,即开即用
如果你是强迫症或者享受折腾的过程,那么请用AMH。
3,服务器程序
服务器内存和核心都是短板,所以一般我不会在服务器运行一些大型程序,基本上关于数据库的操作我都不会部署。目前几个程序几乎都是采用sqllite进行数据操作。人们购买服务器的想法多样:有些是想要部署自己的博客,有些仅仅是为了看YouTube,还有就是自己学习需要一台24小时不间断的电脑,侧重稳定性。但是我想说的是服务器能做到的不仅仅如此:基本上只要是采用python的服务,我们都可以部署,同样基于PHP的我们也可以做到。如果你需要,你可以在服务器上部署jupyter来进行远端程序开发,或者部署一个爬虫抓取对应的资料。这边举例几个:
jupyter:python开发工具,可以满足数据学习和爬虫开发,网页端运行。
爬虫:基于python的自动爬虫工具,数据可以直接保存成json。
frp:一款反向代理工具,可以将你内网的服务发布到外网,让别人可以通过域名或者公网IP进行访问。
博客:typecho或者其他基于python开发的博客。
当然,你如果喜欢也可以在上面安装docker,然后利用docker部署全部程序,实现完全独立的操作。
最后还是要提示一句,服务器稳定为主,不建议经常折腾,如若不是有必要,还是别换来换去的,还有,千万要记得备份,备份,备份。
结局:在一段时间后,我选择了重装系统,将系统换到Debain,面板采用宝塔国际版,英文界面,但是不影响使用,服务程序的重装比想象顺利,其中V2ray也进行了更新配置。
参考文档: