RSS feed 

文章分类:‘技术’  列表 ]

2011-10-25 13:42 by TomorrowMan | 分类: php, web服务器, 技术 | 评论

今天改客户的一个需求,要上传大文件,按以往经验,在php.ini中设置以下几处:
file_uploads on 开启上传
upload_max_filesize 128m 上传文件最大值
post_max_size 128m PHP的POST的最大值
由于文件大,上传时间可能会长,还需设置以下:
max_execution_time 1800 页面运行时间 0为无限制
max_input_time 1800 接受数据时间
memory_limit 128m php单页面占用内存

设置好后,测试,依然不能上传大文件。
在nginx.conf中查看,看到 client_max_body_size 8m; 修改为128m,测试,OK!

2011-06-16 14:44 by TomorrowMan | 分类: 技术, 数据库, 网海拾贝 | 评论

转自:http://www.koven.org/archives/203.html
设置MySQL数据同步(单向&双向)

一、准备服务器

由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。

本文中,我们假设主服务器(以下简称Master)和从服务器(以下简称Slave)的版本都是5.0.27,操作系统是RedHat Linux 9。

假设同步Master的主机名为:A(IP:192.168.0.1),Slave主机名为:B(IP:192.168.0.2),2个MySQL的basedir目录都是/usr/local/mysql,datadir都是:/var/lib/mysql。

二、设置同步服务器

1、设置同步Master

修改 my.cnf 文件,在
# Replication Master Server (default)
# binary logging is required for replication
添加如下内容:
log-bin=/var/log/mysql/updatelog
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql

重启MySQL,创建一个MySQL帐号为同步专用

GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.2 IDENTIFIED BY 'back' ;
FLUSH PRIVILEGES ;

2、设置同步Slave

修改my.cnf文件,添加
server-id = 2
master-host = 192.168.0.1
master-user = back
master-password = back
master-port = 3306

replicate-ignore-db=mysql
replicate-do-db=test

重启MySQL

3、启动同步

在主服务器A MySQL命令符下:
show master status;
显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 313361 | test | mysql |
+------------------+----------+-------------------+------------------+

在从服务器A MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028′,MASTER_LOG_POS=313361;
slave start;

用show slave status\G;看一下从服务器的同步情况
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果都是yes,那代表已经在同步

往表里面写点数据测试一下看是否同步成功,如果不成功,绝对不是你的RP问题,再检查一下操作步骤!

4、设置双向同步

修改B服务器的my.cnf,添加
log-bin=/var/log/mysql/updatelog
binlog-do-db=test
binlog-ignore-db=mysql

重启MySQL,创建一个MySQL帐号为同步专用

GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.1 IDENTIFIED BY 'back' ;
FLUSH PRIVILEGES ;

修改A服务器的my.cnf,添加
master-host = 192.168.0.2
master-user = back
master-password = back
master-port = 3306

replicate-ignore-db=mysql
replicate-do-db=test

重启MySQL

在主服务器B MySQL命令符下:
show master status;
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 13753 | test | mysql |
+------------------+----------+-------------------+------------------+

在服务器A MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028′,MASTER_LOG_POS=13753;
slave start;

其实也就是A->B单向同步的反向操作!双向同步,就这么简单啦!

2011-01-12 14:30 by TomorrowMan | 分类: Linux, web服务器, 技术 | 评论

更改已安装apache和mysql的服务器环境,变更为nginx
笔记:
1、更改已有mysql的数据库文件路径:
停止mysql服务
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
拷贝或者转移数据库文件至你的新文件夹

