架构第三章:网站优化

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

相关推荐
爱的叹息5 小时前
MongoDB 的详细解析,涵盖其核心概念、架构、功能、操作及应用场景
数据库·mongodb·架构
AWS官方合作商5 小时前
实战解析:基于AWS Serverless架构的高并发微服务设计与优化
架构·serverless·aws
网络安全指导员6 小时前
如何在JMeter中配置断言,将非200状态码视为测试成功
网络·学习·jmeter·安全·web安全·架构
Java技术小馆9 小时前
如何设计一个本地缓存
java·面试·架构
数据智能老司机10 小时前
CockroachDB权威指南——SQL调优
数据库·分布式·架构
数据智能老司机10 小时前
CockroachDB权威指南——应用设计与实现
数据库·分布式·架构
数据智能老司机10 小时前
CockroachDB权威指南——CockroachDB 模式设计
数据库·分布式·架构
uhakadotcom1 天前
视频直播与视频点播:基础知识与应用场景
后端·面试·架构
沉登c1 天前
第 3 章 事务处理
架构
数据智能老司机1 天前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构