本文最后更新于 2024-07-31,文章内容可能已经过时。

大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~

前言

文章开始前先提个小问题,大家都有阿里云的ECS吗?嗯,很好,大家都有! 啥?谁说的没有?没有的快去面壁!

为啥怎么说?因为ECS的用途实在太多了,我先后在阿里云ECS上部署了约有10个应用,比如我们的内网穿透、QL、Nginx反代、WAF等等。

这些应用不仅帮助我更好的访问局域网内的NAS、路由器等设备,更帮助我做好站点的安全防护与数据隐私。最最重要的是,还可以利用空余的资源跑跑脚本、赚赚外快!

阿里云最新99计划,一年仅需99轻松又愉快,四舍五入不要钱。

那么,就给大家分享一下,我都在阿里云上部署了哪些应用。如果大家有新项目,也欢迎在评论区留言,一起探讨。


一、准备阿里云ECS主机

1、谈谈云主机的选购

在购买阿里云ECS前,我们先要了解为什么要买ECS,以及应该如何选购ECS。

为什么要买ECS:

购买ECS,还是要从需求出发的,不是为了买而买,常用的情况包括如下几种:

①、家里没有公网IP。需要通过阿里云ECS来进行穿透,实现互联网访问NAS

②、站点需要备案,或需要站点无端口访问。在家宽不允许备案的情况下,阿里云ECS备案是最简单、轻松的。

③、个人没有硬件设备,但是又想折腾一下,想赚点零花钱的,需要一个云主机载体。

如何选购云服务,哪一家更好?

对于百元级的云主机来说,目前主要分为轻量型经济型两种,两者配置几乎一致。但是轻量型服务器有个缺点,那就是不支持安装虚拟化软件和二次虚拟化。轻量型服务器可以直接以一个容器镜像或系统镜像启动服务,但是无法像经济型一样,根据自己的需求部署更多的容器应用,这对于资源就很浪费了。

此外,轻量型服务器在性能使用上也不如经济型,原因在于经济型ECS对于资源的使用配比会更高,在10%—90% 之间动态调整,而轻量型服务器往往在10% 以下。

目前国内主流云服务厂家包含阿里云、腾讯云、华为云、火山云、京东云等,个人认为阿里云在这里是拥有足够的优势的。

🔻比如腾讯云、华为云主要提供的是轻量级云主机

1️⃣腾讯云,轻量级服务器,非ECS
image.png

2️⃣华为云Flexus轻量级服务器,非ECS,价格更贵一些。
image.png

🔻比如火山云、京东云则存在流量限制,超出后需要收费,且续费价格均为千元左右。

1️⃣火山云,仅产品首单优惠,后续2000多一年。
image.png

2️⃣京东云,价格更贵,而且限流200G
image.png

关于“阿里云99计划”:

阿里云作为全球领先的云计算服务提供商,以其卓越的技术和服务在行业内树立了良好的口碑。为了给中小企业、个人技术爱好者提供更好的服务,阿里云推出了以“99计划”为代表的ECS云服务器,以普惠的算力实现设计,满足业务需求。

目前阿里云99计划共有两个版本的选择,分别是个人版99ECS(2c2g,40Gssd,3M带宽),企业版199ECS(2c4G,80Gssd,5M带宽)

🔻cherry在用的99ECS,购买后稳定运行30天,问速度很稳,不丢包,不延迟。部署了7个docker应用,cpu、内存使用情况良好。
image.png

1、购买云主机

🔻复制下面的连接注册账号并选择99计划购买

https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=s923nice

🔻199计划为企业版,99计划为个人版。新购买与续费永久99,十分划算
image.png

2、设置阿里云ECS远程连接

🔻购买云主机以后,点击实例,选择右上角全部操作,选择【重置实例密码】
image.png

按照要求修改密码,选择【在线重置密码】
image.png

3、阿里云ECS安装docker

🔻点击【云服务器ECS】-【实例】-【选择ECS】-【定时与自动化任务】-【安装/卸载扩展程序】-【安装扩展程序】
image.png
🔻在【要安装的扩展程序】里,下拉选择【Docker社区版】,目前版本为v11。
image.png

🔻确认,并开始安装
image.png

🔻安装完成以后,任务状态会变为【已完成】
image.png
🔻为了验证是否安装成功,我们需要远程登录ECS实例,查看一下
image.png

🔻输入我们刚才重置的密码
image.png

🔻输入指令docker -vdocker info验证是否安装好docker
image.png


二、阿里云妙用,代理与内网穿透

NAS用户最怕的是啥?对,没有公网IP,之前cherry给大家介绍过好多款异地组网的工具,可以帮我们轻松愉快的管理家中的各种设备。

但是吧,异地组网有异地组网的不便,那就是所有设备都需要安装组网客户端,而且免费版本往往限制访问数量,能不能真正像有公网IP一样访问家里局域网的设备呢?有,没错,就是粉丝一直留言要求写的内网穿透!

1、下载镜像

🔻阿里云端: 依次输入以下指令来下载nps镜像并改名

# 通过加速拉取镜像
docker pull docker.1panel.live/ffdfgdfg/nps

# 修改镜像名
docker tag docker.1panel.live/ffdfgdfg/nps:latest  ffdfgdfg/nps:latest

🔻NAS端: 依次输入以下指令来下载npc镜像并改名

# 通过加速拉取镜像
docker pull docker.1panel.live/ffdfgdfg/npc

# 修改镜像名
docker tag docker.1panel.live/ffdfgdfg/npc:latest  ffdfgdfg/npc:latest

image.png

2、配置参数

