Nginx(一)初始环境的安装(php5.3+mysql5.1+fastcgi…)

关参考资源
http://www.lnmp.org/index.html \\LNMP一键安装包
http://www.howtocn.org/nginx \\Nginx模块参考手册中文版
http://blog.s135.com/nginx_php_v6/ \\张宴写的nginx文章
http://www.nginx.com.cn/ \\nginx中文网

如下为我写的。。。。。。

yum -y remove httpd*
yum -y remove mysql*
yum -y remove php*

 

时间同步
/usr/sbin/ntpdate 0.rhel.pool.ntp.org > /dev/null 2>&1 ; /sbin/clock -w > /dev/null 2>&1

yum –enablerepo=remi -y install gcc gcc-c++ automake autoconf libtool
yum -y –enablerepo=remi install gd freetype gd-devel.x86_64 freetype.x86_64 \
freetype-devel.x86_64 libjpeg.x86_64 libjpeg-devel.x86_64  \
libpng.x86_64 libpng-devel.x86_64 libxml2.x86_64 libxml2-devel.x86_64 \
zlib.x86_64  zlib-devel.x86_64 libevent.x86_64 libevent-devel.x86_64 \
bzip2.x86_64 bzip2-devel.x86_64 glib.x86_64 glib-devel.x86_64 glib2.x86_64 glib2-devel.x86_64
yum –enablerepo=remi -y install libc-client.x86_64  libc-client-devel.x86_64
yum –enablerepo=remi -y install net-snmp.x86_64 net-snmp-devel.x86_64 \
net-snmp-libs.x86_64 net-snmp-utils.x86_64 net-snmp-perl.x86_64
ln -s /usr/lib64/libpng.so /usr/lib/
ln -s /usr/lib64/libc-client.a /usr/lib/
我的是64位系统所以要做这一步


相关软件包的下载,有必要时可到链接处找最新的安装包

mkdir /usr/local/src/lnmp
wget -c http://nginx.org/download/nginx-0.9.1.tar.gz
wget -c http://cn2.php.net/get/php-5.3.3.tar.gz/from/cn.php.net/mirror
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.53.tar.gz/from/http://mysql.ntu.edu.tw/
wget -c http://soft.vpser.net/web/pdo/PDO_MYSQL-1.0.2.tgz
wget -c http://pecl.php.net/get/memcache-3.0.5.tgz
wget -c http://soft.vpser.net/web/pcre/pcre-8.10.tar.gz
wget -c http://soft.vpser.net/web/libiconv/libiconv-1.13.tar.gz
wget -c http://soft.vpser.net/web/libmcrypt/libmcrypt-2.5.8.tar.gz
wget -c http://soft.vpser.net/web/mhash/mhash-0.9.9.9.tar.gz
wget -c http://soft.vpser.net/web/mcrypt/mcrypt-2.6.8.tar.gz
wget -c http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

Install

cd /usr/local/src/lnmp;cur_dir=$(pwd)
cd $cur_dir; tar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13/
./configure –prefix=/usr/local
make && make install

 

cd $cur_dir
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make && make install
/sbin/ldconfig
cd libltdl/
./configure –enable-ltdl-install
make && make install

cd $cur_dir
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make && make install
cd ../

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ldconfig

cd $cur_dir
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
./configure
make && make install
cd ../

Mysql的安装

cd $cur_dir
tar -zxvf mysql-5.1.53.tar.gz
cd mysql-5.1.53/
groupadd mysql
useradd -g mysql mysql
./configure –prefix=/usr/local/mysql –sysconfdir=/etc \
–with-extra-charsets=all \
–with-charset=utf8 \
–with-plugins=all \
–with-big-tables \
–with-embedded-server \
–enable-local-infile \
–enable-assembler \
–with-mysqld-user=mysql

 

###如果报configure: error: No curses/termcap library found
#yum –enablerepo=remi -y install ncurses.x86_64 ncurses-devel.x86_64

