标签 优化 下的文章

MySQL调优参考

MySQL调优可以从几个方面来做:

架构层:

做从库,实现读写分离;

系统层次

  1. 增加内存;
  2. 给磁盘做raid0或者raid5以增加磁盘的读写速度;
  3. 可以重新挂载磁盘,并加上noatime参数,这样可以减少磁盘的i/o;

MySQL本身调优:

  1. 如果未配置主从同步,可以把bin-log功能关闭,减少磁盘i/o;
  2. 在my.cnf中加上skip-name-resolve,这样可以避免由于解析主机名延迟造成mysql执行慢;
  3. 调整几个关键的buffer和cache。调整的依据,主要根据数据库的状态来调试;

- 阅读剩余部分 -

MySQL安全措施

数据库作为数据管理的平台,它的安全性首先由系统内部和网络安全两部分来决定的。对于系统管理员来说,首先要保证系统本身的安全,在安装MySQL数据时,需要对基础环境进行较好的配置。

一、修改root用户口令

缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母、数字和符号组成的不规律密码。使用MySQL自带的命令 mysqladmin修改root密码,同时也可以登陆数据库,修改数据库mysql下的user表的字段内:

mysql> update mysql.user set password=password('upassword') where user='root';
mysql> flush privileges;

二、删除默认数据库和数据库用户

一般情况下,MySQL 数据库安装在本地,并且也只需要本地的 php 脚本对 mysql 进行读取,所以很多用户不需要,尤其是默认安装的用户。

MySQL 初始化后会自动生成空用户和test库,进行安装的测试,这会对数据库的安全构成威胁,有必要全部删除,最后的状态只保留单个root即可,当然以后根据需要增加用户和数据库:

- 阅读剩余部分 -

Apache httpd访问日志

Apache的安装之后,服务器一运行就会有两个日志文件生成。这两个文件是access_log和error_log,这些文件可以在/usr/local/apache/logs下找到。

1. 配置访问日志

修改 httpd 的主配置文件,将以下配置前面的注释去掉:

vim /usr/local/apache24/conf/httpd.conf

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

以上配置参数介绍,这些参数可按需增删,一般默认即可。

%h:远程主机。
%l:远程登录名字(来自identd,如提供的话)。
%u:远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的)
%t:以公共日志时间格式表示的时间(或称为标准英文格式)。

- 阅读剩余部分 -

Nginx访问日志

1. 日志配置

在Nginx的配置文件中:

……省略一些配置……

# 这个是Nginx的日志,已经定义了日志文件的存放路径
error_log /usr/local/nginx/logs/nginx_error.log crit;
……省略一些配置……

http {
……省略一些配置……

    # 这个是网站日志的格式,可以自行调节先后顺序进行排版
    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    ' $host "$request_uri" $status'
    ' "$http_referer" "$http_user_agent"';

……省略一些配置……
}

- 阅读剩余部分 -

Nginx访问控制

1. 用户认证

用户认证用来控制不想让其它用户访问的地址,在虚拟主机配置文件中这样定义:

server
{
    listen 80;
    server_name example.com;
    index index.html index.htm index.php;
    root /data/www/example;

    location  /{
        auth_basic              "Auth";
        auth_basic_user_file   /usr/local/nginx/conf/htpasswd;
    }
}

然后使用Apache的密码工具生成用户密码文件:

htpasswd -c /usr/local/nginx/conf/htpasswd username

- 阅读剩余部分 -

php的一些简单配置

一般的,LAMP环境中的PHP程序因为是作为Apache的一个模块,它的简单配置都发生在php.ini文件中。而LNMP环境因为PHP是作为一个独立的程序运行,所以和LAMP中略有不同。

一、设置时区

date.timezone = Asia/Shanghai

二、禁用危险函数

disable_funtions = 
eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

- 阅读剩余部分 -