架构第三章:网站优化

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

相关推荐
文心快码BaiduComate15 小时前
Comate 4.0新年全面焕新!底层重构、七大升级、复杂任务驾驭力跃升
前端·程序员·架构
DevnullCoffe16 小时前
基于 OpenClaw + Pangolinfo API 的 Amazon 价格监控系统:架构设计与最佳实践
人工智能·架构
Mintopia17 小时前
在深与广之间:产品、架构与开发如何为业务场景做权衡
架构
ray_liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·架构
Java编程爱好者1 天前
字节二面:被问“大模型知识过时了怎么解?”,我答“微调”,面试官当场黑脸:“听说过 RAG 吗?”
架构
葫芦的运维日志2 天前
从手动部署到GitOps只需四步
架构
sumuve2 天前
从100行到1行:我是如何重构IoT设备实时数据通信的?
架构·响应式设计
koddnty2 天前
c++协程控制流深入剖析
后端·架构
Mintopia2 天前
Vite 与 Uni-App X 的协作原理:从前端开发到多端运行的桥梁
架构
louiX2 天前
深入理解 Android BLE GATT 回调机制:从“回调地狱”到高可靠 OTA 架构
架构