全文最详细的Apache的管理及优化Web(图文详解)

news2024/11/25 19:06:11

目录

前言

一、Apache的安装及启用

二、Apache的基本信息 

三、Apache的基本配置及修改 

1、默认发布文件

2、Apache端口修改

3、默认发布目录

三、Apache的访问控制 

1、基于客户端ip的访问控制 

2、基于用户认证 

四、Apache的虚拟主机

五、Apache的语言支持

六、Apache的加密访问


前言

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。可用于提供超文本传输协议,本质上是一个软件。

超文本传输协议:http://,提供该协议的软件一般有:Apache、nginx、stgw、jfe、Tengine,而Apache在网页应用中使用比较广泛。

一、Apache的安装及启用

dnf install httpd.x86_64 -y      dnf安装
systemctl enable --now httpd     开启服务并设定服务位开机启动
firewall-cmd --list-all             查看火墙信息
firewall-cmd --permanent --add-service=http     在火墙中永久开启http访问

firewall-cmd --permanent --add-service=https    在火墙中永久开启https访问
firewall-cmd --reload             刷新火墙使设定生效

二、Apache的基本信息 

服务名称:httpd
配置文件:

/etc/httpd/conf/httpd.conf (主配置文件)

/etc/httpd/conf.d/*.conf(子配置文件)

默认发布目录:/var/www/html
默认发布文件:index.html
默认端口:

80(http)

443 (https)

用户:apache
日志:/etc/httpd/logs

三、Apache的基本配置及修改 

1、默认发布文件

 vim /etc/httpd/conf/httpd.conf       编辑主配置文件
DirectoryIndex westos.html index.html      添加默认发布文件westos.html
systemctl restart httpd           重启服务

2、Apache端口修改

vim /etc/httpd/conf/httpd.conf        编辑主配置文件
Listen 8080
firewall-cmd --permanent --add-port=8080/tcp        防火墙设置允许xxxx端口
firewall-cmd --reload        防火墙信息重新加载
systemctl restart httpd        重启httpd服务

 

3、默认发布目录

mkdir /var/www/westos
mv /var/www/westos /var
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/westos"
<Directory "/var/westos">
Require all granted
</Directory>
systemctl restart httpd

firefox http://192.168.0.11

三、Apache的访问控制 

1、基于客户端ip的访问控制 

素材

vim /etc/httpd/conf/httpd.conf        修改的位置

systemctl restart httpd                   每次修改完后都需要重启服务

(1)ip白名单       注意:白名单时,先Deny后Allow才可以,因为顺序颠倒的话,Deny会把Allow给覆盖掉
<Directory "/var/www/html/westos">
        Order Deny,Allow
        Allow from ip        
        Deny from All
</Directory>

(2)ip黑名单       注意:黑名单时,先Allow后Deny才可以,因为顺序颠倒的话,Allow会把Deny给覆盖掉  
<Directory "/var/www/html/westos">
        Order Allow,Deny
        Allow from All        
        Deny from ip
</Directory>

黑名单:

本机不能访问

白名单:

2、基于用户认证 

vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/westos">
        AuthUserfile /etc/httpd/htpasswdfile                                  ##指定认证文件
        AuthName "Please input your name and password"        ##认证提示语
        AuthType basic                                                                 ##认证类型
        Require user admin                                                          ##允许通过的认证用户 2选1
        Require valid-user                                                            ##允许所有用户通过认证 2选1
</Directory>

htpasswd -cm /etc/httpd/htpasswdfile admin         生成认证文件
注意
当/etc/httpd/htpasswdfile存在那么在添加用户时不要加-c参数否则会覆盖源文件内容

白名单:

只有lee可以访问

四、Apache的虚拟主机

在实际情况中,不可能每访问一个网页就需要一台主机来安装Apache并部署相关环境,虚拟主机实现了同一个ip下有多个站点,即可以通过一个ip来访问多个网页内容。

(1)虚拟主机建立
mkdir /var/www/virutal/westos.org/{news,bbs}/html -p

echo news.westos.org > /var/www/virutal/westos.org/news/html/index.html
echo bbs.westos.org > /var/www/virutal/westos.org/bbs/html/index.html

vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost _default_:80>
        DocumentRoot "/var/www/html"
        CustomLog logs/default.log combined
</VirtualHost>
<VirtualHost *:80>
        ServerName wenku.westos.com
        DocumentRoot "/var/www/westos.com/wenku"
        CustomLog logs/wenku.log combined
</VirtualHost><VirtualHost *:80>
        ServerName news.westos.com
        DocumentRoot "/var/www/westos.com/news"
        CustomLog logs/news.log combined
</VirtualHost>

测试:

在浏览器中访问以下内容:
firefox http://www.westos.org
firefox http://lee.westos.org
firefox http://linux.westos.org

重启服务

五、Apache的语言支持

php
vim /var/www/html/index.php
<?php
        phpinfo();
?>


dnf install php -y
systemctl restart httpd
firefox http://192.168.1.10/index.php


cgi
mkdir /var/www/html/cgidir
vim /var/www/html/cgidir/index.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;


vim /etc/httpd/conf.d/vhost.conf
<Directory "/var/www/html/cgidir">
        Options +ExecCGI
        AddHandler cgi-script .cgi
</Directory>


firefox http://192.168.1.10/cgidir/index.cgi


wsgi
书写wsgi的测试文件
vim /var/www/html/wsgi/index.wsgi
def application(env, westos):
        westos('200 ok',[('Content-Type', 'text/html')])
        return [b'hello westos ahhahahahah!']


dnf install python3-mod_wsgi
systemctl restart httpd


vim /etc/httpd/conf.d/vhost
<VirtualHost *:80>
        ServerName wsgi.westos.org
        WSGIScriptAlias / /var/www/html/wsgi/index.wsgi
</VirtualHost>

php

cgi

首先修改上下文 

找CGI 

实验成功 

wsgi 

最后别忘了给执行权限,因为它是脚本

六、Apache的加密访问

网页上用户的个人信息传输如果不经过加密手段,安全性将会受到极大的威胁,比如说账户密码信息,此时就需要一种加密手段能够给用户信息加密,相当于给用户信息上锁,而这个锁必须是经过专门机构认证的锁,这个锁就相当于私钥,锁的认证信息相当于证书签名文件,生成证书需要私钥和证书签名文件,二者缺一不可。

##安装加密插件
dnf install mod_ssl -y##生成证书

1.command 1
openssl genrsa -out /etc/pki/tls/private/www.westos.com.key 2048 #生成私钥
openssl req -new -key /etc/pki/tls/private/www.westos.com.key \
-out /etc/pki/tls/certs/www.westos.com.csr ##生成证书签名文件
openssl x509 -req -days 365 -in \
/etc/pki/tls/certs/www.westos.com.csr \
-signkey /etc/pki/tls/private/www.westos.com.key \
-out /etc/pki/tls/certs/www.westos.com.crt #生成证书
x509 证书格式
-req 请求
-in 加载签证名称
-signkey /etc/pki/tls/private/www.westos.com.key
2.command 2
openssl req --newkey rsa:2048 \
-nodes -sha256 -keyout /etc/httpd/westos.org.key \
-x509 -days 365 -out /etc/httpd/westos.org.crt


vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
        ServerName login.westos.com
        RewriteEngine on
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1
</VirtualHost>
<VirtualHost *:443>
        ServerName login.westos.com
        DocumentRoot "/www/westos.com/login"
        CustomLog logs/login.log combined
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
        SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
systemctl restart httpd
^(/.*)$                          ##客户地址栏中输入的地址
%{HTTP_HOST}         ##客户主机
$1                                ##RewriteRule后面跟的第一串字符的值

直接使用方式2 

去访问login.westos,org自动就转到https 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/165155.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React--》超详细教程——React脚手架的搭建与使用

目录 React脚手架的创建 全局安装创建 npx安装创建(官方推荐) 指定React版本安装 脚手架文件介绍 React脚手架是开发现代Web应用的必备&#xff0c;其充分利用Webpack、Babel、ESlint等工具辅助项目的开发&#xff0c;当然这些工具也无需手动配置即可使用&#xff0c;脚手…

Java 在云原生中的内存问题

Java 凭借着自身活跃的开源社区和完善的生态优势&#xff0c;在过去的二十几年一直是最受欢迎的编程语言之一。步入云原生时代&#xff0c;蓬勃发展的云原生技术释放云计算红利&#xff0c;推动业务进行云原生化改造&#xff0c;加速企业数字化转型。 然而 Java 的云原生转型之…

Word目录自动生成,不使用word默认样式的,且指定从某页开始为第一页

文章目录一&#xff0c; 设置正文页为第1页&#xff1a;二&#xff0c;自动生成目录。拓展&#xff1a;需求&#xff1a;文章或者论文往往会先写好标题&#xff0c;摘要&#xff0c;写好内容。最后需要生成目录。但是这样布局后&#xff0c;生成的目录的起始页码不是从第1 页开…

ChatGPT通俗笔记:从GPT-N、RL之PPO算法到instructGPT、ChatGPT

前言 自从我那篇BERT通俗笔记一经发布&#xff0c;然后就不断改、不断找人寻求反馈、不断改&#xff0c;其中一位朋友倪老师(之前我司NLP高级班学员现课程助教老师之一)在谬赞BERT笔记无懈可击的同时&#xff0c;给我建议到&#xff0c;“后面估计可以尝试尝试在BERT的基础上&…

搭建OpenCV环境和Jupyter Notebook

使用Anaconda搭建python和OpenCV环境安装Anaconda&#xff0c;全程下一步&#xff0c;修改了一下默认安装路径&#xff0c;修改为D:\Program Files\Anaconda3同时设置了环境变量&#xff0c;将三个文件夹路径都加到了系统环境变量&#xff0c;path中。打开【开始】菜单&#xf…

MatrixVT:Efficient Multi-Camera to BEV Transformation for 3D Perception——论文笔记

参考代码&#xff1a;BEVDepth 1. 概述 介绍&#xff1a;这篇文章对LSS方法中的瓶颈项进行分析&#xff0c;分别指出其中显存占用问题源自于“lift”操作生成的高维度特征&#xff0c;运行耗时是由于“splat”操作的求和操作&#xff0c;对此文章从矩阵变换的角度对原版的LSS方…

Java面向对象复习

文章目录一、类和对象1. 面向对象2. 类的定义3. 对象的创建4. 类在内存中的存储5.类的成员使用6. toString()方法7. static 关键字静态成员变量静态成员方法二、封装1. 构造方法概念基本使用构造方法的重载this关键字2. private3. 封装的好处三、继承1. 继承的概念2. extends3.…

二维矩阵的元素和

二维矩阵的元素和1.背景2.原理3.实现1.背景 对矩阵元素进行求和&#xff0c;或者求子矩阵的元素和&#xff1b;给定矩阵左上角坐标&#xff08;x1,y1&#xff09;和右下角坐标&#xff08;x2,y2&#xff09;; 如何快速求出 以&#xff08;x1,y1&#xff09;&#xff0c;&#…

SAP入门技术分享五:内表

内表1. 概要2. 内表与表头3.内表的类型&#xff08;1&#xff09;类型&#xff08;2&#xff09;标准表&#xff08;3&#xff09;排序表&#xff08;4&#xff09;哈希表4.比较内表速度&#xff08;1&#xff09;标准表与排序表&#xff08;2&#xff09;二分法查找&#xff0…

Kafka生产者分区

生产者分区 分区的原因 (1&#xff09;便于合理使用存储资源&#xff0c;每个Patition在一个Broker上存储&#xff0c;可以把海量的数据按照分区切割成一块一块数据存储在多台Broker上。合理控制分区的任务&#xff0c;可以实现负载均衡的效果。 (2&#xff09;提高并行度&am…

如何设计一个消息队列?

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…

用户登录、注册的简单案例: html+css+MyBatis+Servlet

用户登录一. 用户登录1. 流程与思路基本流程&#xff1a;详细过程&#xff1a;2. 准备环境建库建表Pojo实体类User&#xff1a;Maven坐标&#xff1a;mybatis核心配置文件&#xff1a;代理接口&#xff1a;3. 编写目录&#xff1a;HTML&#xff1a;Serlvet&#xff1a;4. 效果二…

【Leetcode】21. 合并两个有序链表

【Leetcode】21. 合并两个有序链表题目思路代码题目 思路 归并排序比较两个单链表每一个节点&#xff0c;将较小元素的节点值封装成一个新的节点添加到一个新的链表中如果两个单链表长度不一致&#xff0c;也就是有一个链表指针指向null ,那么将另一个链表中的所有节点全部添加…

【手写 Vue2.x 源码】第二十四篇 - 异步更新流程

一&#xff0c;前言 上篇&#xff0c;介绍了 Vue依赖收集的视图更新部分&#xff0c;主要涉及以下几点&#xff1a; 视图初始化时&#xff1a; render方法中会进行取值操作&#xff0c;进入 Object.defineProperty 的 get 方法get 方法中为数据添加 dep&#xff0c;并记录当…

20230115英语学习

Gold From Old Sim Cards Could Help Make Future Drugs SIM卡中回收的黄金&#xff0c;可用于制造药品 Chemists are paving a road to recycle discarded SIM cards, not for electronics, but for medicine. SIM cards, which allow your phone to connect to your netwo…

ATTCK 05

环境搭建 自行下载安装包 解压VMware中win7 win8 同样方法所要用到的攻击机为kali 调节kali的网络适配器为vmnet8 调节win7的网络适配器 增加vmnet5用来连接内网win8 vmnet5名称ip角色kali192.168.115.129攻击机win7192.168.115.150192.168.138.136win8192.168.138.138DC拓…

【 java 反射上篇】java反射机制不难吧?来看看这篇

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

BMS系统—产生原因如何工作

1 为什么需要BMS系统 1.1 介绍 1&#xff09;BMS&#xff0c;battery management system,电池管理系统 2&#xff09;BMS是一套嵌入式系统&#xff0c;由硬件和软件共同组成 3&#xff09;BMS功能&#xff1a;管理多节锂电池组成的电池包&#xff0c;实现充放电管理、安全保护…

jsp动物园网上购票系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 动物园网上购票系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统采用web模式开发&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#x…

Python:每日一题之FBI树(深度优先遍历)

题目描述 我们可以把由 “0” 和 “1” 组成的字符串分为三类&#xff1a;全 “0” 串称为 B 串&#xff0c;全 “1” 串称为 I 串&#xff0c;既含 “0” 又含 “1” 的串则称为 F 串。 FBI树是一种二叉树&#xff0c;它的结点类型也包括 F 结点&#xff0c;B 结点和 I 结点…