make && make install
cd ../
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
chown -R mysql.mysql /usr/local/mysql/
sed -i ‘s/skip-locking/skip-external-locking/g’ /etc/my.cnf
/usr/local/mysql/bin/mysql_install_db –user=mysql
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig –level 345 mysql on
echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf
echo “/usr/local/lib” >>/etc/ld.so.conf
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
ldconfig
/etc/init.d/mysql start
/etc/init.d/mysql restart

php+fast-cgi的安装, 5.3.3 源码中开始包含 php-fpm,不用专门再打补丁了,只需要解开源码直接configure,关于php-fpm的编译参数有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。

cd $cur_dir
tar zxvf php-5.3.3.tar.gz
cd php-5.3.3
./configure –prefix=/usr/local/php  \
–with-config-file-path=/usr/local/php/etc \
–with-mysql=/usr/local/mysql \
–with-mysqli=/usr/local/mysql/bin/mysql_config \
–with-gd \
–with-freetype-dir \
–with-jpeg-dir \
–with-png-dir \
–with-zlib \
–with-imap \
–with-kerberos \
–with-imap-ssl \
–with-mhash \
–with-mcrypt \
–with-curl \
–with-curlwrappers \
–with-openssl \
–with-gettext \
–with-iconv-dir \
–with-libxml-dir \
–enable-fpm \
–with-fpm-user=www \
–with-fpm-group=www \
–with-libevent-dir \
–enable-inline-optimization \
–enable-mbstring \
–enable-ftp \
–enable-gd-native-ttf \
–enable-zip \
–enable-sockets

 

#Kerberos libraries not found  ,解决方法是,ln -s /usr/lib64/ /usr/kerberos/lib

make ZEND_EXTRA_LIBS=’-liconv’
make install
cp php.ini-production /usr/local/php/etc/php.ini
cd ../
ln -s /usr/local/php/bin/php /usr/bin/php
ln -s /usr/local/php/sbin/php-fpm /usr/bin/php-fpm

cd $cur_dir
tar -zxvf memcache-3.0.5.tgz
cd memcache-3.0.5/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../

cd $cur_dir
tar -jxvf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
/usr/local/php/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
make && make install
mkdir -p /usr/local/eaccelerator_cache
chmod 777 /usr/local/eaccelerator_cache

cd $cur_dir
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql
make && make install
cd ../

sed -i ‘s/;date.timezone =/date.timezone = Asia\/Shanghai/g’ /usr/local/php5/etc/php.ini
sed -i ‘s/short_open_tag = Off/short_open_tag = On/g’ /usr/local/php5/etc/php.ini
sed -i ‘s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g’ /usr/local/php5/etc/php.ini
sed -i ‘s/upload_max_filesize = 2M/upload_max_filesize = 50M/g’ /usr/local/php5/etc/php.ini
sed -i ’262i output_buffering = On’ /usr/local/php5/etc/php.ini

#————————-编辑php.ini文件做如下修改————————————-#
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/”
extension = “memcache.so”
extension = “pdo_mysql.so”

[eaccelerator]
;#######################zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so”
extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so”
eaccelerator.shm_size=”64″
eaccelerator.cache_dir=”/usr/local/eaccelerator_cache”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”3600″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″

#————————–配置php-fpm.conf,如下操作————————————–#
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf

[global]
pid = /usr/local/php5/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
[www]
listen = 127.0.0.1:9000
user = www
group = www
pm = dynamic
pm.max_children = 2000
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35

groupadd www
useradd -g www www
mkdir -p /var/www/html
chown www.www /var/www/html/

cd $cur_dir
tar zxvf pcre-8.10.tar.gz
cd pcre-8.10/
./configure
make && make install
cd ../

 

tar zxvf nginx-0.9.1.tar.gz
cd nginx-0.9.1
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
make && make install
cd ../

cat >/var/www/html/phpinfo.php<<eof
<?php
phpinfo();
?>
eof


给PHP加速,eAccelerator配置和使用指南
http://www.toplee.com/blog/100.html#pp2
http://eaccelerator.net/wiki/InstallFromSource //安装文档
http://eaccelerator.net/wiki/Settings //配置说明

