web网站学习 apache (一)

本文详细介绍了Apache服务器的概述、模块设计、MPM模式、配置文件详解(包括主配置文件位置、配置详解和实战),以及基于域名的虚拟主机配置方法,包括IP、端口和域名的区分以及访问日志和错误日志的管理。
摘要由CSDN通过智能技术生成

学习内容

web 网站学习
apache
nginx
tomcat

apache概述

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

apache用户
# tail -1 /etc/passwd
apache进程
# ps aux | grep httpd
其中root运行的是主进程,apache运行的是子进程
主进程的id保存在/etc/httpd/run/httpd.pid文件内
真正来处理web请求的是子进程,主进程用来管理子进程
apache模块
# httpd -M
apache是一个模块化设计的服务,核心只包含主要功能,扩展功能通过模块实现
不同模块可以被金泰的编译进程序,也可以动态建在
模块的动态加载通过DSO(Dynamic shared Object)实现

apache模式

Apache一共有3种稳定的MPM模式(MPM:多进程处理模块),它们分别是 prefork、worker、event

perfork 预派生,事先生成几个工作进程,每个进程对应一个线程
特点:超级稳定,不支持高并发

worker 工作模式,每个进程对应多个线程,支持高并发

event 事件模式 每个进程对应多个线程,其中有一个线程专门用于监督其他线程,支持更高的并发

配置文件详解

1.主配置文件位置
/etc/httpd/conf/httpd.conf
检测配置是否有问题 
# httpd -t
修改后必须重启
# systemctl restart httpd
2.配置详解
serverroot  服务所在目录的路径
listen      监听端口
include     导入配置文件
    include conf.modules.d/*.conf
includeoption 导入辅助配置文件
            conf.d/*.conf
ifmodule 以特定模块存在与否为条件的指令
files     包含适用于匹配文件名的指令    拒绝访问
errorlog  错误日志位置
loglevel  错误日志级别

配置实战

基于域名的虚拟主机
一、基于域名的虚拟主机
虚拟主机(重点)
虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。虚拟主机技术极大的促进了网络技术的应用和普及。同时虚拟主机的租用服务也成了网络时代的一种新型经济形式。
虚拟主机的分类: 
基于 IP 的虚拟主机:一台服务器,多个 ip,搭建多个网站 
基于端口的虚拟主机:一台服务器,一个 ip,搭建多个网站,每个网络使用不同端口访问 
root@hd1 conf.d]# cat /etc/httpd/conf/httpd.conf|grep -i  ^listen
Listen 79
Listen 81
基于域名的虚拟主机:一台服务器,一个 ip,搭建多个网站,每个网站使用不同域名访问 
Apache 实验
启动服务,并设置开机启动
[root@hd1 ~]# systemctl start httpd 
[root@hd1 ~]# systemctl enable httpd 
查看相应的端口是否起来了?
[root@hd1 ~]# ss -naput |grep :80
tcp    LISTEN     0      128      :::80   
1. 域名解析:准备两个域名
www.sohu.com 
www.sina.com 
#使用本地 hosts 文件进行解析
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomai
::1       localhost localhost.localdomai
192.168.1.11 www.hd1.com
192.168.1.11 www.soudu.com
192.168.1.11 www.sina.com
2. 网站主页目录规划 
在/var/www/html/目录下分别创建 sohu 和 sina 两个目录
并在新建目录内创建 index.html 文件(分别创建不一样的内容
[root@hd1 html]# cd sohu/
[root@hd1 sohu]# echo sohu > index.html
[root@hd1 html]# cd sina/
[root@hd1 sohu]# echo sina > index.html
修改主配置文件开启文件关联
[root@hd1 conf]# vi httpd.conf
IncludeOptional conf.d/*.conf  #查看此行是否被注释,需要打开
编辑子配置文件,编写虚拟主机标签 
[root@hd1 conf.d]# cat httpd-vhosts.conf 
[root@hd1 conf.d]# cat vhosts.conf 
<Directory "/var/www/html/sina"> 
 	Options Indexes FollowSymLinks 
 	AllowOverride None 
 	Require all granted 
  </Directory>   
<VirtualHost 192.168.1.11:80> 
   ServerAdmin webmaster@sina.com 
   DocumentRoot "/var/www/html/sina"
   ServerName www.sina.com
    ErrorLog "logs/sina-error_log"
   CustomLog "logs/sina-access_log" common
</VirtualHost>
<Directory "/var/www/html/sohu"> 
 	Options Indexes FollowSymLinks 
 	AllowOverride None 
 	Require all granted 
  </Directory>   
  <VirtualHost 192.168.1.11:80>
   ServerAdmin webmaster@sohu.com
   DocumentRoot "/var/www/html/sohu"
   ServerName www.sohu.com
    ErrorLog "logs/sohu-error_log"
   CustomLog "logs/sohu-access_log" common
</VirtualHost>
重启服务,验证结果 
[root@hd1 conf.d]# systemctl restart httpd 
Windows 下:浏览器下输入两个不同的域名验证网页内容(提前修改 windows 的 hosts 文件)
基于端口实现
只需要修改
vhosts.conf 中的下面两行
<VirtualHost 192.168.1.11:79> 
<VirtualHost 192.168.1.11:81>
修改配置文件中/etc/httpd/conf/httpd.conf
Listen  79
Listen  81
测试curl 192.168.1.11:79
测试curl 192.168.1.11:81

总结题

跳转分配301永久跳转和302临时跳转
# yum install -y httpd
# httpd -V |grep Server   查看
配置服务路径
服务目录   /etc/httpd
配置文件   /etc/httpd/conf/httpd.conf
默认网站数据目录 /var/www/html
访问日志   /var/log/httpd/access_log
错误日志   /var/log/httpd/error_log
1.apache的主配置文件
/etc/httpd/conf/httpd.conf
2.apache会自动生成几个进程
跟cpu的核心数量有关系,一般是跟cpu的数量一致
3.httpd在应用层
4.重启网站服务
systemctl restart httpd 
在生产环境下,不可以随便使用这个命令
6.虚拟主机有哪几种配置方式
基于ip,基于域名,基于端口
7.怎么查看httpd服务的访问日志路径
 ①使用rpm -ql httpd | grep log 
 ②到配置文件中查看配置路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带上耳机世界与我无关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值