阅读、理解、执行

人生就像是在做无数的阅读理解题,完成一件事的前提,很大一部分首先是需要阅读理解,包括在直接听某人说,或者看某人写道。总之,完成一件事,首先会有多种各式各样的输入形式进行输进人的大脑。然后大脑做理解(翻译)将得到的拿去执行。所以,不管在生活或者工作亦或者是学习中,阅读理解都是人非常重要而且需要必配的能力。废话这么多…. 继续阅读阅读、理解、执行

ESXI5前奏Openfiler开源存储服务器

虚拟化中,存储就是成功他妈。不管是使用网络存储还是本地存储。虚拟化平台都需要良好的存储来做基底,就像一栋大楼的框架。所以,有个优秀的存储方式是进行虚拟化的第一步,Openfiler作为开源的存储OS现在已经相当不错了,想要的存储方式,基本上都有,是个廉价好用友好的存储OS。

Openfiler OS的获取:http://www.openfiler.com/community/download

这里就以下载openfiler的iso镜像来作实例。

再来说说硬件,存储服务器对硬件的要求,作为网络存储,需要有些强大的CPU、性能优越的硬盘、还有大吞吐量的网卡、基本上就可以了。对内存的要求相对低于其他硬件。而且Openfiler本身还可以运行在U盘这个小磁盘中。

Openfiler OS的安装:

installed openfiler os

下面以配置一个简单的iSCSI Traget 为例:

首先登陆openfiler开源存储OS的web管理页面,注意管理地址是:https://your.openfiler.os:446/ 默认的用户密码为openfiler/password

the openfiler default webadmin page

1.创建新的物理卷:

create new physical volumes

3.选择设备块列表中你想要用来做存储的磁盘:

create one primary on your disk

create a volume group for openfiler

4.在openfiler服务器上启用和启动iSCSI服务:

enable and start iscsi target

5.创建一个新的卷,相当于将块设备分区,也就是划分Storage上面的块:

create one block on net storage

6.map一个lum标识:

add one iscsi tragetmap a lum on your target

7.最后,在windows7中测试下:

1234

到此。KO。上这么多图真特么累啊。

Azure云服务器上配置MariaDB主从复制

配置MySQL数据库主从复制的目的就是为了数据能够更安全、性能更好、可以实现故障快速切换等等

下面这里的两台双核4GB内存的Ubuntu 14.04+MariaDB-10.0.13的主从复制。先来看看我们编译安装的MariaDB数据库的my.cnf配置文件在哪里:

show mariadb cnf location

上面结果的意思就是这个MySQL服务器首先会在目录/etc找my.cnf,其次会去/etc/mysql/目录找,以此类推…鉴于我编译的时候指定了my.cnf的配置文件在:/app/mysql/etc目录下面。所有我们先将配置文件链接至目录/etc下面:

ln -s /app/mysql/etc/my.cnf /etc/my.cnf

主MariaDB的配置如下:

mariadb master conf

注释默认log-bin的二进制日志并配置新的二进制日志文件路径,新建二进制日志存放目录:

mkdir /app/mysql/logs && chown mysql.mysql -R /app/mysql/logs

新建MariaDB有复制权限的数据库用户:

GRANT REPLICATION SLAVE ON *.* TO ‘backup’@’42.159.228.231‘ IDENTIFIED BY ‘mariaDBbak.’;
create mariadb user

到此,主MariaDB的配置就完成了,重启MySQL服务器即可。至于查看master数据库服务器状态之类的下文再描述。

从MariaDB服务器的配置:

slave mariadb conf

注意的是server-id一定不是1、必须是大于1的其他数、这里就设12.read-only = ON 意思是:开启中继日志,relay_log指的是日志路径;

上面配置文件除了注释过#log-bin=mysql-bin外,其他都是默认的。所以,配置很简单吧。下面就来验证下。

MariaDB master server:

show master status

启动MariaDB从服务器:

change to mariadb master server

启动Slave server:

start slave;
show slave status;
show slave status

在主服务器上创建数据库验证是否同步到从服务器上:

create database and table for mastershow slave sync successful

到此,Azure云上的MariaDB主从复制就配置完成了。好久都没有发布多图片的博文了哈。

linux下释放内存的方法

VPS中搭建的WEB服务器,运行的时间长了,内存的使用就占用越来越高,对于小内存的VPS可能就直接使用了SWAP分区,从而影响到了系统应用程序的性能。下面是一个非常简单的清理linux内存的脚本,只要放入crontab计划任务里面定时执行就可以定期清理你的Linux服务器内存了。

#!/bin/bash
#Data is written to the disk cache
sync
#Clean Page Cache
echo 1 > /proc/sys/vm/drop_caches
sync
#Clean All Cache
echo 3 > /proc/sys/vm/drop_caches

其中/proc/sys/vm/drop_caches中的值有4个,分别为0-3:

0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存

