• Web服务器---Apache学习记录


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

      上面是官方的解释,我自己的理解是:有一台在互联网中的计算机,在该计算机上有一个软件(这个软件可以是Apache Nginx IIS这3中任意一个)。然后我们将服务器语言编写的互联网产品(网站、web服务、web应用程序)配置在该软件上。这个样大家就可以通过浏览器等web客户端去访问我们的互联网产品。

                                                        ps:什么叫服务器语言,就是大家学习的asp/asp.net/php等。

      大家不用觉得web服务器很复杂,它其实就是装有一个可以相应web客户端软件的电脑而已。

      今天,遇见了一个任务:无论浏览器访问的网址是什么样的(网址一定会包含/*/*/*这种格式)如:www.IP/1/2/3.com.都要转换成www.IP?x=*&y=*&z=*这种格式的网址,条件使用Apache 实现,以前也没用过这个所以将自己的学习过程记录下来。

      首先APAHCE有很多版本,我为了兼容性下载的是Apache2.4打开之后如图:

    所有的配置文件都在conf下面,打开:

    经查询,APACHE软件读取的都是httpd.conf这个文件里面的内容,可能大家会问了,那别的配置文件里的内容没用吗?不是的,咱们打开httpd.conf这个文件:

    大家看一下红线围起来的单词:Include ,就是这个词将别的文件的配置信息计入主配置文件httpd.conf了,在httpd.conf这个文件中大家看到许多#号,带#号的意思就是这一句被注释掉了。

    大家在httpd.conf文件中再搜索一个关键字Define SRVROOT,查询结果会看到这一句:Define SRVROOT "/Apache24",这一句的意思是你的apache软件安装在了哪,默认是c盘,如果你将安装文件夹放在了D盘,那么把这一句改成Define SRVROOT "D/Apache24"就可以了(注意这里 的路径是绝对路径)。

    大家都访问过网站,通常是www开头的,这个叫做域名,最总域名会解析成IP如www.baidu.com最总访问的是220.181.57.216这个服务器。同一台web服务器可以发布多个网站,这只用ID来区分那个网站对应那个地址是不行的。所以这个我们在IP的后面加入了端口号,大家搜索关键字Listen ,看到Listen 80 这就是这个服务器监听的端口号,我们为了不冲突把80改为 8012。

    好了,现在你的apache就可以工作了,打开bin文件夹下的:

    标红的exe这样你的Apache就开始工作了,咱们试试,在浏览器输入127.0.0.1(这个是你电脑自己的IP,相当于localhost)看看结果:

    这个就是APache的欢迎界面。证明我们的配置成功了。

    接下来开始我今天的任务,经过查询资料,解决我这个问题要用到的技术是:

    apache rewrite模块反向代理的配置

    接下来经过查询资料得到结果如下:首先我们在httpd.conf文件中标了#号的几句换放开

    标红的4句话放开(别问为啥了,apache软件的设计者顶的……),这样一来,我们的apache软件就是具备了反向访问别的url的功能,但是到底什么样的url我们去让它必须访问我们定义的url呢?这就需要规则,规则在下面的文件中定义

    extra文件中的httpd-vhosts.conf文件,打开httpd-vhosts.conf文件将下面的这一段话写入你的文件:

    <VirtualHost _default_:8012>
    DocumentRoot "${SRVROOT}/htdocs"
    #ServerName www.example.com:80
    <IfModule mod_rewrite.c>
    RewriteEngine On
    rewritecond ^/abc/(.*)/(.*)/(.*)
    RewriteRule  http://www.baidu.com [P]
    </IfModule>
    </VirtualHost>

    接下来解释下:RewriteEngine On 开启重定向

    rewritecond:什么样的url 我们去重定向

    RewriteRule 重定向到哪(这里是百度)

    好了结果是什么呢?我们的目的是如果url 是类似 127.0.0.1:8021/abc/1/1/1 这种格式那么访问到的内容是百度首页.

    大家也动手试试吧。

  • 相关阅读:
    数据库事务查看
    在SQL中删除重复记录(多种方法)
    OO设计原则
    NHibernate开源框架Cuyahoga学习之权限映射
    链队列的实现
    二叉树的实现
    NHibernate.cfg.xml文件配置
    HQL查询实例
    对象枚举遍历实现二
    NHibernate开源框架Cuyahoga学习之数据访问泛型约束的实现
  • 原文地址:https://www.cnblogs.com/JK1989/p/6900353.html
Copyright © 2020-2023  润新知