LAMP环境搭建(yum管理二进制安装方式)及Apache优化

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

LAMP环境搭建:

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

安装包
yum -y install httpd mariadb mariadb-server php php-mysql
mariadb-server为数据库服务端 php-mysql:php连接mysql的安装包

进入httpd默认的网站目录
cd /var/www/html/
vim index.html (默认的网站名)
如果想要访问自定义网站名,只需要在网址栏加入自定义的名字
echo bbbbbb >test.html

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

开启httpd
httpd -t 阿帕奇语法检测

连接数据库检测
systemctl start mariadb
systemctl enable mariadb
初始化密码
mysqladmin -uroot password 123
登录mysql
mysql -uroot -p123

检测httpd自动识别php
vim /var/www/html/index.php

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

网址输入 http://192.168.1.10/index.php

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

检测httpd连接mysql
vim /var/www/html/test.php
mysql-php successful"; mysql_close(); ?>

部署应用
博客压缩包 Discuz_X3.3_SC_UTF8.zip

解压缩
unzip Discuz_X3.3_SC_UTF8.zip

覆盖html目录
mv upload/* /var/www/html/
网址输入http://192.168.1.10/install/

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

为/var/www/html目录递归修改属主和属组为apache
chown -R apache:apache /var/www/html/

LAMP环境搭建(yum管理二进制安装方式)及Apache优化
LAMP环境搭建(yum管理二进制安装方式)及Apache优化

apache优化

apache工作模式详解

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

访问请求通过守护进程创建子进程,然后子进程产生线程处理静态和动态请求

prefork模式

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

预先开启一些子进程,等待请求,每个子进程只有一个线程,在一个时间点内只能处理一个请求
优点:成熟稳定,兼容强,安全
缺点:占用更多的内存资源,不擅长高并发

查看方式httpd -V

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

配置方法

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

worker模式&event模式

work模式

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

多进程多线程混合模式,也预先维持一个备用的服务线程池
优点:占用更少的内存,高并发更优秀
缺点:必须考虑线程安全问题(一个线程出问题整个进程受到干扰)

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

开启Apache的worker模式:

关闭prefork模式并开启worker模式

vim /etc/httpd/conf.modules.d/00-mpm.conf

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

httpd -V

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

修改worker模式参数
 vim /etc/httpd/conf/httpd.conf

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

systemctl restart httpd

event模式

和work模式很像,解决了keep-alive(打开一次tcp连接使用一次就断开)场景下,长期被占用的资源浪费问题

keep-alive模式:
优点:再一次TCP连接中可以持续发送多份数据而不会断开连接
缺点:会造成一些系统资源无效的占用

event模式优点:
如果资源够用,保持keep-alive模式,如果资源不够用,新的请求会管理旧的连接并分配给新的链接

查看工作模式:httpd -V | grep -i "server mpm"

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

指定方式

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

配置文件详解(严格区分大小写)

相关文件位置(rpm包安装方式)
配置文件位置/etc/httpd/conf/httpd.conf
网页文件位置 /var/www/html
日志文件位置 /var/log.httpd

主机环境基本配置参数

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

主页目录及权限

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

优化实验

配置keepalive连接保持参数

配置选项
keepalive ON|OFF:是否打开连接保持功能。根据网站的并发请求量决定是否打开,高并发时打开,并发量不高时可关闭。
keepalive timeout:一次连接多次请求之间的最大间隔时间,两次请求超过timeout指定时间连接断开。
maxkeepaliverequestes:一次连接能够传输的最大请求数量。

vim /etc/httpd/conf/httpd.conf

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

httpd -t

配置版本号隐藏
curl -I http://192.168.1.10 获取Apache服务器的版本号

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

 vim /etc/httpd/conf/httpd.conf

LAMP环境搭建(yum管理二进制安装方式)及Apache优化
LAMP环境搭建(yum管理二进制安装方式)及Apache优化

网页压缩

配置 Apache 的网页压缩功能,是使用 Gzip 压缩算法来对 Apache 服务器发布的网页内容进行压缩后再传输到客户端浏览器

网页压缩的优势
·降低了网络传输的字节数,加快网页加载的速度
·节省流量,改善用户的浏览体验
·gzip 与搜索引擎的抓取工具有着更好的关系

两种压缩模块:
mod_gzip 模块
额外三方工具
mod_deflate 模块
Apache 2.x内建模块

mod_gzip 与 与 mod_deflate  对比

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

查看系统是否安装deflate、headers与filter模块:

httpd -D DUMP_MODULES |egrep 'deflate|header|filter'

查看Apache服务是否启用上述模块

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

创建测试文件(如果网页文件太小,不会压缩):

cat /var/log/messages > /var/www/html/index.html

vim /etc/httpd/conf/httpd.conf

修改内容

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
代表对什么样的内容启用 gzip 压缩
DeflateCompressionLevel 9
代表压缩级别
SetOutputFilter DEFLATE
代表启用 deflate 模块对本站点的输出进行 gzip 压缩

systemctl restart httpd

配置网页的缓存时间

mod_expires 模块会自动生成页面头部信息中的 Expires 标签和 Cache-Control标签,使网页能在客户端浏览器缓存一段时间,以避免重复请求

httpd -D DUMP_MODULES |grep expires
查看是否安装了 mod_expires 模块

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

cat /etc/httpd/conf.modules.d/00-base.conf |grep expires 查看系统是否启用该模块:

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

vim /etc/httpd/conf/httpd.conf 修改配置文件

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

systemctl restart httpd 重启服务

Apache的访问控制

分类
httpd 服务的访问控制:
控制对网站资源的访问
为特定的网站目录添加访问授权

1、客户机地址限制

通常,访问限制指令适用于所有访问方法(GET,PUT,POST等)。 这在大多数情况下是需要的行为。但是,通过将指令放在部分中,可以限制某些方法,而使其他方法不受限制。

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

现在允许所有人访问,但拒绝192.168.1.11

vim /etc/httpd/conf/httpd.conf

<RequireAll>
Require all granted
Require not ip 192.168.1.1
</RequireAll>
LAMP环境搭建(yum管理二进制安装方式)及Apache优化

systemctl restart httpd

使用192.168.1.1主机浏览器

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

现在修改访问权限,只允许192.168.1.1主机访问:

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

使用192.168.1.11访问

LAMP环境搭建(yum管理二进制安装方式)及Apache优化
LAMP环境搭建(yum管理二进制安装方式)及Apache优化
浏览器访问

用户授权限制
基于用户的访问控制权限就是对网页目录进行认证配置,用户输入用户名密码之后才能访问网页。httpd 服务支持使用摘要认证(Digest)和基本认证(Basic)两种方式。

创建用户认证数据库

简介

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

添加用户和密码并查看

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

htpasswd -c /etc/httpd/conf/.web.pwd yun211

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

根据之前的设置,修改 httpd.conf 配置文件

vim /etc/httpd/conf/httpd.conf

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

AuthName 'abc'(本次实验应该为yun211)
AuthType Basic 认证类型为基本认证
AuthUserFile /etc/httpd/conf/.web.pwd 指定认证口令文件的所在目录和名称
require valid-user 授权给认证口令文件中的所有用户

systemctl restart httpd

使用浏览器打开出现密码界面

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

如果密码账号输入错误,则会返回401状态码:认证失败

LAMP环境搭建(yum管理二进制安装方式)及Apache优化
LAMP环境搭建(yum管理二进制安装方式)及Apache优化

修改密码和删除密码分别使用:

htpasswd -b /etc/httpd/conf/.web.pwd yun211 123456

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

htpasswd -D /etc/httpd/conf/.web.pwd yun211

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

防盗链
简介
如果别人盗用网站的这些资源,明显的是会增大服务器的带宽压力,防盗链就是防止别人的网站代码里盗用服务器的图片、文件、视频等相关资源。

简述
源主机: IP 地址 192.168.1.11
盗链网站: IP地址:192.168.1.12
使用两台主机模拟防盗链,配置rewrite 实现Apache防盗链

方法一:

源主机上操作:192.168.1.11
yum -y install httpd
cd /var/www/html/
加入图片a.jpg
增加网页根目录
vim index.html

LAMP环境搭建(yum管理二进制安装方式)及Apache优化
<html>
        <body>
        <h1>web.yun211.com it is work</h1>
        <img src="a.jpg">
        </body>
</html>

 ls

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

测试

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

盗链主机操作(12):

yum -y install httpd
systemctl start httpd

vim /var/www/html/index.html

LAMP环境搭建(yum管理二进制安装方式)及Apache优化
<html>
	<body>
		<h1>192.168.1.12  it is work</h1>
		<img src="http://192.168.1.11:/a.jpg">
	</body>
</html>

盗链网站测试

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

源主机设置防盗链:

查看系统是否安装并启用rewrite模块:

LAMP环境搭建(yum管理二进制安装方式)及Apache优化
LAMP环境搭建(yum管理二进制安装方式)及Apache优化

配置规则变量说明 :
%{HTTP_REFERER} 浏览 header 中的链接字段,存放一个连接的 URL,代表是从哪个链接访问所需的网页。
!^ 不以…开头
.*$ 以任意字符结尾
NC 不区分大小写
R 强制跳转

规则匹配说明:如果相应变量的值匹配所设置的规则,则逐条往下处理;如果不匹配,则往后的规则不再匹配。
RewriteEngine ON 打开网页重写功能
RewriteCond 设置匹配规则
RewriteRule 设置跳转动作

修改 httpd.conf主配置文件
vim /etc/httpd/conf/httpd.conf

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

12端测试

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

当然,大多数是修改域名进行访问操作

11端操作

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

vim /etc/hosts

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://yun211.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yun211.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://web.yunban.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://web.yun211.com$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://web.yun211.com/error.html [R,NC]
LAMP环境搭建(yum管理二进制安装方式)及Apache优化

12端操作

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

vim /etc/hosts

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

主机操作

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

这样就可以用域名测试了

日志管理

简介
随着网站的访问量增加,默认情况下 Apache 的单个日志文件也会越来越大,日志文件占用磁盘空间很大,查看相关信息不方便。

日志分割

日志分隔的方法
Apache 自带的rotatelogs分割工具
第三方cronolog分割工具
shell脚本

rotatelogs分割工具
vim /etc/httpd/conf/httpd.conf
ErrorLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/error_log_%Y%m%d.log 86400"

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

CustomLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/access_log_%Y%m%d.log 86400" cnbined

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

systemctl restart httpd;ls /etc/httpd/logs/

LAMP环境搭建(yum管理二进制安装方式)及Apache优化

AWStats 日志分析系统
简介
在 httpd 服务器的访问日志文件 access_log 中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解 Web 站点的访问情况。以完成自动化的日志分析与统计工作。

发布者:LJH,转发请注明出处:https://www.ljh.cool/5781.html

(0)
上一篇 2020年11月5日 下午1:00
下一篇 2021年5月7日 上午12:03

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注