架构第三章:网站优化

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

相关推荐
brzhang4 小时前
我操,终于有人把 AI 大佬们 PUA 程序员的套路给讲明白了!
前端·后端·架构
静若繁花_jingjing7 小时前
RocketMq部署模式简介
架构·rocketmq
workflower7 小时前
ISO-IEC-IEEE 42010架构规范
开发语言·架构·软件工程·软件需求·敏捷流程
heimeiyingwang7 小时前
架构如传承:技术长河中的可持续乐章
架构
WarPigs10 小时前
游戏框架笔记
笔记·游戏·架构
Guheyunyi11 小时前
电气安全监测系统:筑牢电气安全防线
大数据·运维·网络·人工智能·安全·架构
鲸鱼146665707541911 小时前
Android数据架构模式:四种主流方案对比
架构
Jackson_Mseven12 小时前
🥷 前端老六上线了:登录成功后,我到底是怎么“一直在线”的?
前端·后端·架构
cpsvps13 小时前
VR协作海外云:跨国企业沉浸式办公解决方案
windows·架构·vr·etw事件
boyedu13 小时前
Hyperledger Fabric架构详解:企业级区块链的模块化设计与实现
架构·区块链·fabric·企业级区块链