架构网站优化

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 架构网站优化


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



在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配置参数

ExpiresActive On
ExpiresByType text/css "now plus 1 month"
ExpiresByType application/x-javascript "now plus 5 day"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType image/png "access plus 1 minute"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresDefault "now plus 0 minute"


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安装包到虚拟机


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


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
开发框架 关系型数据库 MySQL
0030Java程序设计-积分管理系统论文
0030Java程序设计-积分管理系统论文
136 0
|
存储 SQL 缓存
阿里云EMR 2.0:定义下一代云原生智能数据湖
本次分享主要介绍了阿里云云原生数据湖分析解决方案的三个核心要素:全托管,湖存储;一站式,湖管理;多模态,湖计算。
30121 1
阿里云EMR 2.0:定义下一代云原生智能数据湖
|
存储 缓存 关系型数据库
数据结构是实现数据增删改查的具体方式
数据结构是实现数据增删改查的具体方式
100 0
|
安全 架构师 Java
Java程序员,你掌握了多线程吗?
摘要:互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指标,越来越多的公司对从业人员的多线程编程能力提出了更高的要求。
129 0
|
算法 程序员
让你彻底搞懂递归时间复杂度
让你彻底搞懂递归时间复杂度
332 0
|
Web App开发 开发者
淘宝教育视频加速观看
淘宝教育视频加速观看
210 0
|
存储 SQL NoSQL
Redis6快速入门(一)
Redis6快速入门(一)
174 0
Redis6快速入门(一)
|
JSON 分布式计算 自然语言处理
【ECMAScript6】es6 要点(一)剩余参数 | 数组方法 | 解构赋值 | 字符串模板 | 面向对象 | 模块
【ECMAScript6】es6 要点(一)剩余参数 | 数组方法 | 解构赋值 | 字符串模板 | 面向对象 | 模块
208 0
|
弹性计算 应用服务中间件 运维
阿里云服务器ECS、轻量应用服务器和云虚拟主机的区别及对比
阿里云服务器ECS、轻量应用服务器和云虚拟主机的区别及对比