• apache基础学习


    1,apache是什么?

    目前最主流的三个Web服务器是Apache Nginx IIS

    2,环境搭建

    linux系统安装xampp:

    先下载xampp for linux,放在/opt文件夹下,程序员常常把程序放在这个文件夹下,便于管理。

    输入命令自动安装:sudo ./xampp-linux-x64-5.6.23-0-installer.run ,图形界面点击next,finish,安装完成。

    运行和停止:命令分别是>sudo /opt/lampp/xampp start   和  >sudo /opt/lampp/xampp stop

    启动图形控制界面:sudo /opt/lampp/./manager-linux-x64.run

    注意,此时的localhost对应的文件夹是:/opt/lampp/htdocs,在这个文件夹中增删改查都需要sudo权限。

    配置文件目录:

                 Apache文档根目录:/opt/lampp/htdocs/

                 Apache配置文件:/opt/lampp/etc/httpd.conf

                 MySQL配置文件:/opt/lampp/etc/my.cnf

                 PHP配置文件:/opt/lampp/etc/php.ini

                ProFTPD配置文件:/opt/lampp/etc/proftpd.conf

                PHPMyadmin配置文件:/opt/lampp/phpmyadmin/config.inc.php

    常用的xampp操作命令:

                 启动/停止/重启Apache:/opt/lampp/lampp start/stop/restart(包括启动/停止/重启了mysql,proftpd)

                 安全设置:/opt/lampp/lampp  security

                 使用php版本/查看版本:/opt/lampp/lampp php4(5)/phpstatus

                 只启动和停止Apache:/opt/lampp/lampp startapache/stopapache

                 只启动和停止MySQL:/opt/lampp/lampp startmysql/stopmysql

                 只启动和停止ProFTPD服务器:/opt/lampp/lampp startftp/stopftp

                 启动和停止Apache的SSL支持:/opt/lampp/lampp startssl/stopssl

                 随系统自启动:

                                          ln –s /opt/lampp/lampp/etc/rc.d/rc3.d/S99lampp

                                          ln –s /opt/lampp/lampp/etc/rc.d/rc4.d/S99lampp

                                          ln –s /opt/lampp/lampp/etc/rc.d/rc5.d/S99lampp

                取消自启动:

                                         ln –s /opt/lampp/lampp K01lampp

                卸载XAMPP:rm –rf /opt/lampp

    3,web服务器apache架构与原理

    web服务器的工作流程:

        1,客户端发送请求:客户端(通过浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求,根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。

        2,服务器解析请求:Web服务器对请求按照HTTP协议进行解码,然后Web服务器软件现在就知道了,它应该找到请求的文件,并使用特定的协议将内存返回给客户。

        3,读取其他信息:除了访问内容以外的信息

        4,完成请求的动作:若没有错误出现,WWW服务器将执行请求所要求的动作。web服务器在其文档树中搜索请求的文件(/sample.html)。若文件能找到并可正常读取,首先web服务器会发送状态码和一些描述性的信息,然后这个文档被发出,同时服务软件的标识以及文件的时间属性信息也被包含在头域中。如果文件没有找到或者无法读取,则请求没法满足,这时候服务器会返回一个状态码,表示请求有误。

        5,关闭文件和网络连接,结束会话:当回应被发出以后,web服务器会关闭整个会话,它会关闭被请求的文件,关闭网络端口而结束网络连接。

    apache架构虚拟目录:

      在xampp中,我默认的localhost目录是:C:/xampp/htdocs,假设该目录下有一个test.php文件,则,在浏览器中访问localhost/test.php就能打印出test.php的内容:hello i am main web!(直接访问localhost的话会显示出XAMPP的导引页面)

      需求,建立一个虚拟目录,位置是C:/xampp/htdocs/daqing_test,访问该位置的链接是:www.daqing.com,该目录下有一个test.php文件,浏览器访问的时候会显示:hello i am vitualhost!

      建立虚拟站点:

    1,打开Apache安装目录下conf/httpd.conf文件,需要把文件中以下两行的注释去掉,也就是去掉井号,保存。

    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    #Include conf/extra/httpd-vhosts.conf

    2,打开Apache安装目录下/conf/extra/httpd-vhosts.conf文件,先找到NameVirtualHost *:80 去掉注释的#号,目测这是一个专门配置虚拟站点的文件。按照如下格式将自定义的站点信息写入到该文件末尾:

    <VirtualHost *:80>
        DocumentRoot "/xampp/htdocs/daqing_test"
        ServerName www.daqing.com
    </VirtualHost>

    注意,提前建好/xampp/htdocs/daqing_test文件夹

    3,在系统的配置文件中改一下hosts(C:WindowsSystem32driversetchosts),如果这个文件只有管理员才能修改,那就请点击:文件 -- 打开windows power shell--以管理员身份打开windows power shell --  命令行输入>cmd -- >notepad hosts -- 修改:加入两行

    127.0.0.1 www.daqing.com    

    注意两组数中间有空格或者是 。记得保存。

    4,重启apache,案例说虚拟站点应该是没问题了,但是我的localhost此时已经不能访问了!哭,那怎么办呢?接着想办法配置

    5,我第一步的操作是把配置文件httpd.conf中的这一句话注释掉了

    #ServerName localhost:80

    但是localhost仍旧不工作,

    6,然后我去httpd-vhosts.conf中重新定义了localhost,也就是按照添加虚拟站点的思想去加上了localhost

    <VirtualHost _default_:80>
        ##ServerAdmin postmaster@dummy-host2.localhost
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
        ##ServerAlias www.dummy-host2.localhost
        ##ErrorLog "logs/dummy-host2.localhost-error.log"
        ##CustomLog "logs/dummy-host2.localhost-access.log" combined
    </VirtualHost>

    教程说_default_ 必须加,好吧,虽然不甚理解,那我加上吧。带井号的注释我也不大懂,加不加都可以。

    7,最后一步,还是要去系统的hosts文件中加上这一句话:

    127.0.0.1  localhost

    这时候去浏览器访问localhost/test.php或者www.daqing.com/test.php都可以成功!终于成功了。呜呜呜

     参考:

    https://www.jianshu.com/p/98b0968f77be    

    https://blog.csdn.net/github_38854224/article/details/78424441

    https://blog.csdn.net/ldl_xz/article/details/50890197

    4.apache和mysql是如何协作的?

    在用php语言直接在站点写好接口,还是需要先会php编程语言。

        

  • 相关阅读:
    正则匹配整数或小数
    文本超出点点点
    订单页面布局
    数据库连接池 maxActive,maxIdle,maxWait参数
    dll静态调用和动态调用
    Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnection
    sql server调优
    AdPlus
    010 Editor
    WinDBG相关
  • 原文地址:https://www.cnblogs.com/0-lingdu/p/9577147.html
Copyright © 2020-2023  润新知