架构第三章:网站优化

优化启用网站压缩deflate

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

查看mod_deflate:

apachectl -M |grep deflate

复制代码
如果有显示,则表示已启用压缩;如果没有显示,则需要手动启动deflate模块:
	vim /usr/local/httpd/conf/httpd.conf
	定位并去除"#"号:LoadModule deflate_module modules/mod_deflate.so

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

vim /usr/local/httpd/conf/httpd.conf

添加:

3.保存退出,重启服务

systemctl restart httpd

#########################################################################################

优化启用网站缓存expires

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

vim /usr/local/httpd/conf/httpd.conf

定位并去除"#"号:LoadModule expires_module modules/mod_expires.so

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

3.保存退出,重启服务

systemctl restart httpd

########################################################################################

禁止网站目录遍历

打开httpd.conf

vim /usr/local/httpd/conf/httpd.conf

定位:

Options Indexes FollowSymLinks

去除Indexes

保存退出,重启服务

########################################################################################

apache隐藏版本号

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

vim /usr/local/httpd/conf/httpd.conf

定位并去除"#"号:Include conf/extra/httpd-default.conf

保存退出

2.修改httpd-default.conf配置

vim /usr/local/httpd/conf/extra/httpd-default.conf

修改:

ServerTokens Prod

ServerSignature Off

保存退出

3.重启httpd服务

systemctl restart httpd

#######################################################################################

配置httpd日志轮替切割

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

vim /usr/local/httpd/conf/httpd.conf

定位并禁用:

#ErrorLog "logs/error_log"

#CustomLog "logs/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服务

systemctl restart httpd

号外提醒:系统日志及系统服务日志,由专门日志轮替配置服务管理

配置文件为:/etc/logrotate.conf

########################################################################################

配置防盗链

1.配置文件启用rewrite模块

vim /usr/local/httpd/conf/httpd.conf

定位并去除"#"号:LoadModule rewrite_module modules/mod_rewrite.so

保存退出

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

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

在内部添加:

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服务

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和httpd网站根目录下

cp -r htdocs/ /var/www/benet/xcache

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.109/xcache

相关推荐
一直_在路上14 分钟前
Go语言并发编程架构师指南:从基础到企业级实战
后端·架构
车口15 分钟前
一套代码实现表单新增,编辑和预览
架构
Light601 小时前
架构矩阵实战:业务边界×技术分层的双螺旋落地法
架构·业务模块·ai 原生·架构矩阵·技术分层·契约治理
喂完待续6 小时前
【序列晋升】28 云原生时代的消息驱动架构 Spring Cloud Stream的未来可能性
spring cloud·微服务·云原生·重构·架构·big data·序列晋升
夫子3966 小时前
OnlyOffice的高可用方案如何做
运维·架构
薛定谔的算法6 小时前
手写React:从Dideact理解前端框架的核心原理
前端·react.js·架构
掘金-我是哪吒7 小时前
分布式微服务系统架构第170集:Kafka消费者并发-多节点消费-可扩展性
分布式·微服务·架构·kafka·系统架构
胡耀超9 小时前
大模型架构演进全景:从Transformer到下一代智能系统的技术路径(MoE、Mamba/SSM、混合架构)
人工智能·深度学习·ai·架构·大模型·transformer·技术趋势分析
小马哥编程17 小时前
【软考架构】第七章 系统架构设计基础知识-7.2基于架构的软件开发方法:Architecture-Based Software Design,ABSD
架构·系统架构
西陵18 小时前
Nx带来极致的前端开发体验——任务编排
前端·javascript·架构