编写脚本并赋予脚本可执行权限放入crontab里面定期执行:

clean your linux server memory cachetest clean your linux server memory cache

使用腾讯云到现在已经快两个月,如今,此Linux Web服务器上的环境瓶颈大概就在MariaDB数据库中。其他性能都优化到差不多了。

CentOS6.4下编译安装MariaDB数据库

MariaDB越来越多用户了,也越来越流行。和MySQL相比,估计有多了很多新功能。下面就介绍下Linux下如何编译安装MariaDB数据库。

目前官方最新稳定版是 MariaDB-5.5.35 下载地址:https://downloads.mariadb.org/mariadb/5.5.35/

在编译之前,首先得安装编译工具和其他一些依赖包:

yum groupinstall -y “Developmen Tools”

yum install -y cmake openssl-devel zlib-devel

cd /webapp

wget https://downloads.mariadb.org/mariadb/5.5.35/

groupadd mysql
useradd -g mysql mysql -s /sbin/nologin
mkdir /webapp/mysql
mkdir /usr/local/mysql
chown mysql:mysql /webapp/mysql
chown mysql:mysql /usr/local/mysql
tar -zxvf  mariadb-5.5.35.tar.gz
cd /webapp/mariadb-5.5.25
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/webapp/mysql -DSYSCONFDIR=/etc -DWITH_SSL=system -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_ZLIB=system -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql

配置完成后:installed mariadb
make && make install

其实和编译安装类似,就是选项变为大写的而已。例如:(-DCMAKE_INSTALL_PREFIX=/usr/local/mysql)对应mysql的(–prefix=/usr/local/mysql),其他基本无异。

配置完成后,就执行make进行编译。编译需要好一段时间。然后进行安装 make install 。

初始化还有一些简单配置:

cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
cp -p /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig –level mysqld 2345 on
chkconfig –add mysqld
echo “datadir = /data/mysql” >> /etc/my.cnf
echo “basedir = /usr/local/mysql” >> /etc/rc.d/init.d/mysqld
echo “datadir = /data/mysql” >> /etc/rc.d/init.d/mysqld
./scripts/mysql_install_db –user=mysql –datadir=/webapp/mysql &
service mysqld start

进入数据库:

into mysql

到此,MariaDB可以正常使用了。

新年开博之七牛云存储

谈定些,技术知识基本,也是过度,所以,近期都好少有技术性的文章发布。就当我是黔驴技穷吧。移动互联网的飞速发展,你能抓住的有哪些?欢迎大家加入谈论,无私地交流。

新年开博了,开博了,首先祝各位新的一年万事如意,身体健康,马上有钱!大数据,云计算,云存储,移动互联…在这些基础上都能产生各种各样优秀优越的应用。但人的欲望都是无穷的,所以,有了不断的需求就会有不断的供给!作为一个小小的站长,甚至是一个大型网站/大型APP。数据存储是非常重要的,这里不用多说。七牛云存储能提供的正是这些需要的。下面就来谈谈七牛云存储的一些应用。

官方网站:http://www.qiniu.com/

所有产品:

qiniuyun

所谓云存储,技术上还涉及到了CDN,DNS的智能解析,网络存储的方式,这里就不谈及服务器硬件环境。能加速,能称为分布式,都是基于分布在整个互联网上拥有的节点。以用户最近的节点实现快速响应并且快速返回数据。最原始的无非就是CDN了。后来就有了所谓的BGP(边界网关协议)的网络优化,还出现了智能解析。尽可能以用户最佳的路线带宽返回数据。

上面这张图片就是存储在七牛云中的,以其他文章中的图片比较你就会发现这张图片加载的速度有很大的提升,这就是七牛云存储的优势

七牛云对wordpress(互联网主要网站程序)的支持。有wordpress插件由(我爱水煮鱼)开发。貌似可以将整站做成CDN站,实现分布在互联网多个节点,实现快速访问的效果。由于需要备案,无法相试。

作为大数据时代,七牛云有开发者的API。当然我不会写代码。对这个研究甚少,不发表任何意见。

开博顺利,新的一年,希望自己能坚持,马上都有激情。

源码安装Nginx搭建LNMP环境

貌似这是升级到wordpress3.8的第一篇文章哈。如题,不过,还是在VMware 里面实现的。这里并不是所有组件都是源码安装。但其中 M 并不是MySQL数据库。而是MariaDB。其实一样。所以这里就变成了(Linux+Nginx+MariaDB+PHP)环境。(此举不解释,都是SEO惹的祸)。进入主题呗:

网络环境自搭,配置 MariaDB yum源不多说,见图:

mariadb yum source

A.首先,使用YUM安装开发环境及一些必须组件:

yum install wget gcc gcc-c++ automake autoconf libtool make unzip php php-fpm php-mysql MariaDB-server openssl openssl-devel -y

