一种Mini服务器的设计与实现

2018-11-26 09:32穆欣侃
电脑知识与技术 2018年22期
关键词:服务器

穆欣侃

摘要:采用低功耗、高集成度的ARM微系统为硬件平台,以具有通用性、开放性的Linux为服务器操作系统,通过安装和配置服务软件,可以实现打印机共享、文件与存储共享、网络下载等服务,打造成适合小范围内使用的低功耗的Mini服务器。

关键词:Mini;服务器;ARM微系统;Linux

中图分类号:TP368 文献标准码:A 文章编号:1009-3044(2018)22-0202-02

服务器,也称伺服器,是提供计算服务的设备。服务器与网络是密不可分的,可以说离开了网络,就没有服务器;服务器是为提供服务而生,只有在网络环境下才有存在的价值。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器、数据库服务器、应用程序服务器、WEB服务器、打印服务器等等[1]。

由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且提供高可靠服务的能力,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高[1]。

随着网络的普及,在一个很小的范围(一个办公室或者一个家庭)也希望使用网络服务器提高工作效率或者改善生活质量。但由于服务用户数量少、使用率较低、安全性要求不高等特点,专业服务器因高性能及高价格等因素不利于在微小型网络的普及和使用。为了能够在微小型网络中使用网络服务并节省投资,大量使用个人电脑甚至使用淘汰的旧电脑通过配置网络管理程序,使其代替专用网络服务器。但由于个人电脑功耗大、稳定性差等缺点给网络服务带来多重问题。随着嵌入式技术及ARM微系统的发展,基于ARM架构的嵌入式微系统实现了高集成度、高可靠性、高性能、低功耗、通用性强等特点,逐渐由移动终端为代表的特殊行业应用向科学计算、事物处理等传统电脑应用扩展,绝大部分的ARM微系统可运行Linux或Android操作系统,通过相应的配置可以实现网络中的应用或服务。本研究即是利用ARM微系统与Linux操作系统打造一款多功能微小型的网络服务器。

1 打印服务器

打印服务器提供简单而高效的网络打印解决方案。一端连接打印机,一端连接网络,能够很容易地为局域网内所有用户提供打印服务;实现了打印机共享功能,极大地提高了打印机利用率[2]。

为了便于远程管理Linux系统下的网络打印机,需要在ARM微系统连接打印机并在Linux系统下安装打印机的驱动程序后,系统安装并配置CUPS(Common UNIX Printing System,即通用Unix打印系统)集成服务。可以在本地服务器端浏览器地址栏输入http://localhost:631或http://192.168.1.100:631(本論文实验时服务器IP地址为192.168.1.100,CPUS默认端口号为631),启动CUPS的WEB管理界面,在填写打印机名称HP_P1007,选择合适model类型匹配,然后点击“Add printer”完成打印机安装;最后通过“Administration--server settings”,选择“share printers connected to this system”和“allow remote administration”功能,完成已安装打印机的网络共享与允许远程管理。客户端在“设备和打印机”功能中选择添加网络打印机,在地址栏中输入“http://192.168.1.100:631/printers/HP_P1007”实现共享打印机的连接。

2 文件服务器

文件服务器主要目的是向客户机提供文件服务。在计算机局域网中,文件服务器以文件数据共享为目标,可以提供多台计算机或用户共享的文件存放于一台计算机中,并能够提供网络用户访问文件、目录的并发控制和安全保密措施。

2.1 FTP服务器

文件传送协议FTP是因特网上使用得最广泛的文件传送协议;它提供交互式访问,并允许文件具有存取权限;它屏蔽了各计算机系统的细节,适合于在异构网络中任意计算机之间传送文件[3]。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。在下载并成功安装该程序后,可以编辑vsftpd的配置文件/etc/vsftpd/vsftpd.conf,在配置文件中找到“anonymous_enable=YES”项, "YES"表明该FTP文件服务器允许匿名登录;改为"No",可以将匿名登录禁用。通过其他配置后重新启动vsftpd服务,并添加到开机自动启动。接下来在客户端可以使用FTP软件或浏览器访问该FTP服务器所管理的目录和文件。

2.2 SAMBA服务器

