Apache的管理及优化

  • 1、Apache的作用
  • 2、Apache的启用
  • 3、Apache的基本配置
  • 4、Apache的访问控制
    • (1)基于ip的黑名单
    • (2)基于ip的白名单
    • (3)基于用户的访问控制
  • 5、Apache的虚拟主机
  • 6、Apache的语言支持
    • (1)php语言
    • (2)perl语言
    • (3)wsgi(python语言)

1、Apache的作用

思考我们平时上网打开网页浏览百度时,为什么能看到各种信息,这是因为服务商把这个页面共享出来了,允许我们访问,能提供共享的软件叫Apache,我们一起遵守的协议叫http://超文本传输协议。除了Apache还有nginx,stgw,jfe,Tengine等软件提供共享服务。

2、Apache的启用

如果想在虚拟机中测验Apache的各种功能,首先需要真机配置好网桥和软件仓库,虚拟机要配好ip和软件仓库的配置文件。这里虚拟机的ip为172.25.254.52。
dnf install httpd.x86_64 -y安装httpd软件,systemctl enable --now httpd开启服务并设定开机启动,由于需要外界访问自己的httpd服务,所以火墙肯定要阻拦,firewall-cmd --permanent --add-service=http在火墙中永久开启http访问,firewall-cmd --reload刷新火墙使设定生效。现在Apache就成功启用了。现在打开浏览器输入172.25.254.52,有测试页出现,说明开启成功。