php-fpm管理
kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`               //终止
/usr/local/php5/sbin/php-fpm                                       //启动
kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`          //重启
kill -SIGUSR1 `cat /usr/local/php/var/run/php-fpm.pid`          //日志

nginx管理
/usr/local/nginx/sbin/nginx                                                       //启动
/usr/local/nginx/sbin/nginx -s reload                                            //平滑重启
/usr/local/nginx/sbin/nginx -t                                                   //测试

Others
nginx0.8.52+php5.3.3
http://addcn.blogbus.com/tag/php5.3.3/

XHProf安装使用笔记

XHProf安装使用笔记

编译安装

获取源代码包
root@sourcjoy>wget http://pecl.php.net/get/xhprof-0.9.2.tgz
解压
root@sourcjoy>tar zxf xhprof-0.9.2.tgz
root@sourcjoy>cd xhprof-0.9.2
复制web访问目录到web应用目录
root@sourcjoy>cp -r xhprof_html xhprof_lib /var/www/html/  #复制xhprof的展示页面目录和库目录到web目录下,可以为xhprof_html建个虚拟目录来访问,也可以把这两个目录拷贝到应用的根目录下。
root@sourcjoy>cd extension/
编译插件
root@sourcjoy>/usr/local/webserver/php/bin/phpize
root@sourcjoy>./configure –with-php-config=/usr/local/webserver/php/bin/php-config
root@sourcjoy>make
root@sourcjoy>make install
注意:这里安装的时候可能会出现访问php.ini没权限的问题,请把php.ini的权限改成666:
chmod 666 /usr/local/webserver/php/etc/php.ini

配置 php.ini 文件
root@sourcjoy>vi /usr/local/webserver/php/etc/php.ini在合适位置加入以下内容:

[xhprof]
extension=xhprof.so;
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
;
;xhprof.output_dir=<directory_for_storing_xhprof_runs>xhprof.output_dir=/var/logs/xhprof

重启web服务器

为了更加清晰显示程序执行、调用结构,安装Graphviz,如果安装了Graphviz,XHProf会用比较牛的图形方式展现统计数据。
获取源码包
root@sourcjoy>wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz
root@sourcjoy>tar zxf graphviz-2.24.0.tar.gz
root@sourcjoy>cd graphviz-2.24.0
编译安装
root@sourcjoy>./configure
root@sourcjoy>make
root@sourcjoy>make install

接下来在要统计的php应用中加入以下语句:
xhprof_enable(); // 统计的代码部分之前加,如果要显示CPU占用 可以加入XHPROF_FLAGS_CPU参数,内存是XHPROF_FLAGS_MEMORY,如果两个一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY,如:xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

xhprof_disable();//统计的代码部分之后加

这样xhprof就可以统计当前页面的函数性能情况了。xhprof会把每次访问加入统计代码的页面的性能统计结果在指定目录下生成一个文件,文件名命名方式为:本次访问的系统ID.命名空间,每次刷新页面都会重新生成一个文件,每个的系统ID都不同。

然后通过xhprof_html目录的http访问url来查看结果。如:http://app/xhprof_html/?run=运行id&source=命名空间(其中运行ID和命名空间可以根据xhprof生成的文件名来确定)
下面是个例子:

<?php
function a(){
echo ‘a’;
}
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);   //XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY
// run program
a();
// stop profiler
$xhprof_data = xhprof_disable();   //返回运行数据

// 下面是保存运行数据
include_once “xhprof_lib/utils/xhprof_lib.php”;
include_once “xhprof_lib/utils/xhprof_runs.php”;

$xhprof_runs = new XHProfRuns_Default();

$run_id = $xhprof_runs->save_run($xhprof_data, “sourcejoy”);   //第一个参数是 xhprof_disable()函数返回的运行信息,第二个参数是自定义的命名空间字符串(任意字符串),返回运行ID。
?>
名词:
1. Inclusive Time :包括子函数所有执行时间。
2. Exclusive Time/Self Time:函数执行本身花费的时间,不包括子树执行时间。
3. Wall Time:花去了的时间或挂钟时间。
4. CPU Time:用户耗的时间+内核耗的时间
5.Inclusive CPU:包括子函数一起所占用的CPU
6.Exclusive CPU:函数自身所占用的CPU

