一、概念
Apache服务是一种开源的Web服务器软件,它是目前世界上使用最广泛的Web服务器软件之一。Apache可以在多种操作系统上运行,包括Windows、Linux、Unix等。它支持多种编程语言和协议,如PHP、Perl、Python、CGI、SSL、HTTP等,可以用于搭建静态网站、动态网站、反向代理、负载均衡等多种应用场景。Apache服务的主要特点是稳定、安全、可靠、易于配置和扩展。
二、工作原理
1. 接收请求:Apache监听指定的端口,当有客户端请求到达时,Apache会接收这个请求。
2. 解析请求:Apache会解析请求中的HTTP头部信息,包括请求方法、请求路径、请求参数等。
3. 处理请求:根据请求的路径和参数,Apache会查找对应的文件或程序,并执行相应的操作。
4. 生成响应:Apache会根据请求的处理结果生成HTTP响应,包括响应状态码、响应头部信息和响应内容。
5. 发送响应:Apache将生成的HTTP响应发送给客户端,完成一次请求响应过程。
三、依赖软件
apr apr-util apr-util-devel
gcc gcc-c++
pcre-devel zlib-devel
四、配置apache
ln -s /usr/local/apache2/bin/apachectl /usr/local/bin/apachectl
为apache运行程序添加软连接(快捷方式)
apachectl 启动apache
启动成功后会显示AH00558 这个是提示我们没有给apache创建域名,不影响服务的使用
1、基于不同IP访问
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
进入虚拟主机配置文件
<VirtualHost 192.168.17.1:80> 要访问的地址
ServerAdmin webmaster@dummy-host.example.com 指定管理员的邮箱地址
DocumentRoot "/usr/local/apache2/htdocs/web1" 虚拟主机的根目录
# ServerName dummy-host.example.com 访问的域名(IP访问不需要域名)
# ServerAlias www.dummy-host.example.com 虚拟主机的别名(IP访问不需要别名)
ErrorLog "logs/17.1-error_log" 出现错误日志文件的名称
CustomLog "logs/17.2-access_log" common 自定义访问日志格式
</VirtualHost>
rm -rf /usr/local/apache2/htdocs/index.html 删除系统原本的访问文件
cd /usr/local/apache2/htdocs/ 进入htdocs目录
mkdir -p web1 web2 创建两个访问目录用来实验
vim /web1/index.html 写测试文件(内容随意)
vim /web2/index.html 写测试文件(内容随意)
web1
web2
vim /usr/local/apache2/conf/httpd.conf 用vim打开apache配置文件
Include conf/extra/httpd-vhosts.conf 找到这一个配置将注释删除 (这个是开启拓展域名)
#Listen 12.34.56.78:80 找到这一个配置,在他的下面写上虚拟主机中声明的两个IP和端口
验证
2、基于不同端口访问
#Listen 12.34.56.78:80 找到这一个配置,在他的下面写上虚拟主机中声明的一个IP和两个端口
将虚拟主机配置文件IP改为一样的 端口不同
测试
3、基于不同域名访问
首先要搭建一个DNS环境
启动apache
<VirtualHost www.syh.com:80> 修改为域名
ServerAdmin webmaster@dummy-host.example.com 不变
DocumentRoot "/usr/local/apache2/htdocs/web1" 不变
ServerName www.syh.com 修改为域名
# ServerAlias www.dummy-host.example.com
ErrorLog "logs/syh-error_log"
CustomLog "logs/syh-access_log" common
</VirtualHost>
测试
以上就是apache的三种基本用法
如有错误欢迎各位大佬批评指正,我们共同进步