架构——4——Apache深度优化

一、优化启用网站压缩deflate

1、查看并启用mod_deflate ,压缩传输

查看mod_deflate:

apachectl -M |grep deflate

如果有显示,则表示已启用压缩;如果没有显示,则需要手动启动deflate模块:

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
LoadModule deflate_module modules/mod_deflate.so		#定位并去除“#”号

2、在httpd.conf配置文件末尾,添加deflate参数配置

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
<IfModule mod_deflate.c>
 DeflateCompressionLevel 6
 SetOutputFilter DEFLATE
 #AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
 #AddOutputFilterByType DEFLATE image/*
 AddOutputFilterByType DEFLATE text/*
 AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
 AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
 SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
</IfModule>

3、保存退出,重启服务

[root@http ~]# systemctl restart httpd

二、优化启用网站缓存expires

1、修改网站配置文件,启动expires模块

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
LoadModule expires_module modules/mod_expires.so		定位并去除“#”号

2、在配置文件末尾添加,expires配置参数

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "now plus 1 month"
ExpiresByType application/x-javascript "now plus 5 day"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType image/png "access plus 1 minute"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresDefault "now plus 0 minute"
</IfModule>

3、保存退出,重启服务

[root@http ~]# systemctl restart httpd

三、禁止网站目录遍历

1、打开httpd.conf

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
    Options Indexes FollowSymLinks			定位去除Indexes

2、保存退出,重启服务

[root@http ~]# systemctl restart httpd

四、apache隐藏版本号

1、主配置文件启用httpd-default.conf

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf		定位并去除“#”号

2、修改httpd-default.conf配置

[root@http ~]# vim /usr/local/httpd/conf/extra/httpd-default.conf
ServerTokens Prod		#修改
ServerSignature Off		#修改

3、重启httpd服务

[root@http ~]# systemctl restart httpd

五、配置httpd日志轮替切割

1、禁止默认日志保存配置

[root@http ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
定位并禁用:
# ErrorLog "logs/benet.com-error_log"
# CustomLog "logs/benet.com-access_log" common

添加的轮替策略:
ErrorLog "|/usr/local/httpd/bin/rotatelogs -l logs/error_%Y%m%d.log 86400"
CustomLog "|/usr/local/httpd/bin/rotatelogs -l logs/access_%Y%m%d.log 86400" combined

2、重启httpd服务

[root@http ~]# systemctl restart httpd

号外提醒:系统日志及系统服务日志,由专门日志轮替配置服务管理,配置文件为:/etc/logrotate.conf

六、配置防盗链

1、配置文件启用rewrite模块

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so		定位并去除“#”号

2、打开虚拟主机配置文件

[root@http ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
在<VirtualHost>内部添加:
 RewriteEngine On
 RewriteCond %{HTTP_REFERER} !^$
 RewriteCond %{HTTP_REFERER} !^http://benet.com/.*$ [NC]
 RewriteCond %{HTTP_REFERER} !^http://benet.com$ [NC]
 RewriteCond %{HTTP_REFERER} !^http://www.benet.com/.*$ [NC]
 RewriteCond %{HTTP_REFERER} !^http://www.benet.com$ [NC]
 RewriteRule . *\.(gif|jpg|swf)$http://www.benet.com/about/nolink.png[R,NC,L]

3、重启httpd服务

[root@http ~]# systemctl restart httpd

号外:可以使用另一方式实现防盗链 referer

七、在php服务器上安装xcache缓存,提高网站访问速度

1、上传或下载xcache安装包

上传xcache安装包到虚拟机

网上下载:wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz

2、安装xcache

tar xf xcache-3.2.0.tar.gz 
cd xcache-3.2.0/
yum -y install autoconf
/usr/local/php5.6/bin/phpize
./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer --with-php-config=/usr/local/php5.6/bin/php-config && make && make install

3、创建缓存文件并赋权

touch /tmp/xcache
chmod 777 /tmp/xcache 

4、复制xcache网站目录到php(192.168.1.130)和httpd(192.168.1.128)网站根目录下

cp -r htdocs/ /var/www/benet/xcache
scp -rp /var/www/benet/xcache/ root@192.168.1.128:/var/www/benet/

5、修改php配置文件,添加xcache参数,重启php-fpm

vim /etc/php.ini
添加到文件末尾:
[xcache-common]
extension = /usr/local/php5.6/lib/php/extensions/no-debug-zts-20131226/xcache.so 		#把xcache.so前的路径换成自己make install的最后一行路径
[xcache.admin]
xcache.admin.enable_auth = Off
[xcache]
xcache.shm_scheme ="mmap"
xcache.size=60M
xcache.count =1
xcache.slots =8K
xcache.ttl=0
xcache.gc_interval =0
xcache.var_size=64M
xcache.var_count =1
xcache.var_slots =8K
xcache.var_ttl=0
xcache.var_maxttl=0
xcache.var_gc_interval =300
xcache.test =Off
xcache.readonly_protection = Off
xcache.mmap_path ="/tmp/xcache"
xcache.coredump_directory =""
xcache.cacher =On
xcache.stat=On
xcache.optimizer =Off
[xcache.coverager]
xcache.coverager =On
xcache.coveragedump_directory =""


systemctl restart php-fpm

6、访问httpd的xcache虚拟目录,验证(ab压力测试后)

http://192.168.1.128/xcache

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值