目录
Apache概念
yum安装
编译安装
安装步骤:
修改访问方式
基于不同ip进行修改
基于不同端口进行访问
基于域名进行访问
进行图片访问
web服务器的中间件
用于构建静态web站点
默认版本2.4.6
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中
Apache软件包名:httpd
Apache监听端口:80
Apache主配置文件:/etc/httpd/conf/httpd.conf
yum安装Apache与安装其它程序一样
可以直接输入:yum -y install httpd
yum安装主配置文件信息:vim /etc/httpd/conf/httpd.conf
Listen 80 定义apache的监听端口号
User apache 定义运行用户和运行组
Group apache 运行用户:程序需运行时哪个用户打开的程序文件
ServerName www.example.com:80 定义web服务使用域名访问
Require all denied;Require all granted 定义访问权限;
denied:不能访问
granted:可以访问
DocumentRoot "/var/www/html" 定义文档根目录(首页文件)
DirectoryIndex index.html 定义默认访问主页(叫什么名称)
(源码安装)
首先准备环境
把准备好的源码包拖拽进来但是容易丢失
或者使用共享文件夹:
先创建一个文件夹把源码包放里
打开设置点击选项打开共享文件夹选择总是启用点击添加把有源码包的文件夹选择进去然后完成
mount查看一般在最后一行
随后cd进入 把它复制到家目录即可
1. 解包:tar
(将源代码释放到指定路径中)
2. 配置:./configure
(根据用户需求选择相应的安装路径,功能,模块等)
3. 可能会报错,需要解决底层环境依赖关系
yum -y install apr apr-util apr-util-devel
yum -y install pcre-devel
yum -y install zlib-devel
yum -y install gcc-c + +
4. 编译:make
(根据配置的环境 借助编译器 将源代码转换为开源执行的二进制文件)
5. 安装:make install
(将编译好的二进制文件 部署到系统中 并设置应用环境)
1. 解包
添加完软件包之后要进行第一步 解包 tar 软件包是.gz结尾可以调用 -xzf格式输入命令tar -xzf (软件包名)
随后ll查看 发现会生成一个解包完成后目录
2. 然后进到这个目录里面来完成第二步
命令:cd httpd-2.4.54
ll查看这个里面有一个特殊的文件是绿色的 它是可执行的文件 这个就是做配置的 (配置比如说:指定它的路径,指定它的连接数量等等可以叫做调优)但是我们现在只涉及它的安装
3. 直接输入:./configure --prefix=/usr/local/apache
:表示我要将cd拖进来的那个软件也可以叫做网站放到
/use/local下/nginx目录里面去 指定它的安装目录
选项是:--prefix=一个路径
/usr/local :第三方应用程序的安装目录
4. 安装报错 :然后我们去排除错误
提示需要安装依赖关系 下面安装依赖关系
解决依赖关系 使用yum安装以下依赖.
yum -y install apr apr-util apr-util-devel
yum -y install pcre-devel
yum -y install zlib-devel
yum -y install gcc-c++
安装完成之后再次输入:./configure --prefix=/usr/local/apache 进行安装就完成了
5. 编译
命令:make
(根据配置的环境 借助编译器 将源代码转换为开源执行的二进制文件)
(:将程序员写的代码转换成电脑可以读懂的二进制代码)
make直接敲 显示离开目录就表示安好了
6. 安装
命令:make install
编译好之后然后再进行安装
同样的 make install 也是直接敲
显示离开目录就是安装好了
7. 源码安装需要找到它的路径才能启动它的命令因为这个命令不在命令路径变量里面
查看命令:echo $PATH
需要将命令连接到里面
将安装目录中的启动命令链接到/usr/local/bin
创建连接命令:ln -s /usr/local/apache/bin/apachectl /usr/local/bin/apachectl
随后启动apache
命令:apachectl start
完成以上步骤打开虚拟机的浏览器输入本机ip地址就可以进行访问了 也就是apache安装完成了
apache主配置文件:vim /usr/local/apache/conf/httpd.conf
主配置文件包含虚拟主机配置文件:vim /usr/local/apache/conf/extra/httpd-vhosts.conf
apache主配置文件:vim /usr/local/apache/conf/httpd.conf 信息:
ServerRoot "/usr/local/apache" 定义apache安装路径
Listen 80 定义apache的监听端口号
LoadModule 加载apache运行时的必要模块文件
User daemon 定义运行用户和运行组
Group daemon 运行用户:程序需运行时哪个用户打开的程序文件
ServerName www.example.com:80 定义web服务使用域名访问
Require all denied;Require all granted 定义访问权限;denied:不能访问
granted:可以访问
DocumentRoot "/usr/local/apache/htdocs" 定义文档根目录
DirectoryIndex index.html 定义默认访问主页
ErrorLog "logs/error_log" 定义: 错误日志路径;
LogLevel warn 错误日志级别;
LogFormat 日志格式;
CustomLog 访问日志
1. 基于不同ip地址进行访问
主配置文件包含虚拟主机配置文件
首先打开cd 到 /usr/local/apache/conf 用 LL 查看找到 /extra 然后cd进入再次 LL 查看 /httpd-vhosts.conf 文件 用vim打开它
或者直接 vim /usr/local/apache/conf/extra/httpd-vhosts.conf 打开
要实现不同ip访问不但要更改它的ip地址以外还要更改它的文档根目录
cd 到 /usr/local/apache 下LL查看
找到它的文档跟目录:htdocs 并 cd 进去 :cd htdocs
进入之后创建两个目录 web1、web2
创建完之后LL查看 找到 index.html 把它分别复制到 web1、web2下
命令:cp index.html web1
cp index.html web2
随后把index.html 删掉
命令:rm -rf index.html
然后 cd 进到 web1 下LL查看会有一个刚才复制进来的 index.html 直接vim进去
cd 到 web1下后 命令:vim index.html
进去之后删掉第一行内容 并 写入web1 然后保存退出
然后同样的操作进入到 web2 里面写入web2
修改完以上配置之后vim进入到 主配置 /usr/local/apache/conf/extra/httpd-vhosts.conf 里面
去修改 ip 和 文档根目录
域名和别名需要注释掉 日志和访问日志也要进行修改 修改完之后保存退出
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs/web1"
# ServerName dummy-host.example.com 域名可以给它注释掉
# ServerAlias www.dummy-host.example.com 别名也注释掉或者删掉
ErrorLog "logs/50.50-error_log" 日志也进行修改
CustomLog "logs/50.50-access_log" common 访问日志
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs/web2"
# ServerName dummy-host2.example.com
ErrorLog "logs/50.51-error_log"
CustomLog "logs/50.51-access_log" common
在命令行添加一张临时网卡或者添加一张永久网卡(网络适配器)
添加命令:ifconfig ens33:0 192.168.50.51 netmask 255.255.255.0
然后进入到主配置文件中 vim /usr/local/apache/conf/httpd.conf
找到:CustomLog "logs/access_log" common 因为我们再虚拟主机里面声明了各自的访问日志所以可以把它注释掉“#” 然后保持退出
找到 Listen 在后面写入虚拟配置文件修改的两个ip 加 :80 端口
并找到 nclude conf/extra/httpd-vhosts.conf (开启使用虚拟主机文件的选项)取消注释
apachectl -t 查看格式是否正确
重启服务 命令 :apachectl restart
然后打开本机浏览器 去输入 ip 查看
打开虚拟配置文件 vim /usr/local/apache/conf/extra/httpd-vhosts.conf
将ip修改成一样 将端口修改成
81 和 82 当然也可以改成其它的 只要修改的端口不是正在使用的不让会发生冲突
然后去修改主配置文件 vim /usr/local/apache/conf/httpd.conf
将ip改成一样 并修改端口为 81 和 82
然后查看格式是否正确 并 重启
查看格式命令:apachectl -t
重启命令: apachectl erstart
重启完之后 查看端口是否启用 如果未启用可以输入:apachectl stop 停止服务然后再重启
查看端口命令:netstat -anptl
端口启用之后在本地浏览器进行查看 ip 后面要加上端口号 :8081、:8082
首先安装DNS域名解析
命令:yum -y install bind
然后修改DNS主配置文件
命令:vim /etc/named.conf
修改区域配置文件
命令:vim /etc/named.rfc1912.zones
然后cd 到/var/named下 LL查看
找到:named.empty
named.localhost
把它们分别复制到 cjf. 下
命令:cp -p named.localhost cjf.localhost (正向解析)
cp -p named.empty cjf.empty (反向解析)
正向解析:
反向解析:
解析完成之后先启动服务在重启服务
启动服务命令:systemctl start named
重启服务命令:systemctl restart named
在ens33网卡里写入:DNS1=192.168.50.50 指定本机ip
命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
然后断开重新连接 ens33 网卡
命令 :ifdown ens33 && ifup ens33
然后再重启服务
重启服务命令:systemctl restart named
cd 到 /usr/local/apache 下LL查看
找到它的文档跟目录:htdocs 并 cd 进去 :cd htdocs
进入之后创建两个目录 web1、web2
创建完之后LL查看 找到 index.html 把它分别复制到 web1、web2下
命令:cp index.html web1
cp index.html web2
随后把index.html 删掉
命令:rm -rf index.html
如果穿件的有也可以不用创建
随后进入到虚拟主机配置文件
命令:vim /usr/local/apache/conf/extra/httpd-vhosts.conf
修改完之后保存退出
然后修改主配置
命令:vim /usr/local/apache/conf/httpd.conf
找到 Listen 在后面写入刚才修改的 ip 加端口 :80
随后启动服务并查看端口
启动服务命令:apachectl start
查看端口命令:netstat -anptl
如果不显示端口 未启用可以输入:apachectl stop 停止服务然后再重启
下面打开本机浏览器查看
将虚拟机导入一张格式为 .jpg 的图片 放到 root 下目录下
然后将1.jpg放到 /usr/local/apache/htbos/web1下
命令:cp 1.jpg /usr/local/apache/htbos/web1
然后 cd 到/usr/local/apache/htbos/web1
输入LL进行查看
然后打开本机浏览器输入本机ip 192.168.50.50 在 ip 后面加上 “ / ” 根号然后加入图片名 1.jpg
:192.168.50.50/1.jpg