Linux平台上apache服务器的搭建和应用

时间:2022-02-03 17:22:28

背景

一次偶然的机会,在实验室下载了一部电影《栀子花开》,在实验室看电影肯定不好吧= = 于是就想拷贝到寝室的电脑回去慢慢看,问题是忘带U盘了,这可就愁了。突然想到,可以在实验室搭建一个apache服务器把电影传到上面,回到寝室下载就行了啊。因为ip肯定都是在校园局域网内的,所以能行得通,而且传输速度也会很理想。

搭建服务器

1.安装及搭建

第一步是在实验室的电脑上安装搭建apache服务器,我的笔记本电脑安装了windows和ubuntu双系统,但是我选择系统平台为Ubuntu 14.04LTS 64bit。

至于为什么不选择windows?因为在windows下搭建麻烦,还需要有JRE依赖,而ubuntu属于linux系统,直接命令行apt-get install安装即可用,在ubuntu的终端输入命令:

root#apt-get install apache2

如果提示没有可用的源,可以先输入apt-get update 更新源,或者上官网点击打开链接 下载源码包解压编译安装,这里就不作介绍了,因为对于大多数的linux系统可以直接apt-get傻瓜式安装的。

2.验证apache是否成功安装

安装完之后终端没有报错,apache已经在后台运行了,可以用终端命令ps -e | grep apache 看看是不是有apache进程在运行。

当然,你也可以更直观地,在浏览器地址栏上输入localhost ,或者用本机ip代替localhost,这里由于apache使用默认端口号80,因此不输入端口号也可以显示apache安装成功的提示页面(写着"It Works!"之类的话)。

至此apache服务器环境已成功搭建,接下来就是编写服务器页面(包括下载文件目录和一些基本信息等等)。

3.设计服务器页面

先要进入apache服务器目录,cd /var/www 可以看到有个index.html 文件,打开该文件你可以发现这就是刚刚浏览器上显示的服务器页面了。

下面,你可以在index.html上面编辑,设计自己想要的服务器页面,让服务器页面看上去更酷炫以及实现更多功能,也可以在相同目录下创建个新文件new.html,这样就要输入

localhost/new.html 才能访问这个新文件对应的页面了。

我选择直接在index.html 上面修改,这样访问服务器也可以省得多输入new.html了。例如设计的简单服务器页面如下:

<!DOCTYPE html>
<html>
<div class="abc" style="background:#B9D3EE" align="center" bgColor="light blue">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Campus Sharing Platform</title>
</head>
<body>
<b>校园资源分享平台</b>
<hr>
<p>为了分享一些BT上无法上传的资源(如没有0Day名的电影/格式不符要求的游戏或剧集等),设计此分享平台:</p>
<p><div id="pic" style="background:#8968CD" bgColor="purple"><b><font size=5>电影简介</font></b></div></p>
<pre>
<img src="11.jpg"></img>
【基本信息】
中文名:栀子花开
外文名: Forever Young
导 演:何炅
类 型:青春,校园,爱情
主 演:李易峰,张慧雯,蒋劲夫,张予曦,魏大勋,李心艾,杜天皓,宋轶,王佑硕,柴格,张云龙
片 长:107分钟
上映时间:2015年7月10日

【剧情简介】
许诺(李易峰饰)和言蹊(张慧雯饰)是大学校园里一对令人艳羡的情侣。许诺作为校内闻名的栀子花乐队的主唱和队友为成为职业出道不懈努力着,怀揣
舞蹈梦想的言蹊和三位好友有机会获得出国深造的机会,就在梦想似乎触手可及的时候,现实中却遭遇到许多障碍。当言蹊面临崩溃边缘,许诺成为支持她
的臂膀。为了让言蹊重新燃起希望, 许诺与他的队友决定为她准备一个意想不到的惊喜。而这个“惊喜”竟然让这一群冲动的年轻人付出了不小的代价。
</pre>

<p><div id="file" style="background:#A0522D" bgColor="brown"><b><font size=5>电影下载</font></b></div></p>
<p><a>点击下载按钮开始下载电影(文件大小: 2.4GB)</a>
<input type="button" value="下载" onclick="window.location.href='download/zhizihua.flv'" />
</p>

<p><div id="media" style="background:#00688B" bgColor="green"><b><font size=5>音乐欣赏</font></b></div></p>
<p>等待有点无聊,来听听音乐吧!</p>
<p>
<audio src="goodbye.mp3" preload="none" controls="controls">
Your browser does not support the audio element.
</audio><a>电影插曲《再见再见》</a></p>
<p>
<audio src="zhizihua.mp3" preload="none" controls="controls">
Your browser does not support the audio element.
</audio><a>经典歌曲《栀子花开》</a></p>
</pre>
<pre>





<font size="2" align="center">2015-07-23</font>
</pre>
</div></html>
先将图片和歌曲直接放在/var/www目录下,即跟index.html是同一目录,而电影文件放在/var/www/download目录下。这样在代码里,我将图片和歌曲的源用相对路径表示为src="11,jpg",src="xxx.mp3",而电影文件的源表示为src="download/xxx.flv"。

至于代码的其他部分,则是html的一些标签及其属性了,掌握了html基本知识即可。

访问服务器

在实验室搭建完服务器以后,我回到寝室打开电脑浏览器输入服务器ip,成功访问了服务器页面,如下:

Linux平台上apache服务器的搭建和应用

Linux平台上apache服务器的搭建和应用

点击下载按钮,浏览器会弹出提示框,让你选择是要用播放器打开还是保存到电脑,选择“保存”,立即开始文件传输,并且下载速度竟然达到了10MB/s以上(其实太快的话对硬盘不太好),快得有点出乎我意料:

Linux平台上apache服务器的搭建和应用

另外我还加了一个在线听电影插曲的功能,可以结合听觉感受这部电影。

将这个服务器ip发布在朋友圈,让其他想看这部电影的校内好友也能下载到,不过由于是CS架构,下载的人越多,下载速度就会越慢。而且下载速度跟访问者本身的ip有关系,由于服务器是用以太网连接到校园局域网的,因此客户端用以太网访问比用无线网访问要快很多,可能是因为经过的网关更少了。

如果访问人数多了会出现访问过慢甚至超时的问题,后期还需要加入传输分流/拥塞控制等功能,或者能做成p2p架构的话就更加理想了。另外服务器页面是html静态页面,功能非常单一,换成node.js设计动态页面也会好很多,我试了下搭建node.js也可以成功访问,这个就以后再做详细介绍了。

总结

本篇介绍apache服务器搭建和应用到此就结束了,最后简单总结一下:在linux平台上搭建apache非常简单方便,设计服务器页面需要用一点html基础知识,传输速度在同一个局域网内非常理想,能够很好地解放U盘,不失为一种同一局域网内不同主机共享文件的好办法。