架构第三章:网站优化

优化启用网站压缩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

相关推荐
uhakadotcom5 分钟前
rAthena:快速入门与基础知识详解,附实用示例代码
面试·架构·github
cooldream20091 小时前
深入理解MVP架构:让UI层与业务逻辑完美分离的设计模式
ui·设计模式·架构·系统架构师
MonkeyKing_sunyuhua1 小时前
2.2 主流大模型架构:GPT、DeepSeek、GLM、Claude、QwQ、Qwen2.5-Max等模型的比较与应用场景
gpt·架构
bookcman1 小时前
Seata 部署手册
后端·架构
丘山子1 小时前
如何在 1000 亿级数据规模下实现高效的去重统计?
后端·面试·架构
编程一生2 小时前
微服务相比传统服务的优势
微服务·云原生·架构
uhakadotcom2 小时前
Lovable:用AI轻松打造完整应用,零基础也能快速开发
后端·面试·架构
车载诊断技术3 小时前
不同ECU(MCU/ZCU/CCU)其部署(实现)的功能存在差异
单片机·嵌入式硬件·架构·汽车·电子电器架构·软件定义汽车的电子/电气
Pasregret5 小时前
多级缓存架构深度解析:从设计原理到生产实践
缓存·架构