Apache 的管理及优化web

一.Apache的作用

在web被访问时通常使用http://的方式

http://            超文本传输协议

http:// 超文本传输协议提供软件:

Apache
nginx
stgw
jfe
Tengine

二.Apache的安装

dnf install httpd.x86_64 -y

在这里插入图片描述

在这里插入图片描述

三.Apache的启用

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                							刷新火墙使设定生效                    

或者关闭火墙

setenforce 0    

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四.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.Apache端口修改

vim /etc/httpd/conf/httpd.conf
Listen 8080
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
systemctl restart httpd

在这里插入图片描述
在这里插入图片描述vim /etc/httpd/conf/httpd.conf
在这里插入图片描述将45行的80
在这里插入图片描述更改为8080:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述更改端口:
在这里插入图片描述在这里插入图片描述http://172.25.254.130:8080
在这里插入图片描述

2.默认发布文件

vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos.html index.html 哪个文件在前哪个优先访问

vim /var/www/html/westos.html Hello westos
systemctl restart httpd

在这里插入图片描述
将如下的167行:
在这里插入图片描述
更改为:
在这里插入图片描述
在这里插入图片描述默认访问westos.html
在这里插入图片描述当我们将westos.html删除:
在这里插入图片描述再次访问,便会默认访问index.html:
在这里插入图片描述

3.默认发布目录

vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/webdir/html"
**<Directory "/var/webdir/html">
    Require all granted
</Directory>**

mkdir -p /var/webdir/html

vim /var/webdir/html/index.html    编辑内容
semanage fcontext -a -t httpd_sys_content_t '/webdir(/.*)?'
restorecon -RvvF /webdir/
systemctl restart httpd

验证:firefox http://172.25.254.130

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

六.Apache的访问控制

#实验素材#
mkdir /var/www/html/westos
vim /var/www/html/westos/index.html

westosdir's page

firefox http://192.168.0.11/westos

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

ip白名单

<Directory "/var/www/html">
    Order Deny,Allow
    Allow from 172.25.254.30      
    Deny from All
</Directory>

ip黑名单

<Directory "/var/www/html/westos">
    Order Allow,Deny
    Allow from All        
    Deny from 172.25.254.30
</Directory>

在这里插入图片描述

尝试用172.25.254.30访问,显示访问被拒绝:

在这里插入图片描述

当我们将172.25.254.30移除后,允许访问时,再次访问成功!!!!
在这里插入图片描述

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

htpasswd -cm /etc/httpd/htpasswdfile admin 生成认证文件

$:
当/etc/httpd/htpasswdfile存在那么在添加用户时不要加-c参数否则会覆盖源文件内容

在这里插入图片描述
在这里插入图片描述

七.Apache的虚拟主机

mkdir -p /var/www/westos.com/{news,linux}
echo "linux's page" >/var/www/westos.com/linux/index.html
echo "news's page" > /var/www/westos.com/news/index.html
echo "default's page" > /var/www/html/index.html

vim /etc/httpd/conf.d/Vhost.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>

测试:
在浏览器所在主机中

vim /etc/hosts
172.25.254.130 www.westos.com wenku.westos.ocm news.westos.com

在这里插入图片描述

在这里插入图片描述

在三个目录中建立的文件录入以下内容:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在真机打开:
在这里插入图片描述
在该文件中插入:
在这里插入图片描述
然后访问网页:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

八.Apache的语言支持

php

vim /var/www/html/index.php

<?php phpinfo(); ?>

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

在这里插入图片描述

在这里插入图片描述

cgi

mkdir /var/www/html/cgidir
vim /var/www/html/cgidir/index.cgi

chmod +x 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>

irefox http://192.168.0.11/cgidir/index.cgi

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

wsgi

vim /var/www/html/wsgidir/index.wsgi

def application(env,start_response):
start_response(‘200 OK’,[(‘Content-Type’,‘text/html’)])
return[b"hello world"]

chmod +x index.wsgi

vim /etc/httpd/conf.d/Vhost.conf

<VirtualHost *:80>
serverName wsgi.westos.com
WSGIScriptAlias / /var/www/html/wsgidir/index.wsgi
</VirtualHost>

dnf install python3-mod_wsgi.x86_64

systemctl restart httpd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

九.Apache的加密访问

1.安装加密插件

dnf install mod_ssl -y
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.生成证书

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
添加:
在这里插入图片描述

3.生成证书签名文件

4.生成证书

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后面跟的第一串字符的值

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

十、Squid+Apache

squid 正向代理

实验环境:
单网卡主机设定ip不能上网
双网卡主机设定ip1可以连接单网卡主机,设定ip2可以上网

实验效果
让单网卡主机不能上网但浏览器可以访问互联网页

操作:
在双网卡主机中(172.25.254.1)
dnf install squid -y
vim /etc/squid/squid.conf

59 http_access allow all
65 cache_dir ufs /var/spool/squid 100 16 256

systemctl restart squid
firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload

在单网卡专辑中选择 (172.25.254.101)
NetWork Proxy
172.25.254.1 3128
测试:
在单网卡主机中
ping www.baidu.com 不通
在浏览器中访问www.baidu.com可以

在这里插入图片描述

vim /etc/squid/squid.conf在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

squid反向代理

实验环境:

172.25.254.130        								Apache服务器
172.25.254.30        								squid,没有数据负责缓存

vim /etc/squid/squid.conf
http_port 80 vhost vport vhost 支持虚拟域名 vport 支持虚拟端口
当172.25.254.130的80端口被访问会从172.25.254.230的80端口缓存数据

cache_peer 172.25.254.101 parent  80      0       proxy-only
                            80端口         没有备用代理    只作代理

systemctl restart squid

测试:
firefox http:/172.25.254.1
访问看到的时172.25.254.101上的数据systemctl restart squid
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值