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

配置文件目录:

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 [email protected]
    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编程语言。

原文地址:https://www.cnblogs.com/0-lingdu/p/9577147.html

时间: 2024-10-03 22:51:59

apache基础学习的相关文章

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

Yaf零基础学习总结3-Hello Yaf 上一次我们已经学习了如何安装yaf了,准备工作做好了之后我们来开始实际的编码了,码农都知道一个经典的语句就是“Hello World”了,今天我们开始入手Yaf,目标只要能得到“Hello Yaf”就可以了,不多说,下面开始了.(注:需要读者有一定的MVC知识基础,最好用过一些其他简单的框架) 1.组织目录结构 对于使用过框架的来说这点很好理解,对于没使用过框架的来说建议先别在这死磕,先记着吧,简单点就是对于我们的文件结构做一些规定,让自己和别人都能看

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

AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可以提供语法检查,以及编译.这里要说一点重要的知识: aspectj不能使用传统的JDK编译,他的编译器扩展自JDK.AJDT提供的编译功能,就为我们省了很多事,当然你也可以用命令行自己去编译(不过我从来没有这么做过). 无论是apsectj的安装,还是AJDT网上还是有很多文章讲的.不会的同学可以自

零基础学习Mahout之一:搭建单机环境

一.Mahout是什么? Mahout是Apache的一个开源项目(http://mahout.apache.org/),提供了机器学习领域的若干经典算法,以便开发人员快速构建机器学习和数据挖掘方面的应用. Mahout是基于Hadoop的.从名称上看也很有意思,Hadoop是一个大象的名字,而Mahout则是象夫.看象人,可见二者联系之紧密.(这让我自然联想到Sun和Eclipse...) 我此时是一个完全没用过Mahout的门外汉,对Hadoop也没有实际使用经验,算是真正的零基础.我的目标

Struts2基础学习总结(二)

Struts2基础学习总结(二)---struts.xml参数 1.常量 使用<constant name="" value=""></constant>元素进行描述 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Strut

Android 零基础学习之路

第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和StringBuffer的使用.正则表达式. 3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收:构造函数.this关键字.方法和方法的参数传递过程.static关键字.内部类,Java的垃极回收机制,Javadoc介绍. 4.对象实例化过程.方法的覆盖.final关键字.抽象类.接口.继承的优点和缺点剖析:对象的多态性:子类和父类之间的转换.抽象类和接口在多态中的应用.多态带来的好处.

Hadoop基础学习(一)分析、编写并运行WordCount词频统计程序

前面已经在我的Ubuntu单机上面搭建好了伪分布模式的HBase环境,其中包括了Hadoop的运行环境. 详见我的这篇博文:http://blog.csdn.net/jiyiqinlovexx/article/details/29208703 我的目的主要是学习HBase,下一步打算学习的是将HBase作为Hadoop作业的输入和输出. 但是好像以前在南大上学时学习的Hadoop都忘记得差不多了,所以找到以前上课做的几个实验:wordCount,PageRank以及InversedIndex.

Struts2基础学习总结

Struts2基础学习总结(一)---入门 Struts 2: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts2以WebWork为核心,采用拦

OpenStack基础学习及keystone服务配置

一.openstack基础学习 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作.OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单.可大规模扩展.丰富.标准统一的云计算管理平台.OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成. 二.环

puppet基础学习(二)

puppet基础学习(二) 六.ResourceOrdering(资源定序) 使用变化参数before , require , notify , subscribe catalog是对一个给定的系统的所有资源及关系的编译,在编译catalog时,除非我们指定资源的执行顺序,不然puppet是以其自己的顺序管理,大多数时候puppet指定适当的方式,例如puppet管理用户gigabyte应该存在和文件夹/home/gigabyte/bin应该存在并属于用户gigabyte时,puppet会自动指