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

背景

一次偶然的机会,在实验室下载了一部电影《栀子花开》,在实验室看电影肯定不好吧= = 于是就想拷贝到寝室的电脑回去慢慢看,问题是忘带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,成功访问了服务器页面,如下:

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

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

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

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

总结

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-24 16:41:58

Linux平台上apache服务器的搭建和应用的相关文章

Linux平台上SQLite数据库教程(二)——C语言API介绍

Linux平台上SQLite数据库教程(二)--C语言API介绍 前言:本文将介绍几个基本的SQLite3数据库的C语言API接口,主要用到两个文件:sqlite3.c.sqlite3.h.源码地址:https://github.com/AnSwErYWJ/SQLite. 打开数据库 1.原型: int sqlite3_open( const char* filename, /* 数据库文件名, 必须为 UTF-8 格式 */ sqlite3** ppDB /* 输出: SQLite 数据库句柄

Linux平台上SQLite数据库教程(一)——终端使用篇

Linux平台上SQLite数据库的安装与使用 SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,可能只需要几百K的内存就够了.能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口. 安装 在终端输入: sudo apt-get install sqlite3 一般系统中自带,不需要手动安装. 我们也可以选择安装图形界面程序,如sql

【转】Linux平台上用C++实现多线程互斥锁

原作者:chexlong 原文地址:http://blog.csdn.net/chexlong/article/details/7058283 在上篇用C++实现了Win32平台上的多线程互斥锁,这次写个Linux平台上的,同样参考了开源项目C++ Sockets的代码,在此对这些给开源项目做出贡献的斗士们表示感谢! 下边分别是互斥锁类和测试代码,已经在Fedora 13虚拟机上测试通过. Lock.h [cpp] view plaincopy #ifndef _Lock_H #define _

Linux (九)服务器环境搭建

一.行为守则 1.拍摄快照 Linux系统操作非常复杂,搭建开发环境时全部使用命令完成安装过程.而在Linux系统下没有像360安全卫士那样的工具,无法让我们在安装出错后卸载干净.所以建议大家在执行安装过程的每一步时都拍摄快照,保存系统当前状态,一旦安装失败就可以恢复到之前的某个快照重新开始. 2. 系统文件操作前先备份 在服务器环境安装过程中经常需要修改配置文件.而Linux环境下配置文件动辄几百.上千行,而且需要在多处进行配置.一旦修改错误想要纠正会很困难.所以要养成一个好习惯:修改配置文件

在Linux平台上用ASP.NET 5 连接Redis服务器

最近在做一个Linux平台上基于ASP.Net 5 中间件+Redis+Mysql架构的系统,研究使用了 StackExchange.Redis 作为asp.net5连接redis的工具.作者在前几天开了一个新的分支"CoreCLR"开始对asp.net5的进行升级开发.并且有一个pull request跟踪相关的问题.在Windows开发机上测试一切都可以正常执行.迁移到Linux上的Docker容器里执行后发现,asp.net5的中间件程序在通过StackExchange.Redi

linux 不同网段pptp服务器的搭建

pptp服务器 内网eth0:192.168.0.10/24 (192.168.0.1是网关) 公网eth1:xxx.xxx.xxx.xxx 用户端拔pptp后分配的ip:192.168.3.0/24 用户未拔pptp前使用的ip:192.168.5.0/24 #yum install ppp libcap-devel libcap #echo 1 >/proc/sys/net/ipv4/ip_forward #wget http://nchc.dl.sourceforge.net/projec

linux平台下apache的源码安装和将apache服务配置成系统服务

安装apache服务 下载apache源码包 # tar -zxvf http-2.2.29.tar.gz # cd http-2.2.29 #   ./configure --prefix=/usr/local/apache  --enable-so --enable-cgi #   make #   make install 配置成系统服务: #  cp /usr/local/apache/bin/apachectl /etc/init.d/httpd #  cp /usr/local/ap

Ubuntu(linux)下的FTP服务器简单搭建

前言 ? ? ? ?今天才发觉FTP服务器超级好用.省却了数据线和恼人的局域网配置smb.当然也有一些缺点.比如只能客户端在服务器上读写.服务器不能在客户端上读写. 一 vsftpd安装 ? ? ? ubuntu下终端使用命令安装:sudo apt-get install vsftpd 二 vsftpd配置 配置文件默认路径是/etc/vsftpd.conf,下面我把自己用到的配置文件的内容说明下: 打开监听 listen=YES 是否允许匿名访问 anonymous_enable=NO 是否允

Mac平台上OpenCV开发环境搭建

转载于:https://segmentfault.com/a/1190000000711132 linux 编译指定库.头文件的路径问题 http://blog.csdn.net/jiaweizou/article/details/8153897 编译的时候出现错误: MacBook-Pro:Downloads zhaoliang$ g++ -ggdb `pkg-config opencv --cflags --libs` test_simple_segment.cpp -o test_simp