分类 Linux 下的文章

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

- 阅读剩余部分 -

MySQL的三种常见sql_mode

MySQL数据库的中有一个环境变量sql_mode,定义了mysql应该支持的sql语法,数据校验等!

我们可以通过以下方式查看当前数据库使用的sql_mode:

mysql> select @@sql_mode;
+--------------------------------------------+
| @@sql_mode                                 |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
1 row in set (0.00 sec)

以及:

mysql> show variables like 'sql_mode%'\G
*************************** 1. row ***************************
Variable_name: sql_mode
        Value: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
1 row in set (0.03 sec)

- 阅读剩余部分 -

MyISAM与InnoDB的区别是什么?

InnoDB和MyISAM是MySQL常用的两个表类型,这两个表类型各有优劣,视具体应用而定。

基本的差别为:

  • MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
  • MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。

一、存储结构

  • MyISAM:每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。
  • InnoDB:所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。

- 阅读剩余部分 -

Nginx简单配置

一、Nginx虚拟主机

在Nginx中,我们可以使用多个配置文件来更加人性化的管理不同的站点,首先需要在Nginx的配置文件,nginx.conf中http部分加入这样一行:

    include vhost/*.conf

在当前目录下创建vhost目录,然后在vhost目录下创建一个.conf配置文件,简单的配置大致如下:

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

default_server:这个标记表示默认虚拟主机。

- 阅读剩余部分 -

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

- 阅读剩余部分 -