用海纳思做web服务器并进行内网透传的实例

您所在的位置:网站首页 玩客云海纳思扩展空间 用海纳思做web服务器并进行内网透传的实例

用海纳思做web服务器并进行内网透传的实例

2024-07-15 11:49| 来源: 网络整理| 查看: 265

因为工作关系,我经常发布一些个人产品的设计图纸、技术资料等文档通过web服务器分享给客户。因为受众有限,且文档大小不大,对服务器的性能、带宽和下载速度要求并不高。以前用的是一台台式电脑,在Windows架设IIS服务实现的。不过这东西放在我办公桌上占用体积太大,常年运行耗电也不少,而且最讨厌的是一天到风扇嗡嗡的不停响,实在让人难以忍受。一直想找一个轻型简约,省电的web服务方案来代替这台台式机。查了一些资料以后,感觉玩客云改装的nas服务器基本能满足我的需要。以下是海纳思做web服务器并实现内网透传的过程。 在这里插入图片描述

一、准备工作

1、刷机:把玩客云刷成海纳思。 由于我淘的这个玩客云已经被前一个使用者刷成了海纳思NAS系统,这里不再赘述。具体玩客云刷海纳思的具体步骤,请见官方刷机教程(https://www.ecoo.top/docs/tutorial-basics/s805)。 2、查看IP:确定本机在路由器中分配的IP地址。 机子刷完机后,需要插入网线接上路由器。然后通电开机,稍等一会儿,打开路由管理界面,查看已经接入的设备清单。 如我的路由器的内网IP为192.168.14.1。打开浏览器,输入路由器的IP,输入密码,在路由器的设备管理清单中查看一个名为hinas的设备。 在这里插入图片描述

点击hinas下面的管理按钮,查看其IP地址,可以查到其IP为192.168.14.103。OK,记下这个IP,下面使用ssh远程登录时要用到。 在这里插入图片描述

【注意】不同品牌类型的路由管理界面也不太一样,而且每台路由给设备分配的IP也不同,所以你们查到的可能与我查到的不一样。以下操作就以你查到的IP为准。

3、SSH登录:使用远程登录的方法访问设备 查明设备的IP地址后,我们就可以通过远程登录方式对设备进行操作。登录工具比较多,我比较习惯使用MobaXterm,这是一个多用途的远程管理工具。运行后,点击工具栏的会话按钮。 在这里插入图片描述

选择最左侧的SSH按钮,并远程主机中输入我们在路由器上查询后的IP,可以指定用户名(root)也可以不指定,如不指定登录后每次就需要输入用户名,端口就是22,不要改。完成后点击OK,就可以登录到设备的远程终端了。第一次登录时,需要输入密码(root超级用户的初始密码为ecoo1234),密码正确后,以后就不需要再次输入密码了。 在这里插入图片描述

成功登录以后,记录就会保存在左侧的登录记录,以后就可以点击左侧的登录记录,直接访问终端,就不需要再次设置IP主机和用户名和密码了。 在这里插入图片描述

4 、修改root密码 海纳思系统默认有两个用户,一个是具有全部权限的 root 用户,一个是普通权限的 ubuntu 用户,密码都是ecoo1234。 第一次使用ssh登录设备的远程终端后,我们需要对密码进行修改,在终端中输入passwd root,输入两次新密码,在两次密码一致后,root用户的密码就修改完成了。 【注意】我们在输入新的密码时,终端不会提示我们输入的内容。我们输入密码后直接回车就行。 同样的方式对ununtu用户的密码进行修改。 过程如下所示。 在这里插入图片描述

5 、设置固定IP: 默认情况下,设备的IP是被路由系统DHCP自动分配的,每次关机或重启后,路由器会重新给设备分配地址,这会造成我们每次重启后的IP不一样。会给我们的管理工作带来不便。为此我们需要固定设备的IP地址。 首先需要查看路由器的DHCPIP分配段,我们设备的IP需要设置到这个分配段之外,防止这个IP被DHCP自动分配给给它设备。 打到路由器的管理界面,点击路由设置,选择DHCP服务。 在这里插入图片描述

我们可以看到,我的路由器DHCP的地址池是在192.168.14.100-192.168.199之间进行分配。我们对设备设置的地址要在这个地址段之外,如我设置为192.168.14.99。 回到ssh终端,输入ifconfig,可以看到设备的MAC地址为:00:11:22:33:44:66。记住这个MAC地址,后面需要用上。 在ssh终端中,输入vi /etc/network/interfaces.d/eth0,对网卡的配置文件进行编辑, 在内容中输入:

auto eth0 iface eth0 inet static #设置网卡地址为静态 address 192.168.14.99 #设置网卡的IP地址,需要在路由分配地址之外。 network 192.168.14.0 netmask 255.255.255.0 #子网掩码 broadcast 192.168.14.255 #广播地址 gateway 192.168.14.1 #网关地址 dns-nameservers 192.168.14.1 #DNS地址 pre-up ifconfig eth0 hw ether 00:11:22:33:44:66 #MAC地址:前面在ifconfig中查询的结果。

在这里插入图片描述

编辑完成后输入ESC和:wq保存退出。 在终端中输入:

sudo ifdown eth0 && sudo ifup eth0

用来重启网卡。 以后再重启设备,我们的地址就会固定到192.168.14.99了。 在这里插入图片描述

6 、移动硬盘(或内存卡)的设置。 因为玩机云只有8G的内存,我们的网站内容不可能放在内存中,好在他有两个USB,还有一个存存卡插槽可以扩展存储,我用的是一块带硬盘盒的msata的固态硬盘。 在这里插入图片描述

插上移动硬盘到设备上,进入ssh终端,进入/mnt,用ls查看,就会看到sda1这个硬盘。 在这里插入图片描述

【注意】如有多块硬盘,多个分区,可以会为sdb1,sdb2等。如为内存卡,可能会是mmcblk1之类的。以下以你自己的分区名称为准。

在硬盘上新建一个webhtml文件夹,用于存放网页文件:mkdir -p /mnt/sda1/webhtml 修改文件夹的权限,以便我们对文件夹的内容进行维护管理:chmod -R 777 /mnt/sda1/webhtml

OK,准备工作完成,下面在docker中安装web服务。

二、docker下安装nginx。

1 、安装docker: 进入海纳思的主界面,点右上方的外网,可以看到docker界面。 在这里插入图片描述 在这里插入图片描述

点击docker面板,如果是第一次运行,系统提示需安装 portainer,我们就按要求在终端上运行:

install-portainer.sh

按步骤安装完成后,再点击docker面板,就会提示输入admin的初始化密码,注意密码最少要12位。 在这里插入图片描述

这样就能进和portainer的管理界面了,以后输入用户名(admin)和密码就可以了。

【说明】:Portainer是一个用于管理和监控Docker容器的Web UI工具,可以简单理解为是一个docker的图形化的管理工具。 2 、安装nginx镜像和容器 先从Docker Hub拉取最新版本的Nginx镜像: 终端中运行:docker pull nginx:latest 完成后安装docker的容器:

docker run --name my-nginx -v /mnt/sda1/webhtml/:/usr/share/nginx/html:ro -p 8080:80 -d nginx

说明一下这个命令: –name my-nginx 给容器命名为my-nginx。 -v /mnt/sda1/webhtml:/usr/share/nginx/html:ro 是挂载卷的参数,将宿主机的/mnt/sda1/webhtml目录挂载到容器的/usr/share/nginx/html目录上,并且设置为只读(:ro)。 -p 8080:80 映射容器端口80到宿主机的8080端口。即我们通过内网访问网站内的地址为:192.168.14.99:8080。 -d 表示以守护进程方式运行容器。 nginx 是要运行的Docker镜像名称。 运行成功能,我们可以进入到portainer中看一下: 输入用户名(admin)和之前设置的密码就可以进入partainer了。 在这里插入图片描述

在镜像中就可以看到我们拉取的nginx。 在这里插入图片描述 在这里插入图片描述

在容器中就可以看到我们添加的my-nginx容器了, 在这里插入图片描述

如果没有运行,选中前面的勾,点击启动就可以运行它了。 3、上传页面 好了,我们的服务器框架已经完成了,下面做一个网页并上传测试一下。

打开自己电脑下的记事本,简单写几个HTML网页代码:

这是一个测试页面 点击后下载测试下载文件

保存为index.html。

打开MobaXterm,通过SFTP工具远程连接到设备上。 上传index.html到设备的/mnt/sda1/webhtml文件夹下。 在这里插入图片描述

另外在/mnt/webhtml文件下新建一个res文件夹,随便给一个文件更名为0000001.rar,上传到res文件夹下。 在这里插入图片描述

这时打开浏览器,输入我们设置的地址和端口,192.168.14.99:8080。就能访问我们设置的网站了。 在这里插入图片描述

点击下载测试链接,能正确下载文件,说明我们的静态网页框架功能没有问题,在内网也能正常访问。下一步通过内网透传实现外网对我们web服务器的访问。

三、内网透传及域名申请

1、实现透传 由于我的海纳思设备是在家里使用的,而一般情况下,网络供应商是不会分配给我们固定的IP地址。也就是说:我们网站只能在内网正常使用,在外网还是无法正常使用的。 通过内网透传的工具,可以解决这个问题。网上有许多内网透传的解决方案。我用的是cpolar的方案。 (1)访问www.cpolar.com。免费注册一个帐号。 在这里插入图片描述

记下自己的用名名和密码,以下要用到的。 (2)打开MobaXterm远程登录到终端,输入命令:docker search cpolar,用于搜索cpolar镜像。 在这里插入图片描述

在出现的列表中,选择第二个:probezy/cpolar下载,输入命令:docker pull probezy/cpolar 下载好后,我们在portainer的镜像中,也可以看这个镜像 在这里插入图片描述

(3)在终端中运行:docker run -id --network host --name cpolar probezy/cpolar,运行容器和cpolar镜像。 (4)然后输入命令: docker exec -it cpolar /bin/bash,进入容器。 在这里插入图片描述

打开cpolar的首页,在登录后点击左侧验证栏,可以查看到你的token码 在这里插入图片描述

在终端中把复制的token粘贴进入。 在这里插入图片描述

打开portainer,进入容器,就可以看到cpolar这个容器 在这里插入图片描述

(5)测试输入: cpolar http 8080 出现以下信息表示成功 在这里插入图片描述

如需访问cpolar的管理界面,打开页面http://192.168.14.99:9200 ,输入注册时的用户名可密码即可访问。 在这里插入图片描述

2、申请二级域名 现在我们有了一个自己的域名,但这个域名太过怪异,名字不好记,而且在24小时后会自动变化,还是不太适合我们长期连续使用。 这里我们就要需设置一个cpolar固定的二级域名。需要说明的是,cpolar对二级域名是收费的,每年99元。 (1)在cpolar的首页中登录后点击预留项: 填入地区:china Vip 二级域名:自己起的域名,如我填入的是fan-website,那么我的二级域名就是http://fan_website.vip.cpolar.cn和https://fan_website.vip.cpolar.cn。 描述:随便填一下说明。 然后点击保留按钮。效果如下。 在这里插入图片描述

这时打开192.168.14.99:9200,在隧道管理中对我们的website进行编辑,把随机域名改为二级子域名,在subdomain中填入您保留的二级域名。点击更新,就完成了。

在这里插入图片描述

最后的效果 这时无论在内容还是外网,都可以通过http://fan_website.vip.cpolar.cn和https://fan_website.vip.cpolar.cn永欠的访问我们的网页了。 在这里插入图片描述

测试一下外网下载速度,大约在200k/s多点,勉强能用吧。 在这里插入图片描述

四、总结

这个机子用了大约十几天,总结一下,好处: 1、轻巧便捷:大小和路由器差不多,在弱电箱里接上电源和网线就不管了; 在这里插入图片描述

2、节能省电,12v1A的电源,全年24小时不停机的电费也不会超过100元; 3、安静,这个小家伙只没有风扇,靠自己铝合金外壳被动散热; 4、便宜:这是也是最重要的。因为玩客云经营商已经停止服务,这个废品之样的东东在网上只卖几十块钱,加上cpolar的二级域名,也不过是一百多块钱,就有了一台自己的web服务器。 再说缺点: 1、下载速度通过在外地的朋友测试,不管是电信、移动还是网通,都只有200K-400k/s之间,估计和我用的是cpolar最便宜的的套餐有关。凑合能用吧。 2、现在还是4月,室内温度不高,室温27度左右的情况下,设备连续运行的检测温度在50度左右,不知道在夏天是什么情况,运行几个月看看再说吧。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3