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:\Windows\System32\drivers\etc\hosts),如果这个文件只有管理员才能修改,那就请点击:文件 -- 打开windows power shell--以管理员身份打开windows power shell --  命令行输入>cmd -- >notepad hosts -- 修改:加入两行

127.0.0.1 www.daqing.com    

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

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编程语言。

apache基础学习的更多相关文章

  1. AspectJ基础学习之二搭建环境(转载)

    AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...

  2. Yaf零基础学习总结3-Hello Yaf

    Yaf零基础学习总结3-Hello Yaf 上一次我们已经学习了如何安装yaf了,准备工作做好了之后我们来开始实际的编码了,码农都知道一个经典的语句就是“Hello World”了,今天我们开始入手Y ...

  3. SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念

    SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...

  4. Struts2基础学习2

    Struts2基础学习2 项目结构,测试页面与实体类 <%@ page language="java" contentType="text/html; charse ...

  5. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  6. NoSQL基础学习

    NoSQL基础学习 最近学习的第一个Nosql就是Mongodb,为了了解Nosql的基本知识,特地总结,主要是学习Nosql的理论 一.Introduction(介绍) 它是“ Not Only S ...

  7. MacOS下SpringBoot基础学习

    学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"springboot"获取视频和教程资料! b站在线视 ...

  8. Spark基础学习精髓——第一篇

    Spark基础学习精髓 1 Spark与大数据 1.1 大数据基础 1.1.1 大数据特点 存储空间大 数据量大 计算量大 1.1.2 大数据开发通用步骤及其对应的技术 大数据采集->大数据预处 ...

  9. maven基础学习-为什么要用maven,帮助解决了什么问题,怎么解决的,希望以后学习每个知识点都可以这样问下自己

    maven基础学习 第1章 Maven介绍 1.1 什么是Maven 1.1.1 什么是Maven Maven 的正确发音是[ˈmevən],而不是"马瘟"以及其他什么瘟.Mave ...

随机推荐

  1. Java案例整理

    1.随机点名器案例 1.1      案例介绍 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息. 此案例在我们昨天课程学习中,已经介绍,现在我们要做的是对原有的案例进行升级,使用 ...

  2. jmeter5.0 while controller使用总结

    while controller 配合sql使用的方式 在while控制器条件中填空,这样当里面的请求断言失败后就会跳出循环 在while控制器条件中填LAST,当里面的请求断言失败后就会跳出循环,如 ...

  3. Go 的构建模式

    Go 的八种 Build Mode exe (静态编译) exe (动态链接 libc) exe (动态链接 libc 和非 Go 代码) pie 地址无关可执行文件(安全特性) c-archive  ...

  4. 剑指Offer_编程题_14

    题目描述 输入一个链表,输出该链表中倒数第k个结点. /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : va ...

  5. fuel6.0安装部署

    在经过一系列安装openstack方式后,个人觉得fuel的安装方式相对简易,接下来记录下安装部署fuel6.0的过程.本教程适合想把fuel6.0部署后,云主机需要连接外网的需求. 安装virtua ...

  6. python数据结构总结

    一.列表 1.列表脚本操作符: (1)扩增的操作符: “+”:用于组合列表:如[1,2,3]+[4,5,6]==>[1,2,3,4,5,6] "*":重复;如[2,3]*2= ...

  7. idea代码回退到前面的版本

    好多时候一个项目添加了新功能,导致整个项目不能运行,而之前的版本又没有保存.怎么办了?回退到以前的版本就OK啦, 没错IDEA就是这个智能化. 第一步:点击项目名称->右键->选择Loca ...

  8. 批量获取oracle的表和表字段注释【原】

    批量获取oracle的表和表字段注释 --用户表注释表 SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME LIKE 'WEB_ISC_%'; --显示指 ...

  9. flask 文件转为pdf并添加二维码

    背景: 宝安区需求,企业会下载表格,打印后填报.填报后收上表格,统一录入PDA.因为某台PDA只能录某个地方的表格,所以他们希望纸质表上有个二维码,扫描出现填报公司的一些信息,以及统计(好像是这样,没 ...

  10. mini2440串口使用

    1.安装驱动CH340-USB转串口驱动,安装完成最好重启一下电脑. 2.用串口线将开发板与pc项链,并打开电源,通过电脑设备管理器查看端口(下一步要用到). 3.运行SecureCRT.exe,并建 ...