Samba是一套使用SMB(Server Message Block)协议的应用程序,通过支持这个协议, Samba允许Linux或Unix服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba采用C/S模式,其工作机制是让NetBIOS(Windows系统下网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且让Windows系统在“网上邻居”中能浏览Linux或Unix服务器。

首先需要下载Samba软件包及安装相关服务,并设置开机自动启动Samba服务;接着需要添加或配置Linux系统防火墙规则,允许客户端访问共享文件夹;然后备份并更改Samba配置文件:/etc/samba/smb.conf,配置security项参数为share、public项参数为yes、writeable项参数为yes等其他配置信息,允许匿名访问Samba服务,可实现读写、删除等功能,安全性相等较低,也可在配置文件中设置相应参数实现使用不同用户名和密码以及不同权限访问共享文件夹。

在客户端Windows系统下,打开文件资源管理器,地址栏输入\192.168.1.100即可访问Samba服务器共享文件夹,为了便于再次访问该共享文件夹,可以将相应的文件夹映射为网络驱动器。

3 网络下载服务器

随着互联网发展与网络带宽的不断提速,在我国网络视频用户已超5亿,网络上超过80%的信息都是视频直播或下载;为了获得更流畅的视频体验,网络用户喜欢将视频文件下载到本地,然后选择合适的时间进行回放或重播。迅雷或BT彗星等下载工具为网络下载提供了极大的便利性,但此类软件一般只适用于Windows本地系统;通过搭建网络下载服务器可以实现远程控制下载、改善网络使用环境和降低能耗等功能。

3.1 迅雷下载服务器

使用已有迅雷账号在迅雷网站http://luyou.xunlei.com/forum-51-1.html下载最新的Xware版本固件程序;在/home/user文件夹下新建文件夹(xunlei),并将下载的固件程序复制到该文件夹下;在/mnt文件夹下新建文件夹(xunlei),并与上面新建文件夹挂载起来,修改两处新建文件夹权限为读、写、可执行(权限代码为777);在/home/user/xunlei文件夹下解压固件文件,并运行迅雷程序获取激活码。启动浏览器访问http://yuancheng.xunlei.com,点击“添加”按钮,在弹出的对话框里面选择“路由器”,再输入刚刚获取的激活码完成服务器与远程下载的绑定。为防止重启服务器后因挂载盘失效不能再使用远程下载,需要在服务器端将挂载信息设定为开机自动绑定和自动启动迅雷。

在http://yuancheng.xunlei.com 里面新建任务,和一般的迅雷操作几乎相同,但需注意下载器选择为设定号的远程下载服务器,下载的文件自动存储在/home/user/xunlei/TDDOWNLOAD文件中。

3.2 Aria2 + YAAW的远程离线下载服务器

Aria2是一款很多极客使用的Linux系统下的轻量级下载神器,它功能强大,支持HTTP、FTP、磁力链接和BT等网络资源下载;但无图形用户界面,仅可使用命令行操作。YAAW是一个Aria2的纯WEB的前端显示插件,通过JSON格式與驻留服务的Aria2进行RPC控制,使用它可以在本地或者网络以WEB方式查看和配置该Aria2下载工具,进而实现随时随地基于WEB访问的远程控制。

Aria2可以通过系统更新或下载离线安装包安装,安装后需创建或修改其配置文件完成下载路径和允许WEB远程控制等信息的设定;还需将Aria2控制为后台运行,并做成系统服务与开机自动启动。YAAW的使用需要架构在WEB服务之上,下载该程序文件包后直接解压到WEB服务器的wwwroot目录下自定义文件夹中(比如yaaw),建议修改该文件权限为777,然后在WEB端(192.168.1.100/yaaw/)可以实现对Aria2的管理,比如添加或查看下载任务。

4 结论

以ARM为代表的嵌入式微系统由于功耗低、集成度高、性能稳定、价格便宜等特点在互联网时代被广泛应用于各种场所。Linux以自由、开源、类Unix等特点在世界范围内影响力日益增强,特别是以低成本、可定制、可移植的特点在移动嵌入式领域的使用率更是遥遥领先[4]。以ARM和Linux组合的微系统开始逐渐挑战传统的Intel和Windows体系联盟,选择并配置合适的软件系统可以满足低功耗、高性能、多功能的网络服务需求。本文中微系统选用的基于ARM Cortex-A53 CPU的Raspberry Pi(树莓派)微型电脑,Linux系统为基于Debian优化的Raspbian系统。该系统大小仅比信用卡略大一些,功耗不足10W。虽然个头比较Mini,但却是一台真正的网络服务器,可以满足网络打印、文件共享、远程下载等功能,如果继续安装和配置其他软件系统,还可提供更多的网络服务功能。

参考文献:

[1] 服务器-百度百科 [EB/OL]. https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8/100571?fr=aladdin

[2] 打印服务器-百度百科 [EB/OL]. https://baike.baidu.com/item/%E6%89%93%E5%8D%B0%E6%9C%8D%E5%8A%A1%E5%99%A8/10839903

[3] 谢希仁 计算机网络(第7版)[M] .北京:电子工业出版社,2016.

[4] Linux在各领域发展的现状与趋势[EB/OL]. https://blog.csdn.net/Z1XpIYDj9sn/article/details/79125659, 20180122.

【通联编辑:梁书】

猜你喜欢
服务器
通信控制服务器(CCS)维护终端的设计与实现
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
服务器操作系统可信加固技术研究
关于Linux的视频服务器开发与实现分析