月归档:2014 年四月

linux下php环境安装

之前在vps上装了好多次,每次碰到不同的问题,现在记录一下。 1.nginx ./configure碰到少库 yum install pcre 不够还有pcre-devel这样的。建议直接yum install pcre* 2.mysql useradd -M -s /sbin/nologin mysql mkdir /data/mysql chown -R mysql:mysql /data/mysql cd mysql-5.6.4-m7 yum install gcc gcc-c++ CC=gcc CXX=gcc CXXFLAGS=”-O3 -felide-constructors -fno-exceptions -fno-rtti” cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DWITH_MYSQLD_LDFLAGS=-all-static \ -DWITH_DEBUG=OFF … 继续阅读

发表在 Linux, Mysql, Php | 标签为 | 留下评论

mac os安装MacPorts

转载:http://www.ccvita.com/434.html   Mac下面除了用dmg、pkg来安装软件外,比较方便的还有用MacPorts来帮助你安装其他应用程序,跟BSD中的ports道理一样。MacPorts就像apt-get、yum一样,可以快速安装些软件。 下面将MacPorts的安装和使用方法记录在这里以备查。 访问官方网站http://www.macports.org/install.php,这里提供有dmg安装和源码安装两种方式,dmg就多说了,下载MacPorts-1.9.2-10.6-SnowLeopard.dmg,下一步下一步安装即可。 通过Source安装MacPorts wget http://distfiles.macports.org/MacPorts/MacPorts-1.9.2.tar.gz tar zxvf MacPorts-1.9.2.tar.gz cd MacPorts-1.9.2 ./configure && make && sudo make install cd ../ rm -rf MacPorts-1.9.2* configure报错: macports checking for Tcl configuration… configure: error: Can’t find Tcl configuration definitions 参考: http://www.cnblogs.com/galoishelley/archive/2013/11/29/3449225.html … 继续阅读

发表在 Macos | 标签为 | 留下评论

redis五种数据类型

转载:(http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1、String 常用命令: set,get,decr,incr,mget 等。 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,这里就不所做解释了。找一个一致性hash算法实现获取对象+redis此类型 可替代 用 memcache 做缓存。 实现方式: String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。 2、Hash 常用命令: hget,hset,hgetall 等。 应用场景: 我们简单举个实例来描述下Hash的应用场景,比如我们要存储一个用户信息对象数据,包含以下信息: 用户ID,为查找的key, 存储的value用户对象包含姓名name,年龄age,生日birthday 等信息, 如果用普通的key/value结构来存储,主要有以下2种存储方式: 第一种方式将用户ID作为查找key,把其他信息封装成一个对象以序列化的方式存储, 如:set u001 “李三,18,20010101″ 这种方式的缺点是,增加了序列化/反序列化的开销,并且在需要修改其中一项信息时,需要把整个对象取回,并且修改操作需要对并发进行保护,引入CAS等复杂问题。 第二种方法是这个用户信息对象有多少成员就存成多少个key-value对儿,用用户ID+对应属性的名称作为唯一标识来取得对应属性的值, 如:mset user:001:name “李三 “user:001:age18user:001:birthday “20010101″ 虽然省去了序列化开销和并发问题,但是用户ID为重复存储,如果存在大量这样的数据,内存浪费还是非常可观的。 那么Redis提供的Hash很好的解决了这个问题,Redis的Hash实际是内部存储的Value为一个HashMap,并提供了直接存取这个Map成员的接口, 如:hmset user:001 name “李三” age 18 … 继续阅读

发表在 Nosql | 标签为 | 留下评论

一致性hash算法 – consistent hashing

因redis有文件存储,挂了不会像mc那样完全都没有了,全站的memcache都换成了用redis。但是mc add多台server采用一致性hash算法,可以减少某台机器挂了造成大量key找错机器找不到值的影响。换成了redis也想用保留这个算法。 详细说明: http://blog.csdn.net/sparkliang/article/details/5279393 “3.5.1 移除 cache 考虑假设 cache B 挂掉了,根据上面讲到的映射方法,这时受影响的将仅是那些沿 cache B 逆时针遍历直到下一个 cache ( cache C )之间的对象,也即是本来映射到 cache B 上的那些对象。”  应该为 cache A php版实现方式: http://zwzweb.googlecode.com/files/Consistent%20Hashing.php 线上采用的是 C语言版本的实现打成so扩展了。mc类在new对象时通过调用其中的方法addTagerts 添加redis机器节点代号,lookup获取分配到的机器节点。实现尽可能的key值均匀分布。 consistent hashing 是一种 hash 算法,简单的说,在移除 / 添加一个 cache 时,它能够尽可能小的改变已存在 key 映射关系。

发表在 Php | 标签为 , | 留下评论

查看MySQL配置文件路径及相关配置

转载自:http://blog.csdn.net/moxiaomomo/article/details/9792801 (1)关于配置文件路径 有时候,我发现虽然尝试修改了配置文件的一些变量,但是并没有生效。后来才发现原来是因为修改的文件并非MySQL服务器读取的配置文件。 如果不清楚MySQL当前使用的配置文件路径,可以尝试这样查看: /usr/local/mysql/bin/mysqld –verbose –help |grep -A 1 ‘Default options’ 输出: 140415 18:17:08 [Note] Plugin ‘InnoDB’ is disabled. Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 从上图可以看出, 服务器首先会读取/etc/my.cnf文件,如果发现该文件不存在,再依次尝试从后面的几个路径进行读取。 (2)关于配置文件配置项分段 配置文件my.cnf通常会分成好几部分,如[client],[mysqld], … 继续阅读

发表在 Mysql | 标签为 | 留下评论

linux fstab参数详解

mkfs.ext4 /dev/sdb (mkfs -t ext4) /dev/sdb is entire device, not just one partition! 提示是整个磁盘,因为没有对这个盘进行分区 mount /dev/sdb /data mount: you must specify the filesystem type 没有格式化 磁盘分区好了之后,要挂载到目录使用。 mount /dev/sdb1 /data mount /dev/sdb5 /logic5 。。。 挂载完后df -h查看添加的内容,但是重启后就没有了。为了开机就挂载好,需要配置/etc/fstab 我的新增内容: /dev/sdb1 /data ext4 defaults … 继续阅读

发表在 Linux | 标签为 , | 留下评论

linux磁盘分区

参考: http://blog.fens.me/linux-fdisk/ http://linux.chinaitlab.com/set/39459.html 一、fdisk 的介绍; fdisk – Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具; fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等;当然我们用fdisk 对磁盘操作分区时,并不是一个终点,我们还要对分区进行格式化所需要的文件系统;这样一个分区才能使用;这和DOS中的fdisk 是类似的;   二、合理规划您的硬盘分区; 在操作分区之前,我们要明白硬盘分区一点理论,比如硬盘容量和分区大小的计算;对一个硬盘如何规划分区等,请参考如下文档,谢谢; 《合理规划您的硬盘分区》   三、fdisk -l 查看硬盘及分区信息; 通过《合理规划您的硬盘分区》 ,我们知道主分区(包括扩展分区)的总个数不能超过四个;也不能把扩展分区包围在主分区之间;根据这个原则,我们划分硬盘分区就比较容易的多;也能为以后减少不必要的麻烦; 1、通过fdisk -l 查看机器所挂硬盘个数及分区情况; [root@localhost beinan]# fdisk -l Disk /dev/hda: 80.0 GB, 80026361856 … 继续阅读

发表在 Linux | 标签为 , | 留下评论