关于linux下的Apache详解

1.Apache的概念

  • Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件
  • 它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一
  • 它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中
  • 是一个模块化的服务器,源于NCSAhttpd服务器
  • Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷
  • 特点是简单、速度快、性能稳定,并可做代理服务器来使用
  • 它是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器

2.关于http传输

  • 基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接
  • 一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容
  • 服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容
  • 其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求
  • 你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件
  • 在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包
  • TCP/IP决定了每个数据包的格式
1.客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接
2.HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态
3.是一种面向对象的协议,允许传送任意类型的数据对象
4.它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送
5.用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接
6.技术上讲是客户在一个特定的TCP端口(端口号一般为80)上打开一个套接字。如果服务器一直在这个周知的端口上倾听连接,则该连接便会建立起来。然后客户通过该连接发送一个包含请求方法的请求块

3.Apache的基础信息

主配置目录 /etc/httpd/conf/
主配置文件 /etc/httpd/conf/httpd.conf
子配置目录 /etc/httpd/conf.d/
子配置文件 /etc/httpd/conf.d/*.conf
默认发布目录 /var/www/html
默认发布文件 indev.html
默认端口 80
默认安全上下文 httpd_sys_content_t
程序开启默认用户 apache
apache日志 /etc/httpd/logs/*

4.实验环境

  1. 在虚拟机中挂载好镜像文件:mount /root/Desktop/rhel-server-7.3-x86_64-dvd.iso /westos/ #将镜像文件挂载在/westos/下

  2. 并设定永久挂载:vim /etc/rc.d/rc.local #将挂载镜像的命令添加在文件中

  3. chmod 755 /etc/rc.d/rc.local #更改文件的权限使之能够每次开机是都可以自动挂载
    在这里插入图片描述

  4. 配置本地yum源:vim /etc/yum.repos.d/westos.repo

  5. 编辑内容如下图所示:
    在这里插入图片描述

  6. yum clean all #清除原有的yum源

  7. yum repolist #列出仓库的信息
    在这里插入图片描述

  8. yum install httpd -y #安装服务httpd

  9. systemctl start httpd #开启服务

  10. systemctl enable httpd #使服务生效

  11. systemctl status httpd #查看服务的状态
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  12. firewall-cmd --list-all #查看火墙的所有信息

  13. firewall-cmd --permanent --add-service=http #在服务中添加http

  14. firewall-cmd --reload #使服务httpd在火墙中生效

  15. firewall-cmd --list-all #再次查看是否添加成功

在这里插入图片描述

  1. cd /var/www/html #切换到默认发布目录下
  2. vim index.html #编辑默认发布文件
  3. 编辑内容为:hello
  4. 在另一台主机上进行访问:172.25.254.77
    在这里插入图片描述
    在这里插入图片描述

5.修改默认端口(80)

1.当更改的端口为服务本身存在的端口时,可直接编辑文件对其进行更改

  • semanage port -l | grep http #查看服务http可用的端口
    在这里插入图片描述

  • vim /etc/httpd/conf/httpd.conf #编辑主配置文件

  • 编辑内容为:43 Listen 8080 #更改端口为8080
    在这里插入图片描述

  • systemctl restart httpd #重启httpd服务

  • netstat -antlupe | grep httpd #查看httpd服务的端口是否更改成功

  • firewall-cmd --permanent --add-port=8080/tcp #在火墙中添加端口信息8080

  • firewall-cmd --reload#使更改生效

  • getenforce#查看selinux当前状态,此时状态为Disabled

  • vim /etc/sysconfig/selinux#编辑文件将状态更改为Enforcing

  • 编辑内容为:
    在这里插入图片描述

  • reboot#重启机器
    在这里插入图片描述

  • getenforce#查看selinux当前状态,此时状态为Enforcing
    在这里插入图片描述

2.若要更改的端口并不在服务http中,则要先添加要更改的端口信息

  • semanage port -a -t http_port_t -p tcp 6666#添加安全上下文为http_po
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值