Archive for the ‘Mysql’ Category
Debian 6(Squeeze)安装 Nginx + PHP5 + PHP-FPM + MySQL(一)
Debian 6(Squeeze)终于发布正式版,很让人兴奋,ramhost的技术也很牛,马上出了debian6的系统镜像,第一时间换上,系统初始化,然后是开始经典的nginx+php+mysql网站架构的安装,let’s go!
1:增加源,支持php5-fpm
vi /etc/apt/sources.list
增加以下源
deb http://packages.dotdeb.org stable all
修改保存后
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
rm dotdeb.gpg
apt-get update
2:安装 MySQL 5
apt-get install mysql-server mysql-client
在弹出的页面输入2次密码
修改mysql配置文件,去掉innodb,这样可以节省不少内存
vi /etc/mysql/my.cnf
增加下面语句
skip-innodb
保存后,mysql重启一下就生效
3:安装Nginx+php+php5-fpm+memcache
apt-get install php5-cgi php5-mysql php5-gd php5-imagick php5-mcrypt php5-memcache memcached php5-fpm php5-cli nginx
安装成功后,rcconf 把多余的服务x11-common去掉
mkdir /var/www
chown www-data:www-data /var/www
修改memcache的端口和内存大小
vi /etc/memcached.conf
vi /etc/php5/cgi/php.ini
修改下面这句
cgi.fix_pathinfo=1
我的是512M的vps,所以修改php-fpm的配置文件
vi /etc/php5/fpm/pool.d/www.conf
pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500
大家也可以根据自己服务器的条件和实际负载需要进行调整
修改nginx的配置文件
vi /etc/nginx/sites-available/default
添加:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
保存后,重启nginx
/etc/init.d/nginx restart
写一个测试php页面
如果能正常显示那页面,那就大功告成
如果你想手工编译nginx+php+fpm,请参考我的另外一篇指导文章
http://www.5ilinux.com/2011/12/nginx-php-mysql-zendoptimizer.html
MYSQL的master/slave数据同步配置
关于mysql的主辅备份,曾经的作品,原以为丢失了,不想今天整理服务器,又发现,虽然有点老旧,但还是你能给新手带来思路,大家仅作参考,新的版本估计有更好的配置方式
我的测试环境.基本上数据是瞬间同步,希望对大家有帮助 redhat 9.0 mysql3.23.57 mysql数据同步备份 A服务器: 192.168.1.2 主服务器master B服务器: 192.168.1.3 副服务器slave A服务器设置 #mysql –u root –p mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY ‘1234’; mysql>\exit 上面是Master开放一个账号backup密码1234给IP:192.168.1.3有档案处理的权限 mysqladmin –u root –p shutdown 备份Master所有数据库..通常都用tar指令. #tar –cvf /tmp/mysql.tar /var/lib/mysql 注意:tar的时候,MySQL是要在stop情况下 在A机器上修改/etc/my.cnf 在[mysqld]区段内加入参数 log-bin server-id=1 sql-bin-update-same binlog-do-db=vbb 重启A服务器mysql 此时因为有加入log-bin参数,因此开始有index产生了,在/var/lib/mysql目录下有.index档案纪录数据库的异动log. B服务器设置 设定/etc/my.cnf 在[mysqld]区段加入 master-host=192.168.1.2 master-user=backup master-password=1234 master-port=3306 server-id=2 master-connect-retry=60 预设重试间隔60秒 replicate-do-db=vbb 告诉slave只做vbb数据库的更新 log-slave-updates 将A上的mysql.tar copy到B上 用ftp传B的/tmp 9.解压缩 #cd /var/lib/ 状况测试 1.A跟B网络及服务都正常情况下,由A端变化数据后,到B端浏览数据,检视是否有进行replication?! 2.模拟B当机,或是B不一定需要一直跟A有连接. 将由A端变化数据后,到B端浏览数据,B点应该是没有数据变化的 #tar xvf /tmp/mysql-snapshot.tar #chown –R mysql:mysql mysql 1重启B服务器的mysql 这时在/var/lib/mysql目录会出现master.info,此档案纪录了Master MySQL server的信息. 状况测试 1.A跟B网络及服务都正常情况下,由A端变化数据后,到B端浏览数据,检视是否有进行replication?! 2.模拟B当机,或是B不一定需要一直跟A有连接. 将由A端变化数据后,到B端浏览数据,B点应该是没有数据变化的 作者:张微波 2003-08-06 于北京