🔻如果可以访问github的,可以从地址【https://github.com/ehang-io/nps/tree/master/conf】下载conf配置文件夹,并解压上传到阿里云和NAS端备用。

# 阿里云端目录
/home/nps/conf
# NAS端目录
/volume1/docker/npc/conf

如果访问不了github,或者不想下载的,也可以通过下列指令生成配置文件。

🔻阿里云端

# 创建路径
touch -p /home/nps/conf/

# 创建空的配置文件
touch /home/nps/conf/clients.json /home/nps/conf/hosts.json /home/nps/conf/tasks.json

# 下载示例配置文件
curl -o /home/nps/conf/npc.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/npc.conf &&  curl -o /home/nps/conf/nps.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/nps.conf && curl -o /home/nps/conf/server.key https://raw.gitmirror.com/ehang-io/nps/master/conf/server.key  && curl -o /home/nps/conf/server.pem https://raw.gitmirror.com/ehang-io/nps/master/conf/server.pem && curl -o /home/nps/conf/multi_account.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/multi_account.conf

🔻NAS端

# 创建路径
touch -p /volume1/docker/npc/conf/

# 下载示例配置文件
curl -o /volume1/docker/npc/conf/npc.conf https://raw.gitmirror.com/ehang-io/nps/master/conf/npc.con

image.png

3、启动阿里云的nps容器

🔻修改/home/nps/conf/nps.conf内的配置文件。主要修改的是第7、8、16、42行的4个端口号。其次是修改39-41行的webui登录地址、账号、密码信息。
image.png

🔻修改完成以后输入以下代码启动nps容器

docker run -d --name nps --net=host -v /home/nps/conf:/conf ffdfgdfg/nps

🔻来到阿里云【安全组】策略下,点击【管理规则】
image.png

根据我们之前自己修改的端口进行开放,每个端口中间用逗号分隔,这里的【授权对象】相当于IP白名单,可以根据自己的实际情况设置,默认可以v4、v6全部开放。
image.png

🔻设置完成以后,我们打开【阿里云ip:51918】,就会进入到nps的配置页面,使用刚才的nps.conf里设置的web_usernameweb_password 登录。登陆后选择左侧【客户端】-【新增】,按照图片设置的增加一个客户端。
image.png

完成以后,可以在客户端列表里看到刚才设置的密钥(或随机生成的密钥),我们复制备用,一会NAS端创建npc客户端需要使用。
image.png

4、启动NAS的npc容器

🔻首先修改NAS端/volume1/docker/npc/conf/路径下的npc.conf配置文件,主要修改第2、4行。让我们的npc客户端可以访问到服务端。
image.png

🔻启动容器

docker run -d --name npc --net=host -v /volume1/docker/npc/conf/:/conf ffdfgdfg/npc -config=/conf/npc.conf

5、配置内网穿透的代理

回到阿里云上部署的nps管理页面,可以看到客户端列表里的【连接】已经变为在线,这说明我们的NAS侧已经顺利连接到服务端了。
image.png

这里以群晖dsm为例,点击左侧的TCP代理,填入群晖DSM的内网访问地址,然后设置一个阿里云端的访问地址,保存以后就可以使用了。
image.png

尝试一下,顺利打开!从此以后无公网访问再也不是梦。除了TCP代理以外,npc还支持socks代理、http(s)代理、P2P连接、UDP代理、私密代理、域名解析等功能,囊括了网络代理中的几乎所有功能,感兴趣的朋友可以自己再尝试一下。
image.png

三、榨干阿里云的性能,还有这些应用也安排上

正如前文所说,阿里云99计划ECS能做的远不于此,虽然2c2g的性能对于普通电脑来说感觉有点弱,但基于linux和docker的高兼容性、性能损耗小等优势,我们依旧可以在上面部署很多不那么占用性能,却能发挥强大功效的应用。这里就拿cherry自己部署的项目举个例子。

1、halo

这个可以说是阿里云ECS最正儿八经的用途了,当阿里云ECS备案完成后,就可以使用80、443端口来实现免端口访问,这对于自媒体微博来说十分好用。
image.png

2、qinglong

最常见的应用,虽然现在东子的东西不好跑,但是其它小项目却不会少,依旧可以每天带来不少利润,一年轻松拿下99元不是问题。
image.png

3、onenav

一款书签集成工具,我把手机、家里、办公室等环境下的所有书签都集中在这个项目上。也基于家里没有公网下,可以通过阿里云访问所有的书签。
1722151343126.jpg

4、vertex

刷流、影视订阅神器了,对于玩耍PT的小伙伴来说是一顶一的好用。这个项目部署在阿里云端,然后用来控制外网vps上的qbittorrent等下载器,实现站点全自动刷流。
image.png

5、lucky

lucky是用来对本地域名、IP进行反代的一个工具,作用和前面提到的nps很类似,但是lucky的应用范围更广一些,支持SSL证书的下载和续费。我对lucky的用途,主要是将本地的一些服务转发到互联网端,同时通过二级域名或路径,实现免端口访问。


写在最后

虽然我们本地拥有了堪比服务器功能的NAS设备,支持我们高强度的存储、下载和折腾。但又因为我们是家庭用户,被家宽政策所限制,导致更多的玩法和服务无法开展,而ECS的存在正好弥补了这个缺陷。

而阿里云ECS,不论是性能、价格、易用性等方面,都是国内云主机厂家中的佼佼者,其推出的99计划更可以说是目前云主机的性价比之王。如果你在NAS访问、博客部署、免端口反代方面有所顾虑,那么购入一台ECS来操作,是性价比最高的。

🔻99计划详细查看地址,或点击左下角阅读原文。

https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=s923nice