Apache-最好用的web服务器

Posted 爱上资源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache-最好用的web服务器相关的知识,希望对你有一定的参考价值。

Apache-最好用的web服务器

简介

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。我们有的时候也把Apache叫做httpd服务器软件


官网:http://httpd.apache.org/

常用软件分类

  1. Apache:目前世界排名第一的,特点:历史悠久、安全、稳定、支持的功能模块较多。

  2. nginx:最近几年刚刚流行的一款高性能、高并发的web服务器软件,由一个俄罗期人开发。其变形的产品还有tengineopenresty

  3. IIS:微软出的WEB服务器,只能运行在windows上。

  4. Tomcatjava使用这个。

  5. lighttpd



软件下载



安装

apache软件安装

  1. 双击安装软件

Apache-最好用的web服务器


  1. 点击下一步

Apache-最好用的web服务器


  1. 同意条款

Apache-最好用的web服务器


  1. 继续下一步

Apache-最好用的web服务器


  1. 填写域名和邮箱信息

Apache-最好用的web服务器


  1. 典型安装,继续下一步

Apache-最好用的web服务器


  1. 使用默认的安装目录

Apache-最好用的web服务器


  1. 确认安装

Apache-最好用的web服务器


  1. 确认完成

Apache-最好用的web服务器


  1. 成功安装后,在右下角出现绿色的图标

Apache-最好用的web服务器


说明:如果是绿色,则代表成功安装。在浏览器中输入【localhost】,如果看到下面的信息,代码我们已经在浏览我们电脑上的网页了。

Apache-最好用的web服务器


如果不是绿色,则说明启动出了问题。


安装常见错误

中文路径

安装apache的目录中请确保没有中文。


之前安装过web服务器软件

如果之前安装过apache或者其他web服务器那么请删除之前安装的或者关闭之前安装的web服务器否则会占用80端口导致启动失败。


VC++库缺少

如果出现安装过程中出现这样的信息(原因:电脑中缺少vc++的运行库)

Apache-最好用的web服务器

解决办法:需要根据自己电脑的位数【32|64位】下载以下软件安装:

Apache-最好用的web服务器


Windows10 IIS服务占用80端口

如果是win10系统,部分的win10会自动启动IIS服务器占用了80端口,导致apache无法启动,解决办法是打开服务窗口并关闭IIS服务器。

打开服务窗口windows + r --> services.msc

Apache-最好用的web服务器

找到WorldWide Web Publishing Service”,双击打开后,将启动类型改为手动,更改服务状态为停止。

如果80端口仍然被占用,则还需要停止以下几个服务:

  1. SSDP Discovery

  2. Print Spooler

  3. HomeGroup Provider

  4. Function Discovery Resource Publication

  5. Function Discovery Provider Host



软件的启动与关闭

鼠标左键点击绿色小光标

Apache-最好用的web服务器


选择启动、关闭、重启

Apache-最好用的web服务器


说明:当选择关闭后,图标变成红色

Apache-最好用的web服务器





配置文件

配置文件的位置

apache的工作行为都是可以通过配置文件来配置的,配置文件的名字是:httpd.conf,默认安装的apache保存在apache的安装目录的config目录下:

Apache-最好用的web服务器

注意:apache配置文件中的内容不能随意修改,如果出现错误,将导致apache无法启动。


说明:如果修改了配置文件必须要重新启动一下才能生效。



注释

注意:在配置文件中的#开头的行都注释的意思,这些内容不影响配置文件的工作,只是为了方便人类做记录使用。所有不是# 开头就是有效的配置项了。

Apache-最好用的web服务器


端口号

apache默认使用80端口号,也可以修改:

Apache-最好用的web服务器


说明:如果修改了端口号,那么在访问时需要在浏览器中输入:http://域名:端口号/访问的文件


网站根目录

网站根目录指的是存放该网站所有网页的目录。

Apache-最好用的web服务器


当我们在浏览器中访问一个文件时,比如:要访问a.html,那么apache会到配置文件中设置的网站根目录中去找这个文件。


也就是说,我们写的代码都要放到网站根目录下,才能被浏览器访问。

Apache-最好用的web服务器


说明:这个目录是可以修改的,如果修改了请确保修改的目录已经存在,否则启动apache会失败!


访问权限

修改http.conf文件的DocumentRoot

Apache-最好用的web服务器


重启apache

Apache-最好用的web服务器


当我们修改了网站根目录之后再访问会提示以下页面【无权访问】

Apache-最好用的web服务器

这时我们需要修改apache配置文件中的权限设置:

Apache-最好用的web服务器


建议:没有特殊需求不用改网站根目录。


访问权限控制

Apache-最好用的web服务器


权限练习:配置自己的apache,并且可以让别人通过浏览器查看你电脑上的网站,同理也看看别人电脑上的网站。


访问时只写域名不写文件名时的情况

如果用户没有写要访问的文件会出现什么情况?

Apache-最好用的web服务器


如果用户访问网站时只输入了域名,没有指明要访问的文件。这时apache会怎样?比如用户访问:http://localhost,这时会有三种情况:

Apache-最好用的web服务器

这个时候apache会先在网站根目录查找有没有index.html,如果有则显示这个文件,如果没有则查找test.html。哪个文件写在前面就找哪个,找到就停止,并返回给用户。


说明:找到第一个文件就直接返回了,就不再找后面的了,然后可以修改这些文件多个文件用空格隔开,apache会依次从左向右找。


情况一-配置DirectoryIndex

如果配置了DirectoryIndex,那么apache会自动找这个配置的文件

Apache-最好用的web服务器

根据以上配置会先找index.html 如果没有再找test.html .......



扩展:如果以上几个配置文件都没有找到怎么办?就要看以下的情况了:


情况二-配置Indexes

如果配置DirectoryIndex没有找到,那么再看有没有配置Options后面是否有indexes,

Apache-最好用的web服务器

如果有:会列出这个网站根目录下所有的文件。

Apache-最好用的web服务器



情况三-没配置Indexes

如果没有

Apache-最好用的web服务器


显示无权访问:

Apache-最好用的web服务器

如果要访问必须写出明确的文件名:

Apache-最好用的web服务器


高级用法

虚拟主机简介

我们的电脑不可能为一个网站服务,那么如何提供多个服务呢?

答:可以安装多个web服务器软件,监听不同的端口。


通过上面的方式可以达到目的,但是安装多个软件,则会造成管理上的麻烦,则我们是否可以在一台电脑只安装一个apache服务,提供多个网站服务呢?

答:可以使用apache提供的虚拟主机服务。

虚拟主机配置

  1. 修改httpd.conf文件,开启mod_vhost_alias.so模块

Apache-最好用的web服务器


Apache-最好用的web服务器

  1. 修改httpd-vhosts.conf文件,增加如下信息

Apache-最好用的web服务器


<VirtualHost *:80>

# 配置网站根目录

DocumentRoot "D:/soft/vhost1"


# 配置域名

ServerName local.vhost1.com


# 配置默认的首页

DirectoryIndex index.html index.htm

   

# 配置虚拟主机目录的权限

<Directory "D:/soft/vhost1">

Options Indexes FollowSymLinks

      AllowOverride None

Order allow,deny

Allow from all

</Directory>


</VirtualHost>



  1. 修改系统的hosts文件,增加一行如下信息


  1. 浏览器访问效果



以上是关于Apache-最好用的web服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何用python和web.py搭建一个网站

apache http server 和 tomcat是啥关系

nginx

apache工作模式介绍

10个最好的 Node.js MVC 框架

10个最好的 Node.js MVC 框架