服务器架构一些软件官方网站备忘(保持更新)

Devel Notes No Comments »

经常要关注一下服务器架构一些软件的最新动态,下载最新稳定版本测试,网址过多做个记录说明方面自己查询。

今天被MySQL的sql_mode折腾了

Devel Notes No Comments »

        只能说自己学艺不精对SQL服务器模式没有很好的认识,应该把MySQL手册从头到尾的啃一遍。
        事情起因是今天调试一程序在注册用户环节始终不成功,一看程序发现SQL是程序DB类自动构建的insert语句,例如:

USERS表结构:
CREATE TABLE `USERS` (
  `uid` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  `username` CHAR(15) NOT NULL DEFAULT ”,
  `password` CHAR(32) NOT NULL DEFAULT ”,
  PRIMARY KEY (`uid`),
  UNIQUE KEY `username` (`username`),
) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

insert语句:
INSERT INTO USERS (uid, username, password) VALUES (”, ‘test’, ‘6b649039a388694c7306cb4d14041a14′)

看到这条insert语句想起第一次看到这样的语句是在Disduz论坛程序主题帖子复制功能的代码里,USERS表的uid是自增列insert语句的值给的空也可以生成下一个序列号。在今天调试程序里执行此insert语句时一直报错

Incorrect integer value: ” for column ‘uid’ at [...]

无法编译sqlrelay对mysql支持的问题

FreeBSD/Linux/Server No Comments »

        一直看到网上有文章介绍sqlrelay+mysql实现连接池及读写负载均衡,今天有时间研究一把准备用它来改善论坛负荷大访问慢的问题。一直按照这篇教程编译安装以前也写过一篇笔记记录在freebsd编译安装的过程并没有碰到什么问题,今天在CentOS 5.2 64bit下进行编译时出现找不到mysql相关文件,重新configure发现在检查mysql相关文件时全部为no并设置mysql include目录为/usr/include/mysql这时就知道configure里检测不到mysql相关文件,但我明明已经安装了mysql-5.1.31在/usr/local/mysql为什么configure找到的是/usr/include/mysql目录,研究了一下configure是在系统默认路经(/bin:/usr/bin:/usr/local/bin)找mysql_config来确定mysql所安装的目录,试着执行了mysql –version一下得到版本为mysql-5.0.45-7.el5发现不对我明明安装的是mysql-5.1.31怎么会变成mysql-5.0.45-7.el5,回想前段时间用python写脚本连接mysql处理一些数据yum安装MySQLdb会依赖mysql-5.0.45-7.el5。

在Win2003配置IIS+PHP CGI方式的问题

Devel Notes No Comments »

今天在Win2003系统里配置IIS6.0里用CGI方式运行PHP碰到一个问题,记得以前配置的时候好像没有磁到类似的问题,错误如下:
 
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.
查找一些相关资料需要在php.ini中设置cgi.force_redirect的值为0来解决此问题,php.ini里给的说明
cgi.force_redirect = On
; 是否打开cgi强制重定向。强烈建议打开它以为CGI方式运行的php提供安全保护。
; 你若自己关闭了它,请自己负责后果。
; 注意:在IIS/OmniHTTPD/Xitami上则必须关闭它!
参考文档:
http://php.chinaunix.net/manual/zh/faq.installation.php#faq.installation.forceredirect
http://www.phpe.net/manual/ini.sect.path-directory.php

编译PHP扩展遇到autoconf版本问题

Devel Notes No Comments »

今天在装的FreeBSD 7.2-RELEASE虚拟机配置PHP测试环境编译xdebug的时候碰到一个奇怪的问题,在执行完phpize后会提示一大堆的警告

configure.in:158: warning: AC_CACHE_VAL(lt_prog_compiler_static_works, …): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from…
../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from…
aclocal.m4:3555: AC_LIBTOOL_LINKER_OPTION is expanded from…
aclocal.m4:5493: _LT_AC_LANG_C_CONFIG is expanded from…
aclocal.m4:5492: AC_LIBTOOL_LANG_C_CONFIG is expanded from…

Mysql主从复制碰到(server_errno=1236)解决过程

Devel Notes 1 Comment »

