关于中小型网站架构优化
来源:专业网站建设 专业网站制作 专业网站设计 发布时间:2015-12-14 浏览量:2622 次
Apache优化:
1).mod_deflate压缩模块
查看是否加载:
# apachectl M |grep deflate
如果没有安装使用apxs编译进去:
# /usr/local/apache/bin/apxs c I A apache源码目录/modules/mod_deflate.c
deflate配置参数:
DeflateCompressionLevel6 #压缩等级(1-9),数值越大效率越高,消耗CPU也就越高
SetOutputFilterDEFLATE #启用压缩
AddOutputFilterByTypeDEFLATE text/html text/plain text/xml #压缩类型
AddOutputFilterByTypeDEFLATE css js html htm xml php
2).mod_expires缓存模块
查看是否加载:
# apachectl M |grep expires
如果没有安装使用apxs编译进去:
# /usr/local/apache/bin/apxs c I A apache源码目录/modules/mod_expires.c
深圳网站制作再在httpd.conf启用模块:LoadModule expires_module modules/mod_expires.so
缓存机制有三种用法:全局、目录和虚拟主机
全局配置,在配置文件末尾添加:
ExpiresByTypeimage/jpg "access plus 12 months" #jpg格式图片缓存12月
3).工作模式选择及优化
apache有两种常见工作模式,worker和prefork,默认是worker,是混合型的MPM(多路处理模块),支持多进程和多线程,由线程来处理请求,所以可以处理更多请求,提高并发能力,系统资源开销也小于基于进程的MPM,由于线程使用进程内存空间,进程崩溃会导致其下线程崩溃。而prefork是非线程型MPM,进程占用系统资源也比worker多,由于进程处理连接,在工作效率上也比worker更稳定。可通过apache2 l查看当前工作模式,在编译时使用—with-mpm参数指定工作模式。根据自己业务需求选择不同工作模式,再适当增加工作模式相关参数,可提高处理能力。
配置参数说明:
Nginx优化:
1).gzip压缩模块
http {
……
gzip on;
gzip_min_length 1k; #允许压缩的页面最小字节数,默认是0,多大都压缩,小于1k的可能适得其反
gzip_buffers 4 16k; #gzip申请内存的大小,按数据大小的4倍去申请内存
gzip_http_version 1.0; #识别http协议版本
gzip_comp_level 2; #压缩级别,1压缩比最小,处理速度最快,9压缩比最大,处理速度最慢
gzip_types text/plainapplication/x-javascripttext/css application/xml image/jpg; #压缩数据类型
gzip_vary on; #根据客户端的http头来判断,是否需要压缩
}
2).expires缓存模块
server {
location ~ .*.(gif|jpg|png|bmp|swf)$ #缓存数据后缀类型
{
expires 30d; #使用expires缓存模块,缓存到客户端30天
}
location ~ .*.( jsp|js|css)?$
{
expires 1d;
}
}
3).fastcgi优化
nginx不支持直接调用或者解析动态程序(php),专业网站制作公司必须通过fastcgi(通用网关接口)来启动php-fpm进程来解析php脚本。也就是说用户请求先到nginx,nginx再将动态解析交给fastcgi,fastcgi启动php-fpm解析php脚本。所以我们有必要对fastcgi和php-fpm进行适当的参数优化。
http {
……
fastcgi_cache_path/usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m;
fastcgi_send_timeout 300; #指定向FastCGI传送请求的超时时间
fastcgi_read_timeout 300; #指定接收FastCGI应答的超时时间
fastcgi_buffer_size 64k; #指定读取FastCGI应答第一部分需要多大的缓冲区
fastcgi_buffers 4 64k; #指定本地需要用多少盒多大的缓冲区来缓冲FastCGI的应答请求
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k; #表示在写入缓存文件时使用多大的数据块,默认值是fastcgi_buffers的两倍
fastcgi_cache TEST; #开启fastcgi_cache缓存并指定一个TEST名称
fastcgi_cache_valid 200 302 1h; #指定200、302应答代码的缓存1小时
fastcgi_cache_valid 301 1d; #将301应答代码缓存1天
fastcgi_cache_valid any 1m; #将其他应答均缓存1分钟
{
php-fpm.conf配置参数:
pm.max_spare_servers= 3 #最大php-fpm进程数
4).proxy_cache本地缓存模块
公众知名度对获取免费浏览量极为有效,但大多数会员都不具备这种机会。大多数访问者更喜欢与产品所有者或营销人员进行对话,而不愿意与会员交流。当然,对会员来说,也有一些获取公众知名度的机会,但是他们可能会需要大量额外的工作与研究。
本文发布于【深圳市功成创意企业形象策划有限公司】转载请注明来源:/