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:\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基础学习的更多相关文章
- AspectJ基础学习之二搭建环境(转载)
AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...
- Yaf零基础学习总结3-Hello Yaf
Yaf零基础学习总结3-Hello Yaf 上一次我们已经学习了如何安装yaf了,准备工作做好了之后我们来开始实际的编码了,码农都知道一个经典的语句就是“Hello World”了,今天我们开始入手Y ...
- SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念
SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...
- Struts2基础学习2
Struts2基础学习2 项目结构,测试页面与实体类 <%@ page language="java" contentType="text/html; charse ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- NoSQL基础学习
NoSQL基础学习 最近学习的第一个Nosql就是Mongodb,为了了解Nosql的基本知识,特地总结,主要是学习Nosql的理论 一.Introduction(介绍) 它是“ Not Only S ...
- MacOS下SpringBoot基础学习
学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"springboot"获取视频和教程资料! b站在线视 ...
- Spark基础学习精髓——第一篇
Spark基础学习精髓 1 Spark与大数据 1.1 大数据基础 1.1.1 大数据特点 存储空间大 数据量大 计算量大 1.1.2 大数据开发通用步骤及其对应的技术 大数据采集->大数据预处 ...
- maven基础学习-为什么要用maven,帮助解决了什么问题,怎么解决的,希望以后学习每个知识点都可以这样问下自己
maven基础学习 第1章 Maven介绍 1.1 什么是Maven 1.1.1 什么是Maven Maven 的正确发音是[ˈmevən],而不是"马瘟"以及其他什么瘟.Mave ...
随机推荐
- (sort 排序)P1583 魔法照片 洛谷
题目描述 一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从大到小进行排序 ...
- hdu2544 最短路 Dijkstra算法
最短路(Dijkstra算法模板题) Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Kubernetes的负载均衡问题(Nginx Ingress)
nginx 反向代理 https://www.cnblogs.com/ericnie/p/6965091.html Kubernetes 集群中使用 Traefik https://blog.csdn ...
- 关于Tcpdump抓包总结
一.简介 tcpdump是一个用于截取网络分组,并输出分组内容的工具.凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具 tcpdump提供了源代码,公开了接口, ...
- jmeter sampler maven项目排错记
eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...
- 运维监控-基于yum的方式部署 Zabbix Agent 4.0 版本
运维监控-基于yum的方式部署 Zabbix Agent 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 上一篇博客我们分享了如何基于yum的方式部署zabbix 4. ...
- 01--STL泛型编程了解
开始学习侯捷老师的课程了~~ 一:六大组件关系 容器(Container) 算法(Algorithm) 迭代器(Iterator) 仿函数(Function object) 适配器(Adaptor) ...
- layui(四)——table组件常见用法总结
table是 layui 最核心的组成之一.它用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求.支持固定表头.固定行.固定列左/列右,支持拖拽改变列宽度,支持排序,支持多级 ...
- Hbuilder开发app时生成ios要的mobileprovision和p12文件步骤.
1.在MAC电脑.钥匙串串访问->证书助理->从证书颁发机构请求证书,创建一个证书为certSigningRequest文件 2.在Apple Developer中的Certificate ...
- ES学习之分片路由
本文主要内容: 1.路由一个文档到一个分片 2.新建.索引和删除请求 3.取回单个文档 4.局部单个文档 5.多文档模式 6.理解一下ES深度分页(from-size)的劣势 路由一个文档到一个分片 ...