今天上论坛发现新发表的帖子无法正常显示(论坛数据库采用Mysql主从复制进行读写分离方案),马上想到可能主从复制同步上出现问题,同一时间收到同事消息说数据库的主复制出现故障重启了,这时找到事故原因主数据库重启了会导致从数据库数据复制同步上延后,过一段时间SSH到从数据库上show slave status\G;查看状态显示

     Slave_IO_Running: NO
    Slave_SQL_Running: Yes

           Last_Errno: 0
           Last_Error:

Seconds_Behind_Master: NULL

从状态信息来看数据同步没有延后也没有报任何的错误,但Slave_IO_Running: NO显示同步IO进程失败。根据以往经验会先重启一下Slave后在show slave status\G;看一下是否会恢复正常,Slave_IO_Running: NO问题还是没有解决于是查看一下Mysql的错误日志发现

090605  9:13:20 [Note] Slave SQL thread initialized, starting replication in log ‘mysql-bin.000102′ at position 1029244974, relay log ‘./xxx-relay-bin.000634′ position: 98
090605  9:13:20 [Note] Slave I/O thread: connected to master ’slave163@192.168.0.131:3306′,  replication started [...]

在Nginx实现UCenter Home的Rewrite规则

Devel Notes No Comments »

        location / {
            #rewrite ^/(\d+)/(.+)/ /$2?id=$1 last;
            rewrite ^/uchome/(space|network)\-(.+)\.html$ /uchome/$1.php?rewrite=$2 last;
            rewrite ^/uchome/(space|network)\.html$ /uchome/$1.php last;
            rewrite ^/uchome/([0-9]+)$ /uchome/space.php?uid=$1 last;
        }
以上Rewrite规则在nginx/0.7.30上测试通过,规则中UCenter Home安装在/uchome目录中可根据目录不同做更改。
参考文章:
http://blog.c1gstudio.com/archives/434

关于amoeba会乱码的理解

Devel Notes 1 Comment »

今天测试了一下amoeba-mysql-0.32在Windows 2003的搭建过程,用MySQL-5.1.30-Win32做好了主从复制并在amoeba中做好了读写分离的配置,将已经安装好的Discuz论坛改为连接amoeba服务器(192.168.0.10:8066)的时候页面显示全为乱码。在网上找到http://hi.baidu.com/hlxwell/blog/item/ea0d445913af102d2834f0d5.html这里说需要将Discuz改为 set names gbk,因为Discuz不是用的set names来解决MySQL字符集的问题,加了之后果然能正常显示。
分析了amoeba的日志和源代码了解到amoeba初始化连接到MySQL的时候是“set client charset=utf8”采用utf-8的字符串,当然客户端连接到amoeba的时候会根据客户端的字符集重新设置连接MySQL的字符集。比如我本地环境php-5.2.6-Win32连接amoeba的时候判断MySQL client的字符集为latin1,amoeba就会执行“ set names latin1”中文无法正常显示估计和libmysql.dll这个文件有关。
在FreeBSD 7.x的PHP运行环境测试Discuz论坛则一切正常我记得我记得编译PHP的时候先得安装MySQL做为PHP的MySQL client,编译MySQL默认使用了GBK字符集,现在明白全用–with-charset=gbk –with-collation=gbk_chinese_ci参数这里所指定的字符集将决定你的PHP的MySQL client的字符集,之前说过amoeba会根据客户端的字符集重新设置连接MySQL的字符集。

FreeBSD使用CVSup升级Ports笔记

Devel Notes No Comments »

google了一下了解到CVSup升级有两种:
一个是 /usr/ports/net/cvsup/
另一个是(无图版)/usr/ports/net/cvsup-without-gui
这里我只说cvsup-without-gui的安装与配置使用

[转]使用163开源镜像升级你的Centos

FreeBSD/Linux/Server No Comments »

由于我的yum升级速度一直不太理想,今天发现163提供了centos的开源镜像,在此首先感谢163对国内开源事业的贡献。
代码:

#cd /etc/yum.repos.d/
#cp -a CentOS-Base.repo CentOS-Base.repo.bak
#vim CentOS-Base.repo

CentOS-Base.repo内容如下
代码:

# CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this [...]

Nginx负载均衡服务器

FreeBSD/Linux/Server No Comments »

Nginx负载均衡服务器的相关配置教程
ref:http://code.google.com/p/scriptz/wiki/NginxServer


Copyright © 2007 LY’Blog~~blog.ly5.org~~. All rights reserved.
粤ICP备08128363号 点击给我留言