cp -rpf /usr/local/mysql/var/* /data/mysql/
chown -R mysql:mysql /data/mysql

修改my.cnf
vi /etc/my.cnf
socket = /data/mysql/mysql/mysql.sock 或 /tmp/mysql.sock(默认)
修改MySQL启动脚本
vi /etc/init.d/mysqld
修改datadir=/data/mysql
重启

/etc/init.d/mysqld restart
reboot

2、停用apache
查看运行的程序 ps -ef
停止apache

/usr/local/apache/bin/apachectl stop
或 service httpd stop

停用开机启动命令:chkconfig
或者修改 /etc/rc.d/rc.local

3、按照http://blog.s777n.net/centos5-nginx-php-mysql/ 来下载安装包进行安装(省略mysql的编译安装)。

查看用户 /etc/passwd

2010-09-11 12:25 by TomorrowMan | 分类: 其他, 技术 | 评论(1)

在win7 32位安装成功。
工具:
VMware Workstation 7.0
MAC OS X Snow Leopard 10.6
Darwin或Rebel EFI引导光盘ISO镜像文件
VMDRIVERS(虚拟机声卡显卡驱动)

安装:
1、确保你的cpu支持虚拟化技术,并且在BIOS中打开虚拟技术VT
2、安装VM,新建虚拟机。选择操作系统:Other->FreeBSD 64-bit,内存1G+,硬盘15G+。
3、创建完成后,在Hardware中,选择CD/DVD,点击Advanced,设置为SCSI,删除软驱,关闭VM,在你创建的虚拟机目录下找到.vmx的文件,记事本编辑,将guestOS = "freebsd-64" 修改为:guestOS = "darwin10" ,此步必须!!!否则将无法安装!
4、用光驱加载Rebel EFI引导系统,直到提示插入mac系统盘,再加载macos10,完成后不管提示失败成功,再将光驱再加载Darwin,关闭重启
5、启动后,安装VMTOOLS(在Darwin中)
6、将VMDRIVERS解压,并把此文件夹设为虚拟机的共享文件夹(在虚拟机中Options设置Shard folders)。
7、去虚拟机中将驱动文件拷贝后,安装声卡(EnsoniqAudioPCI 2.mpkg)显卡(先加压vmsvga2.pkg.zip)驱动。
ok,完成

2010-08-24 17:36 by TomorrowMan | 分类: 技术, 数据库 | 评论

如果在mysql中使用字符集为utf8,想要对中文字段用order by chinese_field 排序,那么出来的顺序并不是按照拼音排序的,不是我们想要的结果。
解决方法:
1、改变字符编码为gbk。 :D DD
2、不想改变编码的话,可以用如下方法:
对中文字段使用gbk编码排序:
SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ;

当然这需要你安装mysql时安装了gbk字符集,不然会报错:#1115 - Unknown character set: 'gbk'

2010-06-08 17:14 by TomorrowMan | 分类: Linux, 技术 | 评论

在centos 5 下配置rsync笔记。

安装:

yum install -y rsync xinetd

查看安装:

rpm -ql rsync

修改:

vi /etc/xinetd.d/rsync
disable=no

阅读全文»

2010-05-06 13:48 by TomorrowMan | 分类: 其他, 技术 | 评论

ecms下需要显示指定栏目30天以内的文章点击排行,查资料,最终实现:

[e:loop={'select * from [!db.pre!]ecms_news Where checked=1 AND newstime>=(UNIX_TIMESTAMP()-86400*30) AND classid in (103,55,56,34,35,91,92) ORDER BY onclick DESC, id DESC LIMIT 10',10,24,0}]
<li><span <? if($bqno<=3){echo ' class="front"';}else{echo ' class="follow"';} ?>>< ?=$bqno?></span><a href="<?=$bqsr[titleurl]?>" title="< ?=$bqr[title]?>" target=_blank>< ?=esub($bqr[title],36)?></a> </li>
[/e:loop]

阅读全文»

2010-04-27 16:44 by TomorrowMan | 分类: 技术, 数据库 | 评论

新建了一个库,默认编码。
再导入utf8编码的表和数据。
读取乱码,查了半天,修改php页面,改sql文件的编码,还是解决不了,最后竟然是建库的时候没有设置utf8的编码。记录之 阅读全文»

2010-04-23 18:11 by TomorrowMan | 分类: 其他, 技术 | 评论

开启FMS服务器的debug功能:
fms的程序调试是很头疼的事情,开启debug之后,就可以在日志中查到你trace的信息。
编辑 fms安装目录/conf/_defaultRoot_/_defaultVHost_/Application.xml 阅读全文»

2010-04-20 14:06 by TomorrowMan | 分类: Linux, 其他, 技术 | 评论

fms3.5 在centos5.3上安装成功,记录以下过程。

下载安装包,从adobe官网下载的最新版本的开发版,注册个帐号即可。

上传到服务器,解压安装:

tar -xzf FlashMediaServer3_5.tar.gz
cd FMS_3_5_1_r516
./installFMS -platformWarnOnly

阅读全文»