/etc/httpd/conf/httpd.conf是主配置文件,/etc/httpd/conf.d/*.conf是子配置文件。默认发布的目录是/var/www/html,http的默认端口是80,日志在/etc/httpd/logs

3、Apache的基本配置

(1)端口修改
在主配置文件中写了默认的端口号是80,如果想修改端口号,打开主配置文件,第45行,改为8080,

重启服务,由于火墙默认允许的端口号是80,所以修改完要专门设定允许8080,重启火墙

现在端口就更改成功了,但是浏览器输入172.25.254.52不行了,必须指定端口,输入172.25.254.52:8080,测试页就出现了。

(2)默认发布文件
现在我们不想只看测试页了,想看点内容,默认发布的目录是/var/www/html,在该目录下创建文件,文件的名字默认是index.html

网页测试,成功

现在我想发布westos.html这个文件的东西,内容是westos,就需要更改主配置文件,重启服务

网页测试,优先发布westos.html这个文件的东西

(3)默认发布目录
假如不想用默认的发布目录,可以修改配置主文件,重新指定默认的发布目录/westos/html,设定允许,重启服务,现在共享的目录就是/westos/html了。

如果测试无法打开,一般是/westos/html的执行权限没开。

4、Apache的访问控制

(1)基于ip的黑名单

先创建一个目录westos,假如不想让172.25.254.77访问westos目录,可以设置该目录的黑名单,如下图(顺序是先读一个范围大的,再读一个范围小的,覆盖上面的)

172.25.254.77访问提示禁止

(2)基于ip的白名单

假如现在只想让172.25.254.77访问westos目录,其他人都不允许,可以设置主配置文件,如下图,

172.25.254.77访问提示允许

(3)基于用户的访问控制

用户输入名称密码才可以访问,使用下面的命令产生认证文件,注意当文件存在时,在添加用户时不要加-c参数否则会覆盖源文件内容。这里添加了两个用户user1和user2,输入密码。

设定主配置文件,这里只允许user2能访问(如果认证过的用户都允许,user2的位置可以改为valid-user)。

测试效果如下图,会跳出认证的界面,输入用户user2和密码后,才可以看到访问的内容。

5、Apache的虚拟主机

我们现在只有一个ip,想发布多个页面怎么办?就需要创建虚拟主机。
实验测试如下,先创建两个和默认目录不同路径的目录linux和java,分别创建index.html文件,现在总共有三个页面需要发布,但是只有一个Apache。

/etc/httpd/conf.d/建立vhosts.conf文件,内容如下,主要有三块内容,第一块就是默认的目录,第二块意思为访问linux.westos.org时看/var/www/westos.org/linux下的共享文件,第三块意思为访问java.westos.org时看/var/www/westos.org/java下的共享文件,并且都为他们设置了日志(combined表示所有类型日志都收集)。重启服务

由于设定了不同域名,所以需要在用浏览器测试的系统上配置地址解析,这里我是用真机的浏览器测试的,所以要配置真机的/etc/hosts,内容如下,

测试如下,三个都成功了。

6、Apache的语言支持

上面我们写的hello Apache!是超文本标记语言,默认就支持,那其他的语言支持吗?

(1)php语言

首先写一个文件index.php,显示php的测试页,内容如下,浏览器访问172.25.254.52/index.php,什么都没有显示

说明默认不支持,需要安装php的插件,直接用软件仓库安装就行。安装完再测试,出现了测试页。

(2)perl语言

如果想发布一个命令的执行结果,可以吗?测试一下,先写一个文件,内容是$(date),我们想要的效果是网页显示现在的真实时间,测试结果如下,把源码直接发布出来了,说明Apache默认只能发布静态的页面,不支持执行命令再发布结果。

如果有一个程序想发布执行结果,只能把程序给cgi(通用网关节口),执行的结果再给Apache发布,cgi支持的语言叫perl语言。
测试如下,首先建立一个cgidir目录,创建文件index.cgi,内容如下图

设定主配置文件,在最下方添加内容如下图,意思为对于/var/www/html/cgidir这个目录,运行程序结果再发布,执行程序的触发条件是cgi写的,或者是以cgi结尾的文件。

重启服务,测试效果如下,成功。(注意如果文件index.cgi没有执行权限,肯定无法执行程序)

(3)wsgi(python语言)

首先创建目录wsgidir,编写文件,内容如下,目的是显示hello wsgi

想要执行这个python程序,需要安装插件python3-mod_wsgi。在/etc/httpd/conf.d/vhost.conf文件中设定虚拟主机,这里wsgi没有像上面使用DocumentRoot对应目录位置,而是WSGIScriptAlisa的方式,好处是无法看到源码,只能执行这个命令。重启服务

要记得在浏览器所在的系统设定地址解析,这里是真机设定地址解析

现在测试,成功了。

Linux学习笔记-RH135之Apache的管理及优化相关推荐

  1. linux学习笔记(6)磁盘管理

    linux学习笔记(6)磁盘管理 文章目录   6.1磁盘命名   6.2分区方式   6.3磁盘管理     6.3.1基本分区     6.3.2逻辑卷LVM     6.3.3交换分区管理Swa ...

  2. Linux学习笔记之文件管理和目录管理类命令

    在开始理解Linux文件管理和目录类命令之前,有必要先说一下,关于操作系统在计算机中都做了哪些工作. 0.操作系统的工作 1.文件管理,增删改查 2.目录管理 3.进程管理 4.软件安装 5.运行程序 ...

  3. 史上最牛最强的linux学习笔记 7.用户和用户组管理

    写在最前面:前面留下来的几章内容,今天补一下. 昨天在安装虚拟机后,不知道如何创建用户.修改用户密码(还有不知道如何将ip地址配置到文件里,现在都没敢重启虚拟机)!说白了,不是不知道命令,只是一直报错 ...

  4. linux学习笔记-用户和群组管理文件

    1.文件框架 学习linux用户管理时经常看到UID和GID.UID是指User ID,即用户ID:GID是指Group ID即用户组ID.UID和账号对应尽量不要修改.我们知道创建一个新的用户指令是 ...

  5. Linux学习笔记:rpm程序包管理

    以CentOS为例,rpm程序包管理器的相关内容如下: CentOS的程序包管理器:     程序包的命名规则:         源代码包:             software_name-VER ...

  6. Linux学习笔记 --网络配置及进程管理

    目录 网络配置 ☆☆☆☆指定服务器 IP 设置主机名和 hosts 映射 主机名解析过程分析(Hosts.DNS) ☆☆☆进程管理 ps 父子进程 终止进程 kill.killall ☆☆☆服务管理 ...

  7. linux学习笔记-RH135(六):网络文件系统

    网络文件系统 一.samba服务 1.samba基本信息 2.samba的安装与启用 3.samba用户的建立 4.samba用户访问家目录 6.samba访问控制 7.samba的常用配置参数 8. ...

  8. Linux学习笔记-RH135之文件共享系统samba、nfs和iscsi

    文件共享系统samba.nfs和iscsi 1.samba的多用户挂载 2.autofs+samba 3.NFS(Net File System) 4.autofs+nfs 5.iscsi 1.sam ...

  9. linux文件系统的管理方法,Linux学习笔记:2.文件系统的管理命令(2)

    1.命令touch: 功能:若之前对应文件不存在,创建一个新文件:若存在,则修改这个文件的最后修改期限. 语法:touch [参数] [文件名] 主要参数: -a:只更改存取时间 -c:不建立任何文件 ...

最新文章

  1. LeetCode简单题之两数之和 IV - 输入 BST
  2. 【组合数学】基本计数原则 ( 加法原则 | 乘法原则 )
  3. html5电影在线看,HTML5-电影影评网
  4. 【渝粤题库】国家开放大学2021春2019统计学原理题目
  5. python函数体以冒号起始、并且是缩进格式的_函数体以冒号起始,并且是缩进格式的。(3.0分)_学小易找答案...
  6. 特斯拉扭亏,股价暴涨;马斯克下一步:进军打车业务
  7. tomcat自定义错误页面
  8. VMware Workstation左侧不见了,左侧菜单栏不见了
  9. Redis HyperLogLog 是什么?这些场景使用它,让我枪出如龙,一笑破苍穹
  10. CrossAir CA-C03 2.4G贴片天线使用步骤
  11. .to(device)和.cuda()设置GPU的区别
  12. 403,404,503等 HTTP状态码(HTTP Status Code)
  13. 微信小程序实现3D轮播图
  14. 离开汽车之家和新车评,那些我们喜欢的车评人会活的更好
  15. java应该知道什么
  16. 取消域服务器是定期修改密码,更改域服务器用户密码
  17. [CreatorCocos]自定义线条 + 物理引擎
  18. NYIST468(Miller_Rabin+定理)
  19. 小程序添加关注公众号代码功能
  20. SNA中:中心度及中心势诠释(不完整代码)

热门文章

  1. 如何选择移动广告平台,对比参数详细罗列
  2. 步道乐跑怎么刷公里_步道乐跑怎么刷?
  3. 电脑自动配置了两个IP4解决方法
  4. 吉首大学第八届“新星杯”大学生程序设计大赛 K: WaWa的难题(找规律)
  5. Dubbo 和 Spring Cloud 微服务架构区别(比较笼统 看看就行)
  6. 常用的安装和配置文章
  7. 基于enc28j60的学习心得
  8. Windows系统移动/复制安装(和原来的系统无丝毫差别)
  9. a12处理器和骁龙855_手机处理器排名,骁龙855只排第三,第一就是第一
  10. 程序员的祖师爷到底有多么牛逼?