B.下载Nginx源码,及安装Nginx需要的源码并安装:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.4.4.tar.gz
wget http://softlayer-ams.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.zip
wget http://zlib.net/zlib-1.2.8.tar.gz

cd pcre-8.33
./configure
make;make install

cd ../zlib-1.2.8
./configure
make;make install

C.安装Nginx及简单配置Your Nginx Server:

创建Nginx Server以www用户运行的用户:

groupadd -r www;useradd -r -g www -s /bin/nologin -M www

cd ../nginx-1.4.4
./configure –user=www –group=www –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module –with-
pcre=/usr/local/src/pcre-8.33 –with-zlib=/usr/local/src/zlib-1.2.8

Note:上面红色字体是指组件源码路径,及源码目录。

成功安装后情况:

nginx configuration summary

show nginx conf and start it

配置Nginx 虚拟主机:

cat nginx conf

cat vhost conf

收尾了吧~~~~ 此处将

默认配置 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
修改为 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

start nginx mysql server

phpinfo

写得有点点累了,就都上图了,同事也是为了又需要的淫不要就这样复制粘贴,可以让自己也过一篇。So…….

吃饭,睡觉,学习,工作,是你每天最不能忘记的事情。Come On  !!!

浅谈RAID

自从 X X 了那以后,才知道RAID有软硬之分,作为一个IT男,深感惭愧哈。同时,再次验证了一句话:学校的东西和工作的东西还是有差距的哈。不过还好,本人这句话不是说学校学的东西没用处,相反,挺好哈。那是因为不管是软的硬的,原理还是一模一样的。可惜当初学的时候记住了但现在有忘记了。在此作个备忘,因此,通过再次了解,自己画了个图,加深了自己记忆。

常用RAID原理及作用
常用RAID原理及作用

上图已经处理过了,不过是被本人处理的,如果有觉得不对劲的地方,欢迎交流。

RAID还有2~7,但感觉用得不多。此外,有些RAID卡会支持RAID 0 5 这样的组合。不管你信不信,Google是这么说的,反正我是没见过的了。

遇到过这样的情况:IBM①RAID卡产品,有5块磁盘,四个做成了RAID 0 1的组合作为数据存储,还剩一块磁盘想作系统盘,结果,CentOS无法识别该块裸磁盘。结果,一大神说:将该块裸磁盘做成RAID0就可以装上了。

最后,通过上面实例,那为毛说RAID磁盘数要大于等于2呢?求大神回答!

CentOS6.4安装MariaDB数据库

MySQL该换了。替换品话说来自同个创造者的MariaDB。今晚没胃口,不想吃饭,来折腾下呗。VMware下的CentOS6.4;采用官方提供的YUM源。博主同学这里网速不怎么好哈,好吧,即使不好,该继续就继续。优先说明下,由于这两个数据库的创造者是同一个人,所以。在同一个系统中,不作任何处理,MySQL和MariaDB无法兼容,这里采用一山不容二虎的做法,首先将MySQL卸载掉,否则无法安装会提示:

Error: mysql conflicts with MariaDB-server-5.5.33a-1.x86_64

1.配置MariaDB官方提供的YUM源:

[root@bogon Sources]# pwd
/mnt/Sources
[root@bogon Sources]# uname -a
Linux bogon 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@bogon Sources]# grep -v “^#” /etc/yum.repos.d/CentOS-Media.repo

[Media]
name=Local Sources
baseurl=file:///media/cdrom/
file:///media/cdrom1/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

2.执行yum安装指令:

[root@bogon Sources]# yum install MariaDB-server MariaDB-client

0131106203227 131106203458 0131106233119

MySQL数据库常用操作命令

好吧,最近比较苦逼,所谓苦中自有苦中乐,由于身边已经没有测试环境,今天就来个裸写技术博文,MySQL数据库常用的操作指令,如果有错,欢迎广大网友指出。谢谢。

1.用户进入MySQL数据库指令:

mysql -u <user> -p

2.查看数据库指令:

show databases; (注意是s的结尾并且以分号结束SQL语句)

3.创建数据库指令:

create database kutea(数据库名);

4.进入某数据库指令:

use kutea(数据库名);

5.查看该数据库表指令:

show tables;(注意是s的结尾并且以分号结束SQL语句)

6.创建数据库表指令:

create table user ( ID int not null primary key; NAME char (12) );

7.查看该数据库表结构指令:

desc user;(数据库表名)

8.删除数据库表指令:

drop table user;

9.删除数据库指令:

drop database kutea;

10.更新数据库密码指令:

UPDATE user SET password=PASSWORD(“new password”) WHERE user=’name’;

FLUSH PRIVILEGES;

QUIT (关于MySQL数据库密码修改及本地重置密码可参照本博相关博文)

就到此处吧,关于MYSQL数据库表的大量操作,本人也不很熟悉。有待学习。本博还有些关于MYSQL数据库引擎类型修改的文章。有需要可以参阅。