linux apache 优化,详述Linux系统中Apache网页与安全优化(一)

Apache网页优化

Apache网页优化概述

在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代

为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容

优化内容

配置网页压缩功能

工作模式的选择与参数优化

配置防盗链

配置隐藏版本号

.......

网页压缩

gzip介绍

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

作用

降低了网络传输的字节数,加快网页加载的速度

节省流量,改善用户的浏览体验

gzip与搜索弓|擎的抓取工具有着更好的关系

Apache的压缩模块

Apache实现网页压缩的功能模块包括

mod_gzip 模块

mod_deflate模块

Apache 1.x

没有内建网页压缩技术,但可使用第三方mod_gzip 模块执行压缩

Apache 2.x

在开发的时候,内建了mod_deflate 这个模块,取代mod_gzip

mod_gzip模块与mod_ deflate模块

两者均使用gzip压缩算法,运作原理类似

mod_deflate 压缩速度略快,而mod_gzip的压缩比略高

mod_gzip 对服务器CPU的占用要高一-些

高流量的服务器,使用mod_deflate 可能会比mod_gzip加载速度更快

配置网页压缩功能

[root@localhost ~]# mount.cifs //192.168.100.10/lamp-c7 /mnt //宿主机中源码包存放目录挂载到mnt目录

Password for root@//192.168.100.10/lamp-c7:

[root@localhost ~]# cd /mnt/ //进入挂载目录

[root@localhost mnt]# ls //查看你

apr-1.6.2.tar.gz cronolog-1.6.2-14.el7.x86_64.rpm httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz

apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt nginx-1.12.0.tar.gz

awstats-7.6.tar.gz error.png miao.jpg php-5.6.11.tar.bz2

[root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt //解压源码包

[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt

[root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/

[root@localhost mnt]# cd /opt

[root@localhost opt]# ls

apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh

[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr //将解压的环境包放入httpd-2.4.29目录

[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

[root@localhost opt]# cd httpd-2.4.29 //进入httpd-2.4.29目录

[root@localhost httpd-2.4.29]# yum install gcc gcc-c++ pcre-devel pcre zlib-devel expat-devel

perl -y

//安装环境包

[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-expires --enable-rewrite --enable-charset-lite --enable-cgi //配置安装文件

[root@localhost httpd-2.4.29]# make && make install //安装服务

进入http服务配置文件查看压缩模块服务是否开启

[root@localhost httpd-2.4.29]# cd /usr/local/httpd/conf/

[root@localhost conf]# ls

extra httpd.conf magic mime.types original

[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf

[root@localhost conf]# vim /etc/httpd.conf

...//省略部分内容...

#LoadModule charset_lite_module modules/mod_charset_lite.so

LoadModule deflate_module modules/mod_deflate.so //找到此条目,并开启

LoadModule mime_module modules/mod_mime.so

...//省略部分内容...

#LoadModule expires_module modules/mod_expires.so

LoadModule headers_module modules/mod_headers.so //查找请求头部模块,确认是否开启

#LoadModule unique_id_module modules/mod_unique_id.so

...//省略部分内容...

#LoadModule include_module modules/mod_include.so

LoadModule filter_module modules/mod_filter.so //查看过滤器模块是否开启

#LoadModule substitute_module modules/mod_substitute.so

...//省略部分内容...

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png //在文件末尾处编写压缩模块支持文件

DeflateCompressionLevel 9 //创建条目,压缩级别为 9 高压缩比

SetOutputFilter DEFLATE //将压缩模块设置为默认模块加载

:wq //保存退出

[root@localhost conf]# /usr/local/httpd/bin/apachectl -t //使用命令测试配置文件语法是否正常

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

//提示没有设置域名

Syntax OK //语法正常

[root@localhost conf]# vim /etc/httpd.conf //编辑主配置文件

...//省略部分内容...

# prevent Apache from glomming onto all bound IP addresses.

#

Listen 192.168.144.133:80 //打开并更改监听接口

#Listen 80

...//省略部分内容...

# If your host doesn't have a registered DNS name, enter its IP address here.

#

ServerName www.kgc.com:80 //打开并更改域名

...//省略部分内容...

:wq

[root@localhost conf]# /usr/local/httpd/bin/apachectl -t //再次检测语法

Syntax OK //语法正常

[root@localhost conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

//将启动脚本复制到init.d目录下,并取名httpd

[root@localhost conf]# vim /etc/init.d/httpd

#!/bin/sh

# chkconfig: 35 85 21

# description: Apache is a World Wide Web server //在第一行下添加声明信息

...//省略部分内容...

[root@localhost conf]# chkconfig --add httpd //将httpd加入到SERVICE管理器

[root@localhost conf]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

//将http命令建立软链接到/usr/local/bin/目录下

[root@localhost conf]# service httpd start //使用service命令启动HTTP服务

[root@localhost conf]# netstat -ntap | grep 80 //查看端口是否开启

tcp 0 0 192.168.144.133:80 0.0.0.0:* LISTEN 42332/httpd

[root@localhost conf]# systemctl stop firewalld.service //关闭防防火墙

[root@localhost conf]# setenforce 0 //关闭增强性安全功能

[root@localhost conf]# cd /usr/local/httpd/bin/ //进入目录

[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate" //查看压缩模块是否开启

deflate_module (shared) //成功开启

这开启一台win 10虚拟机,并在虚拟机中安装抓包工具 抓包工具下载

9f6a0dd3d47a3c03e70a0a2203ef32ee.png

9fc3dc1aebf4f7ccaed91b36ed9a661b.png

b4e49607ebccb614d890c39c16bdff82.png

506a14bd5b1832bb911b4c748013a78b.png

在客户机浏览器中访问http服务提供的网页,并查看抓包工具

1f13993bd1c2a76535d519da59997bff.png

be7d999a98d49531b7dd495e9f9a1796.png

在网页中插入图片,查看网页压缩功能是否能够正常使用

[root@localhost bin]# cd /mnt //进入挂载点

[root@localhost mnt]# ls //查看

apr-1.6.2.tar.gz cronolog-1.6.2-14.el7.x86_64.rpm httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz

apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt nginx-1.12.0.tar.gz

awstats-7.6.tar.gz error.png miao.jpg php-5.6.11.tar.bz2

[root@localhost mnt]# cp miao.jpg /usr/local/httpd/htdocs/ //将图片复制到http站点目录

[root@localhost mnt]# cd /usr/local/httpd/htdocs/

[root@localhost htdocs]# ls

index.html miao.jpg

[root@localhost htdocs]# vim index.html

It works!

miao.jpg

:wq

在客户机中再次访问网页

c5e8e749c4484c37f05d7062b3d4b45d.png

a2d5c35808c2f001a68f9ae5ad8d98fb.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值