Apache网站服务

本文详细介绍了Apache服务器的安装过程,包括检查服务、安装编译器、源码编译安装、配置优化、启动服务等步骤。此外,还深入讲解了如何配置基于域名、IP地址和端口的虚拟主机,以及日志管理。Apache服务器以其开源、跨平台、支持多种语言和模块化设计等特点,成为广泛使用的Web服务器。
摘要由CSDN通过智能技术生成

1 主要特点

  • 开放源代码:这是Apache服务器的重要特性之一,也是其他特性的基础
  • 跨平台应用:Apache服务器的跨平台特性使其具有被广泛应用的条件
  • 支持各种Web编程语言:这种特性使得Apache具有更广泛的应用领域
  • 模块化设计:这为Apache服务器带来了良好的扩展性
  • 运行非常稳定:可用于构建具有大负载的Web站点
  • 良好的安全性:这是开源软件共同具有的特性

2 安装服务

2.1 判断httpd服务是否已存在(端口被占用)
[root@localhost ~]# netstat -anpt | grep httpd   
[root@localhost ~]# netstat -anpt | grep 80
[root@localhost ~]# rpm -q httpd
未安装软件包 httpd 
2.2 安装用于源码安装apache的编译器
[root@localhost opt]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
软件包 gcc-4.8.5-44.el7.x86_64 已安装并且是最新版本   //c语言编译器
软件包 gcc-c++-4.8.5-44.el7.x86_64 已安装并且是最新版本   //c++编译器
软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本     //源代码编译器(源代码转换成二进制文件)
软件包 pcre-devel-8.32-17.el7.x86_64 已安装并且是最新版本   //perl的接口开发包
软件包 expat-devel-2.1.0-12.el7.x86_64 已安装并且是最新版本   //用于支持网站解析HTML、XML文件
软件包 4:perl-5.16.3-299.el7_9.x86_64 已安装并且是最新版本    //perl语言编译器
软件包 pcre-8.32-17.el7.x86_64 已安装并且是最新版本   /pcre是一个Perl函数库,包括perl 兼容的正则表达式库
无须任何处理
[root@localhost opt]# 

2.3 源码编译及安装
[root@localhost opt]# ls     //apr*为httpd2.4之后所需插件
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  rh

解压并将其放至srclib目录下

[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost opt]# 

指定安装目录,启用字符集支持

[root@localhost opt]# cd /opt/httpd-2.4.29/     //切换到解压目录下
[root@localhost httpd-2.4.29]# ./configure \     
> --prefix=/usr/local/httpd \                //指定 httpd 服务程序的安装路径
> --enable-so \                              //启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
> --enable-rewrite \                        //启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
> --enable-charset-lite \                   //启动字符集支持,以便支持使用各种字符集编码的页面
> --enable-cgi                             //启用CGI(通用网关接口)脚本程序支持,便于增强网站的外部扩展应用访问能力

无报错即为成功
在这里插入图片描述

编译和安装

[root@localhost httpd-2.4.29]# make && make install

无报错即为成功
在这里插入图片描述

2.4 优化管理

优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

添加httpd系统服务

[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd   //复制控制脚本
[root@localhost ~]# vim /etc/init.d/httpd   //添加以下两项


# chkconfig: 35 85 21  //35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server
[root@localhost ~]# chkconfig --add httpd  //将httpd加入到系统管理器

检查语法

[root@localhost ~]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

2.5 启动服务
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl status httpd
● httpd.service - SYSV: Apache is a World Wide Web server
   Loaded: loaded (/etc/rc.d/init.d/httpd; bad; vendor preset: disabled)
   Active: active (exited) since 六 2021-06-19 14:10:15 CST; 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 48038 ExecStart=/etc/rc.d/init.d/httpd start (code=exited, status=0/SUCCESS)

6月 19 14:10:15 localhost.localdomain systemd[1]: Starting SYSV: Apache is a World Wide Web server...
6月 19 14:10:15 localhost.localdomain httpd[48038]: AH00558: httpd: Could not reliably determine the server's full...sage
6月 19 14:10:15 localhost.localdomain httpd[48038]: httpd (pid 47947) already running
6月 19 14:10:15 localhost.localdomain systemd[1]: Started SYSV: Apache is a World Wide Web server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# netstat -antp | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      47947/httpd         
[root@localhost ~]# 

2.6 浏览网页

在这里插入图片描述

3.虚拟主机

Apache虚拟主机就是在一个Apache服务器上配置多个虚拟空间,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录

3.1 基于域名的虚拟主机
3.1.1 在 /etc/hosts 文件中临时配置域名与IP 地址的映射关系 (测试)
[root@localhost ~]# echo "192.168.30.5 www.hello.com" >> /etc/hosts
[root@localhost ~]# echo "192.168.30.5 www.world.com" >> /etc/hosts
[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.30.5 www.hello.com
192.168.30.5 www.world.com
[root@localhost ~]# 

3.1.2 为虚拟主机准备网页文件
[root@localhost ~]# mkdir -p /var/www/html/hello
[root@localhost ~]# mkdir -p /var/www/html/world
[root@localhost ~]# echo "<h1>www.hello.com</h1>" > /var/www/html/hello/index.html
[root@localhost ~]# echo "<h1>www.world.com</h1>" > /var/www/html/world/index.html

3.1.3 添加虚拟主机配置

模板文件
在这里插入图片描述
在这里插入图片描述
修改为
在这里插入图片描述

3.1.4 加载独立的配置文件
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf 

在这里插入图片描述

[root@localhost ~]# systemctl restart httpd   //重启服务使配置生效
3.1.5 查看效果

在这里插入图片描述

3.2 基于IP地址的虚拟主机
3.2.1 创建一块虚拟网卡,便于测试
[root@localhost ~]# ifconfig ens33:0 192.168.30.10
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.30.5  netmask 255.255.255.0  broadcast 192.168.30.255
        inet6 fe80::20c:29ff:fe23:3d0c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:23:3d:0c  txqueuelen 1000  (Ethernet)
        RX packets 254195  bytes 325974371 (310.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 84622  bytes 6055498 (5.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.30.10  netmask 255.255.255.0  broadcast 192.168.30.255
        ether 00:0c:29:23:3d:0c  txqueuelen 1000  (Ethernet)

3.2.2 修改虚拟主机配置

在这里插入图片描述

3.2.3 重启服务并测试

在这里插入图片描述

3.3 基于端口的虚拟主机
3.3.1 修改虚拟主机配置

在这里插入图片描述

3.3.2 修改主配置文件,增加监听端口8080
[root@localhost ~]# vim /etc/httpd.conf 

在这里插入图片描述

3.3.3 重启服务并测试

在这里插入图片描述

4.日志分割

4.1访问日志设置
[root@localhost php-5.6.11]# vi /usr/local/httpd/conf/httpd.conf

失败日志
在这里插入图片描述
访问日志
在这里插入图片描述

4.2 查看日志

修改系统时间测试日志会不会随着更改
在这里插入图片描述

小结

apache服务器在功能、性能等方面都是比较突出的
通过虚拟主机服务可以大大降低网站构建和运行的成本
系统自带的日志分割工具十分便于查看特定的日志

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值