最后要说点,这个xhprof程序有点小bug,还不支持php5.2一下的版本,不过这都是小问题,关键是能直观告诉我们程序的性能问题,这个很重要,我们自己开发程序的时候用这个进行性能检查是很不错的。

-END-

本文是sourcejoy.com的原创文章,要转载必须写明来自http://www.sourcejoy.com/ 如果没表明转载自本站,

http://www.sourcejoy.com/php_dev/xhprof_install_and_usage.html

启动php-fpm的时候出现 Starting php_fpm Dec 29 15:27:32.502790 [ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool ‘default’

启动php-fpm的时候出现
Starting php_fpm Dec 29 15:27:32.502790 [ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool ‘default’
解决办法;
只需要修改php-fpm.conf
Unix user of processes
<!–     <value name=”user”>nobody</value>   –>
Unix group of processes
<!–     <value name=”group”>nobody</value>   –>

将<!– –>去掉即可。至于user/group根据实际情况修改(www)。
重新启动 /usr/local/webserver/php-fpm/sbin/php-fpm start 成功了!

RedHat Linux网络配置文件详解

目前在企业级服务器的Linux系统中,RHEL占有绝对的优势,不管是曾经在互联网公司还是在目前测试Virtualization都是用的RHEL,所以本文主要是针对RedHat的linux来写的。前阵子有一次也被测试中的各种网络配置给搞晕了,因为我们VT-D和SR-IOV基本上都用NIC来测试的。收集了点资料,结合实际经验总结一下。

Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。

Linux中网络相关的主要的几个配置文件为:
/ect/hosts配置主机名(域名)和IP地址的对应
/etc/sysconfig/network配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推/etc/resolv.conf配置DNS客户端(关于使用哪个DNS服务器的配置)

1./etc/sysconfig/network-scripts/ifcfg-<interface-name>文件
在RedHat中,系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。在启动时,系统通过读取这个配置文件决定某个网卡是否启动和如何配置。
下面是/etc/sysconfig/network-scripts/ifcfg-eth0文件的示例:
DEVICE=eth0
IPADDR=192.168.0.2
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
NBOOT=yes
BOOTPROTO=none
GATEWAY=192.168.0.1

若希望手工修改网络地址或增加新的网络连接,可以通过修改对应的文件ifcfg-<interface-name>或创建新的文件来实现。
DEVICE=<name>   <name>表示物理设备的名字
IPADDR=<address>   <address>表示赋给该网卡的IP地址
NETMASK=<mask>  <mask>表示子网掩码
BROADCAST=<address> <address>表示广播地址
NBOOT=yes/no  启动时是否激活该卡
BOOTPROTO=none  none:无须启动协议;bootp:使用bootp协议;dhcp:使用dhcp协议
GATEWAY=<address> <address>表示默认网关
MACADDR=<MAC-address> <MAC-address>表示指定一个MAC地址
USERCTL=yes/no    是否允许非root用户控制该设备

2./etc/resolv.conf文件
文件/etc/resolv.conf配置DNS客户端,它包含了DNS服务器地址和域名搜索配置,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:
search wuxp.com
nameserver 192.168.0.1
nameserver 192.168.0.2

search wuxp.com:表示当提供了一个不包括完全域名的主机名时,在该主机名后添加wuxp.com的后缀;nameserver:表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。因此,应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。

3./etc/sysconfig/network文件
该文件用来指定服务器上的网络配置信息,下面是一个示例:
NETWORK=yes
RORWARD_IPV4=yes
HOSTNAME=server.wuxp.com
GAREWAY=192.168.0.1
GATEWAYDEV=eth0

NETWORK=yes/no    网络是否被配置
FORWARD_IPV4=yes/no    是否开启IP转发功能
HOSTNAME=<hostname> <hostname>表示服务器的主机名
GAREWAY=<address>    <address>表示网络网关的IP地址
GAREWAYDEV=<device>  <device>表示网关的设备名,如:eth0

4./etc/hosts文件
当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
下面是一个/etc/hosts文件的示例:
127.0.0.1 Localhost server.wuxp.com
192.168.0.3 station1.wuxp.com
最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。

修改后,需要重启网络才会生效:重新启动网络设置:/sbin/service network restart
service network start //启动网络服务
service network stop //停止网络服务
service network status //查看网络服务状态

另外,还有单个网卡绑定多个IP和多个网卡绑定为一块虚拟网卡的配置。

1、单网卡绑定多个IP

有时,我们需要在一块网卡上配置多个IP,例如,在上面的例子中,我们还需要为eth0配置IP 192.168.168.2和192.168.168.3。那么需要再在/etc/sysconfig/network-scripts下新建两个配置文件:

ifcfg-eth0:0内容如下:

DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.168.2
NETMASK=255.255.255.0
NBOOT=yes

ifcfg-eth0:1内容如下:

DEVICE=eth0:1
BOOTPROTO=static
IPADDR=192.168.168.3
NETMASK=255.255.255.0
NBOOT=yes

2、多个网卡绑定成一块虚拟网卡

为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。比如我们可以将eth0和eth1绑定成虚拟网卡bond0

首先在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0,内容如下

DEVICE=bond0
BOOTPROTO=none
BROADCAST=192.168.168.255
IPADDR=192.168.168.1
NETMASK=255.255.255.0
NETWORK=192.168.168.0
NBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.168.250
USERCTL=no

然后分别修改eth0和eth1的配置文件
ifcfg-eth0内容:

DEVICE=eth0
BOOTPROTO=none
NBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes

ifcfg-eth1内容

DEVICE=eth1
BOOTPROTO=none
NBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes

因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module。在/etc/modprobe.conf文件(好像有些老版本是/etc/modules.con)中添加如下内容(如果没有该文件,则新建一个):

alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0

其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡
mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active,还有其他一些模式很少用到
primary=eth0表示主备模式下eth0为默认的active网卡

最后,在/etc/rc.local中加入

modprobe bonding miimon=100 mode=1

重启机器后可以看到虚拟网卡已经生效,可以通过插拔两个物理网卡的网线来进行测试,不过linux中网卡接管的时间好象比较长。

参考资料:

http://ningzi82.itpub.net/post/12186/505365

http://www.ningoo.net/html/2007/redhat_linux_network_configuration_and_bond.html

SSH登陆错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

SSH登陆错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

Connection to 192.168.10.20 closed.
[root@localhost ~]# ssh 192.168.10.88
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
b6:0c:41:43:60:79:eb:05:9e:c9:72:1d:a0:41:9a:50.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:5
RSA host key for 192.168.10.88 has changed and you have requested strict checking.
Host key verification failed.

在客户端执行下述指令即可

#mv /root/.ssh/known_hosts /tmp

Zend studio 8+设置默认使用UTF-8编码

Zend Studio 8+默认使用系统编码,也就是GBK,当我们用Zend Studio 用从SVN服务器导出项目的时候,如果项目使用UTF-8字符集,打开文件的时候中文将会出现乱码。
解决:
将如下设置为使用UTF-8编码
1、Project > Properties > Resource
2、Window > Preferences > General > Workspace
3、Window > Preferences > Web > HTML Files
4、Window > Preferences > Web > CSS Files
5、Window > Preferences > PHP > Debug

MySQL 线上执行大事务 or 锁表操作 详解

很多情况下,DBA需要在线执行一些无法在线进行的操作。这句话说着很绕口,比如给某个核心级表加一列或者执行修改操作,此时不但主库从库要长时间锁表,主从延迟也会变大。那么应该如何操作呢?

很简单,使用SET SESSION SQL_LOG_BIN= {0|1}在只在本地操作,就可以了,可以先在备库执行,然后切换主备,在原主库再执行。然后在各个从库分别执行。考虑的变更操作的具体性,到底是先在主库执行还是先在从库执行要自己斟酌。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。