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:这个标记表示默认虚拟主机。

- 阅读剩余部分 -

常见的502错误排查思路

1.配置错误

因为nginx找不到php-fpm了,所以报错,一般是fastcgi_pass后面的路径配置错误了,后面可以是socket或者是ip:port

2.资源耗尽
lnmp架构在处理php时,nginx直接调取后端的php-fpm服务,如果nginx的请求量偏高,我们又没有给php-fpm配置足够的子进程,那么php-fpm就会资源耗尽,一旦资源耗尽nginx找不到php-fpm就会出现502错误,

解决办法是去调整php-fpm.conf中的pm.max_children数值,使其增加,但是也不能无限增加,毕竟资源有限。
一般4G内存机器如果跑php-fpm和nginx,不跑mysql可以设置为150,8G为300以此类推。

- 阅读剩余部分 -

php不解析的排查步骤

看一下有没有加载libphp5.so

/usr/local/apache2/bin/apachectl -M

查看配置文件中是否有

AddType application/x-httpd-php .php

看看有没有加入index

DirectoryIndex index.html index.htm index.php

不要忘记重启apache

还有一个不容忽视的问题,就是检查你的selinux是否开启
命令: getenforce 如果结果是 Enforcing 就说明是打开的
关闭: setenforce 0
还要在配置文件中配置一把enforcing改为disabled

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

- 阅读剩余部分 -

yum安装的Nginx和编译安装的PHP出现502

心血来潮想试试在各种安装方式下的服务之间的耦合度。

PHP的配置内容:

[test]
listen = /tmp/php_test.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

- 阅读剩余部分 -