技术员联盟提供win764位系统下载,win10,win7,xp,装机纯净版,64位旗舰版,绿色软件,免费软件下载基地!

当前位置:主页 > 教程 > 服务器类 >

阿里云服务器配置与性能优化

来源:技术员联盟┆发布时间:2018-03-17 12:23┆点击:

  阿里云我问过很多站长都说非常的不错了,不管是网速还是从性能都比其它主机要好,但阿里云就是贵那么一点了,下面小编来给各位介绍阿里云服务器配置与性能优化

  更换阿里云服务器有一阵了,相对于我以前的虚拟主机不是一个档次。就比如说我在虚拟主机上被人放了后门文件,我把虚拟主机上的文件传到云服务器的时侯云服务器立马就报警存在漏洞,最主要的还是可控性。

  一些相当配置记录下:

  一、配置Nginx处理日志

  1、设置nginx日志格式(data/server/nginx/conf/nginx.conf)

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '

  '$status $body_bytes_sent "$http_referer" '

  '"$http_user_agent" "$http_x_forwarded_for"';

  2、配置Nginx日志按天截断

  2.1、日志logrotate

  /data/log/nginx/access/*.log {

  daily

  #dateext

  rotate 1

  missingok

  ifempty

  nocompress

  olddir /data/log/nginx/access/days

  sharedscripts

  postrotate

  [ ! -f /data/server/nginx/logs/nginx.pid ] || kill -USR1 `cat /data/server/nginx/logs/nginx.pid`

  endscript

  }

  取文件名为nginx,存放在/etc/logrotate.d目录下。logrotate方式比mv有很多优势,自行google.不多说。

  2.2、编写日志处理脚本

  #!/bin/bash

  /usr/sbin/logrotate -vf /etc/logrotate.d/nginx

  time=$(date -d "yesterday" +"%Y-%m-%d")

  cd /data/log/nginx/access/days

  for i in $(ls ./ | grep "^(.*).[[:digit:]]$")

  do

  mv ${i} ./$(echo ${i}|sed -n 's/^(.*).([[:digit:]])$/1/p')-$(echo $time)

  done

  for i in $(ls ./ | grep "^(.*)-([[:digit:]-]+)$")

  do

  tar zcvf ${i}.tar.gz ./${i}

  /bin/rm -rf ./${i}

  done

  find /data/log/nginx/access/* -name "*.tar.gz" -mtime 30 -type f -exec /bin/rm -rf {} ;

  简单说明:执行Logrotate,把日志存放到/var/log/nginx/days目录,文件名末尾加上昨天的日期,打包成tar.gz格式,超过30天的文件自动删除

  2.3、向crontab中添加定时任务

  crontab -e

  1 0 * * * /data/shs/nginxlogcut.sh > /dev/null 2>&1

  二、日志分析

  1、AWStats安装

  如果YUM里已经添加了rpmforge的源就比较简单了,直接yum install即可,如果没有:

  yum install perl-libwww-perl.noarch

  wget

  rpm -ivh awstats-7.0-1.noarch.rpm

  cd /usr/local/awstats/tools/

  ./awstats_configure.p

  2、Awstats配置

  因为往往要分析多个站点的日志,为了简化操作

  cp awstats.model.conf common.conf

  修改其中几个选项:

  #vi common.conf

  DNSLookup=0 #关闭DNSLookup可以提升99%的效率

  DirData="/data/awstats/data" #指定统计数据存放的目录

  SkipFiles="REGEX[^*.gif] REGEX[^*.jpg] REGEX[^*.css] REGEX[^*.js]" #不分析图片/样式表和js文件

  NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf" #非页面文件

  LoadPlugin="tooltips" #显示每个统计项目的提示

  LoadPlugin="decodeutfkeys" #UTF8编码问题

  LoadPlugin="qqhostinfo" #加装的利用纯真IP库判断方可归属地

  修改LIMITFLUSH加快处理速度,有效提高统计的速度(减少磁盘IO),并避免按月汇总数据导致的统计文件过大

  #vi /usr/local/awstats/wwwroot/cgi-bin/awstats.pl

  $LIMITFLUSH =

  50000; # Nb of records in data arrays after how we need to flush data on disk

  3、我的统计实例

  #vi /etc/awstats/awstats.

  Include "common.conf"

  LogFormat=1 #指定日志格式,×nix为1,iis为2

  LogFile="zcat /data/log/nginx/access/days/geekso.log-%YYYY-24-%MM-24-%DD-24.tar.gz |"

  #LogFile="/var/log/iislogs/v/ex%YY-24%MM-24%DD-24.log"

  #LogFile="/var/log/nginx/crsay.geekso.log-%YYYY-24-%MM-24-%DD-24"

  SiteDomain=""

  HostAliases="geekso.com"

  DefaultFile="index.html"

  DirData="/data/www/awstats/data"

  AllowAccessFromWebToAuthenticatedUsersOnly=1

  AllowAccessFromWebToFollowingAuthenticatedUsers="geekso"

  3、编写日志分析脚本

  #!/bin/bash

  ilog=http://www.3lian.com/data/www/awstats/logcron/awstats_cron.log

  awscripts=http://www.3lian.com/usr/local/awstats/wwwroot/cgi-bin/awstats.pl

  awpages=http://www.3lian.com/usr/local/awstats/tools/awstats_buildstaticpages.pl

  echo "">>$ilog

  echo Starting Awstats on: $(date) >>$ilog

  perl $awpages -update -config=www.geekso.com -lang=cn -dir=http://www.3lian.com/data/www/awstats/geekso -awstatsprog=$awscripts

  #perl $awscripts -update -config=site2

  #perl $awscripts -update -config=site2 -databasebreak=day

  #perl $awscripts -update -config=site3

  #perl $awscripts -update -config=site3 -databasebreak=day

  echo Ending Awstats on: $(date) >>$ilog

  echo "------------------------------" >>$ilog

  4、向crontab中添加定时任务

  #crontab -e

  1 1 * * * /data/shs/awstats.sh > /dev/null 2>&1

  附:

  AWStats统计指标说明:

  参观者:按来访者不重复的IP统计,一个IP代表一个参观者;