当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Web服务器的搭建

Web服务器的搭建 时间:2018-09-29      来源:未知

在任何项目工程中,服务器一定是必不可少的一环。然而似乎对服务器这个概念还是比较陌生的,其实服务器只是因为他们的功能的不同导致其不同的概念,其实简单的说服务器就是一台运行程序的主机。

现在我们来看一下关于服务器更加全面的定义:

服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。

由此可以看到服务器可以分为硬件服务器和软件服务器,而硬件服务器基本就可以当做是我们的PC或者是开发板,而软件服务器就是运行在某个硬件服务器的程序。而关于硬件服务器我们不去深究我们只是在使用他,而软件服务器是我们需要研究并使用的,我们以web服务器为例。

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档, 也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前主流的三个Web服务器是Apache Nginx IIS。

由此可见web服务器就是给我们提供网页显示的必要条件,现在我们简单了解下,在Ubuntu下的web服务器的搭建,以Apache服务器为例。

 

一、安装Apache

Ubuntu提供了3个apache2的软件包,它们分别是apache2-mpm-worker、apache2-mpm-prefork、apache2-mpm-event。如果你在安装Ubuntu操作系统《入门篇:ubuntu server 安装教程》的时候你选择安装了LAMP包的话,那么安装的是apache2-mpm-prefork。如果你没有选择安装LAMP包,安装完系统之后,执行下面的命令安装apache2这个软件包时,安装的是apache2-mpm-worker:

sudo apt-get install apache2

 

二、配置Apache

在Ubuntu中,Apache的软件包时由ubuntu官方核心开发组维护的。他们在编译apache时,只编译进了很少的模块。如果需要其它的模块,则需要手工添加。这也大大增强了apache的可定制性和灵活性。可以使用apache2 -l命令查到被编译进apache2的模块。

1、Apache配置文件说明

Ubuntu和Debian对apache2软件包做了很多定制,很多配置文件的布局都和原来的apache2的布局不同。以下是/etc/apache2目录下各个配置文件的说明:

*apache2.conf——全局配置文件

*conf.d/——该目录存放一些一般性的配置

*envvars——存放环境变量,一般不需要修改

*httpd.conf——用户配置文件

*mods-available/——该目录下是已经安装的可用模块

*mods-enabled/——该目录下是已经启用的模块

*ports.conf——httpd服务的端口

*sites-available/——该目录下是可用的虚拟主机

*sites-enabled/——该目录下是已经启用的虚拟主机

其中,apache2.conf是apache2的主配置文件,它会读取上面列出的所有目录和文件(sites-available目录除外,因为apache不需要知道有哪些虚拟主机可用,它只需要加载那些已经启用的虚拟主机就可以了。)

2、Apache模块

新安装的Apache编译加载的模块很少,很多模块要手动安装或者加载。可以使用a2enmod查看可用的模块和用a2dismod查看已经启用的模块。如果你要用的模块还没有安装,但是你又不知道这个模块在Ubuntu中的确切名称,则可以先用apt-get search libapache2-mod命令进行搜索,找到正确的软件包名称后,再用apt-get install来安装。

3、Apache网页文件默认存放的位置

在默认情况下,apache把网站文件放在/etc/www目录下。通过DocumentRoot关键字的设置,你可以把任意目录指定为网页文件的根目录。你也可以在里面建立多个网页文件的目录,如:

/var/www/www.aliwo.net

/var/www/bbs.aliwo.net

……

也就是说每个网站有自己单独的文件夹,这样管理起来比较清晰。另外/var分区需要大一些,因为MySQL数据库文件和日志文件,以及网站日志文件都保存在这里。

4、Apache虚拟机设置

apache既支持基于域名的虚拟主机,也支持基于IP的虚拟主机。

Ubuntu的Apache2为提供虚拟主机支持做了很好的配置。如果你的服务器只有一个网站,基本上不用修改配置,虚拟机就可以用了;如果有多个网站,则可以复制defualt虚拟主机的配置文件进行修改,这样可以很快的建立多个网站。

每个apache的虚拟主机都有单独的配置文件。这些虚拟主机的配置文件放在/etc/apache2/sites-available目录下。上面提到的default虚拟主机,位于这个目录里。如果你在浏览器中访问服务器的IP地址,出现页面“It Worker!”,表明网站已经在提供服务了。

4.1创建一个新的虚拟主机

要创建一个新网站,你需要创建一个新的虚拟主机。假设我现在要创建一个域名为www.aliwo.net的虚拟主机:

*先将default虚拟主机复制一份,以便用来修改:

sudo cp default www.aliwo.net

 

*然后编辑www.aliwo.net

sudo nano www.aliwo.net

 

www.aliwo.net内容如下:

 

    <VirtualHost *:80>

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www

    <Directory />

    FCGIWrapper /usr/bin/php5-cgi .php

    Options ExecCGI SymLinksIfOwnerMatch

    AllowOverride None

    </Directory>

    <Directory /var/www/>

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny

    allow from all

    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    <Directory “/usr/lib/cgi-bin”>

    AllowOverride None

    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

    Order allow,deny

    Allow from all

    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,

    # alert, emerg.

    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ “/usr/share/doc/”

    <Directory “/usr/share/doc/”>

    Options Indexes MultiViews FollowSymLinks

    AllowOverride None

    Order deny,allow

    Deny from all

    Allow from 127.0.0.0/255.0.0.0 ::1/128

    </Directory>

    </VirtualHost>

 

修改后:

 

    <VirtualHost *:80>

    ServerAdmin aliwo@qq.com

    ServerName www.aliwo.net

    ServerAlias aliwo.net

    DocumentRoot /var/www/www.aliwo.com

    <Directory />

    FCGIWrapper /usr/bin/php5-cgi .php

    Options ExecCGI SymLinksIfOwnerMatch

    AllowOverride None

    </Directory>

    <Directory /var/www/www.aliwo.com>

    Options FollowSymLinks MultiViews

    AllowOverride ALL

    Order allow,deny

    allow from all

    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    <Directory “/usr/lib/cgi-bin”>

    AllowOverride None

    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

    Order allow,deny

    Allow from all

    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,

    # alert, emerg.

    LogLevel warn

    #日志

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ “/usr/share/doc/”

    <Directory “/usr/share/doc/”>

    Options Indexes MultiViews FollowSymLinks

    AllowOverride None

    Order deny,allow

    Deny from all

    Allow from 127.0.0.0/255.0.0.0 ::1/128

    </Directory>

    </VirtualHost>

 

4.2、启动www.aliwo.net

sudo a2ensite www.aliwo.net

同时禁止default(即禁止使用IP访问)。

sudo a2dissite default

 

5、建立网站目录

#cd /var/www

#mkdir /var/www/www.aliwo.net

然后把网页文件上传到目录里面。

 

6、重启apache2,生效网站:

sudo /etc/init.d/apache2 restart

 

这样一个站点就建立了,以后要建立新的网站,就复制www.aliwo.net这个虚拟机的配置文件,修改servername和网站目录路径就可以了。

现在我们就可以正常的使用web服务器,而作为一个编程工作者,我们要常常接触到服务器这个概念,研究明白总归没有什么坏处。

上一篇:LCD驱动程序

下一篇:define和typedef的区别

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部