March 16, 2011
freebsd下修改mysql的默认数据目录datadir
"\u003cp\u003e以前用windows的时候,发现直接修改my.ini文件里的datadir变量就可以了,现在发现在FreeBSD下直接修改这个变量值不行的,进到mysql后,用命令mysql\u0026gt;show variables like ‘datadir’ 查看的时候还是默认的/var/db/mysql这个路径.在网上查了一些资料,正解方法如下.\u003c/p\u003e\n\u003cp\u003e数据目录为:/usr/local/mysql\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e运行/usr/local/bin/mysql_install_db –datadir=/usr/local/mysql –user=mysql\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003evi /etc/rc.conf,加入 mysql_enable=”YES”\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emysql_dbdir=”/usr/local/mysql”\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e启动myql,现在原来账户的信息全部丢失.(不知道如果把原来的数据全部复制到这里行不行的,没有测试!)\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e/usr/local/bin/mysqladmin -u root password ‘密码’\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e#mysql -u root -p\u003c/p\u003e\n\u003cp\u003e进入看一下\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eshow variables like “datadir”\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eOK, 出 …\u003c/p\u003e"
March 14, 2011
如何禁止搜索引擎蜘蛛爬行
"\u003cp\u003e\u003cstrong\u003e方法一、robots Meta标签\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003erobots.txt是放在网站中,文件级的网络蜘蛛授权;而robots Meta标签是放在网页中,一般用于部分网页需要单独设置的情况下。两者的功能是一样的。\nMeta robots标签必须放在和之间,格式:\u003c/p\u003e\n\u003cp\u003econtent中的值决定允许抓取的类型,必须同时包含两个值:是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。共有4个参数可选,组成4个组合:\nindex,follow:允许抓取本页,允许跟踪链接。\nindex,nofollow:允许抓取本页,但禁止跟踪链接。\nnoindex,follow:禁止抓取本页,但允许跟踪链接。\nnoindex,nofllow:禁止抓取本页,同时禁止跟踪本页中的链接。\n以上1和4还有另一种写法:\nindex,follow可以写成all,如:\u003c/p\u003e\n\u003cp\u003enoindex,nofollow可以写成none,如:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e方法二、创建robots.txt文本\u003c/strong\u003e\n对于robots.txt文本的相关概念或者是协议我就不提了,主要是直接告诉大家这个文件的写法。\n文件应该同时包含2个 …\u003c/p\u003e"
March 10, 2011
负载均衡工具haproxy安装,配置,使用
"\u003cp\u003e\u003cstrong\u003e一,什么是haproxy\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eHAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二,安装haproxy\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e下载列表地址 \u003ca href=\"http://haproxy.1wt.eu/#down\"\u003ehttp://haproxy.1wt.eu\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ewget \u003ca href=\"http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz\" title=\"haproxy下载\"\u003ehttp://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e#tar zxvf haproxy-1.4.8.tar.gz\n#cd haproxy-1.4.8\n#uname -a //查看linux内核版本\n#make TARGET=linux26 PREFIX=/usr/local/haproxy\n#make install PREFIX=/usr/local/haproxy\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e三,配置haproxy\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003evi …\u003c/strong\u003e\u003c/p\u003e"
March 4, 2011
Linux下cache内存释放
"\u003cp\u003e/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段.也就是说可以通过修改/proc中的文 件,来对当前kernel的行为做出调整.那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存.操作如下:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[root@server test]# cat /proc/sys/vm/drop_caches\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e首先,/proc/sys /vm/drop_caches的值,默认为0\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[root@server test]# sync\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[root@server test]# echo 3 \u0026gt; /proc/sys/vm/drop_caches\n[root@server test]# cat /proc/sys/vm/drop_caches\n3\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e …\u003c/p\u003e"
March 3, 2011
JQuery中的ready和js中onload加载优先级问题
"\u003cp\u003eJQuery中的$(function(){})和js中onload,谁先加载?\u003c/p\u003e\n\u003cp\u003e在$(document).ready()执行时,整个DOM文档树已经解析完成,即各个DOM元素都已经可以访问了(但是对于某些元素的某些属性此时访问可能还不精确,如图片的宽度高度)。$(function(){})在根据需要放置位置,可能在ready之前,可以在其之后。\u003c/p\u003e\n\u003cp\u003eonload需要页面上所有的资源都加载上之后执行,而ready则是DOM文档树已经解析完成时,说ready比onload快最显著的是比如一个页面上有一个很大的图片,加载要好久,onload只有在图片加载完成之后执行,而ready不必等图片加载完成.\u003c/p\u003e\n\u003cp\u003e而且一些人所说的向document添加load事件 是完全不可能的。\u003c/p\u003e\n\u003cp\u003edocument准备之前是添加不进onload的,而且在document准备之后加onload是不会执行的。所以,document的onload只在html中声明有时才有用,动态加进去的一般是没用的。\u003c/p\u003e\n\u003cp\u003e因此要想实现页面加载时的loading效果,一般是在节点里面第一个位置添加div覆盖窗口,然后在或者onload里面把覆盖层移除。 …\u003c/p\u003e"
March 3, 2011
删除MySQL二进制日志的3种方法
"\u003cp\u003e\u003cstrong\u003e1.RESET MASTER\u003c/strong\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003e****可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2.PURGE MASTER LOGS\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e语法\nPURGE {MASTER | BINARY} LOGS TO ‘\u003cem\u003elog_name\u003c/em\u003e‘\nPURGE {MASTER | BINARY} LOGS BEFORE ‘\u003cem\u003edate\u003c/em\u003e‘\n用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e(1).用reset master命令删除所有日志,新日志重新从000001开始编号\u003c/p\u003e\n\u003cp\u003e(2).用purge master logs to ‘mysq-bin.*\u003cstrong\u003e*\u003c/strong\u003e’ 命令可以删除指定编号前的所有日志\u003c/p\u003e\n\u003cp\u003e(3).用purge master logs to before ‘YYYY-MM-DD HH24:MI:SS’命令可以删除’YYYY-MM-DD HH24:MI:SS’之前的产生的所有日志\u003c/p\u003e\n\u003cp\u003e(4).可以在my.cnf中指定–expire_logs_days=#,此参数设置了binlog日志 …\u003c/p\u003e\u003c/blockquote\u003e"
March 1, 2011
Proftpd配置文件参数详细解释
"\u003cp\u003e1、Proftpd如何限速和设置发呆退出?\u003c/p\u003e\n\u003cp\u003e可以使用:\nRateReadBPS RateReadFreeBytes\nRateWriteBPS RateWriteFreeBytes\n来限制下载和上载速度:\nRateReadBPS和RateWriteBPS限制下载和上载的速率\nRateReadFreeBytes和RateWriteFreeBytes限制当用户现在这么多数据量以后再进行限速,这样可以实现对于小文件不限速,而大文件限速。\nTimeoutIdle — 设置空闲连接超时时钟\nTimeoutLogin — 设置空闲登陆超时时钟\nTimeoutNoTransfer — 设置当没有数据传输时的超时时钟\nTimeoutStalled — 设置被阻塞的下载的超时时钟\u003c/p\u003e\n\u003cp\u003e2、proftpd如何实现磁盘限额\u003c/p\u003e\n\u003cp\u003e首先编译的时候指定–with-modules的时候要包含mod_quota。\u003c/p\u003e\n\u003cp\u003e然后在配置文件中使用:\nQuotas on\nQuotaCalc on\nDefaultQuota 8000\nQuotaBlockSize 1024\nQuotaBlockName kb\n就可以实现磁盘限额。其 …\u003c/p\u003e"
March 1, 2011
[教程]FreeBSD下安装proftpd带匿名登陆和使用MySQL用户验证的Quota磁盘限额安装教程
"\u003cp\u003e配置文件是根据原来版本的基础上修改的,所以有些指令可能默认配置文件里没有了,但并不影响使用。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e一.安装MySQL\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e安装教程请参考:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二.安装proftpd\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#cd /usr/ports/ftp/proftpd-mysql\n#make install clean\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2011/03/proftpd-mysql-quota.png\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/proftpd-mysql-quota.png\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e安装的时候会要求选择proftpd要安装的模块,选择好mysql和quota,其他的根据情况选择.这里系统默认安装的是proftpd-1.3.3d.tar.bz2.\u003c/p\u003e\n\u003cp\u003e配置系统自启动proftpd服务,用vi编辑/etc/rc.conf配置文件,在末尾加入一行:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eproftpd_enable=”YES”\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e三、创建ftp用户、用户组和目录设置\u003c/strong\u003e\n1、创建proftpd服务运行的用户和用户组(用于虚拟主机网站ftp用户)\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#pw groupadd FTPGRP -g 2001\n#pw adduser FTPUSR -u 2001 -g 2001 -d /var/ftp/haohtml -s /sbin/nologin\n#mkdir /var/ftp/haohtml\n#chown -R FTPUSR:FTPGRP …\u003c/p\u003e\u003c/blockquote\u003e"
February 28, 2011
Windows 和 Linux 下生成以当前时间命名的文件
"\u003cp\u003e在 Windows、Linux 操作系统,分别利用BAT批处理文件和Shell脚本,生成类似“20110228_082905.txt”以“年月日_时分秒”命名的文件。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWindows BAT批处理文件:\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e@echo off\nset time_hh=%time:~0,2%\nif /i %time_hh% LSS 10 (set time_hh=0%time:\u003cdel\u003e1,1%)\nset filename=%date:\u003c/del\u003e,4%%date:~5,2%%date:~8,2%_%time_hh%%time:~3,2%%time:~6,2%\necho test \u0026raquo; %filename%.txt\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eLinux Shell 脚本:\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#!/bin/sh\necho test \u0026raquo; $(date -d “today” +”%Y%m%d_%H%M%S”).txt\u003c/p\u003e\u003c/blockquote\u003e"
February 26, 2011
解决vsftpd虚拟用户没有chmod权限的问题
"\u003cp\u003e参考(已经修正),在下面搞了个ftp,结果发现vsftpd的虚拟用户无法获得chmod权限,后来找了找,解决办法如下:\u003c/p\u003e\n\u003cp\u003e修改配置文件\u003c/p\u003e\n\u003cp\u003e#让虚用户获得本地用户权限\nvirtual_use_local_privs=YES\n#开启chmod命令\nchmod_enable=YES\u003c/p\u003e"
February 22, 2011
“Xdebug MUST be loaded as a Zend extension in Unknown on line 0 “的解决办法
"\u003cp\u003e\u003cstrong\u003e解决方法:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e找到 php.ini 中的并修改如下:\u003c/p\u003e\n\u003cp\u003e写道\u003c/p\u003e\n\u003cp\u003e;extension=php_xdebug-2.1.0-5.2-vc6.dll\u003c/p\u003e\n\u003cp\u003ezend_extension_ts=”d:/AppServ\\php5\\ext\\php_xdebug-2.1.0-5.2-vc6.dll” //如果有其它提示,将”_ts”去掉就可以了\u003c/p\u003e\n\u003cp\u003exdebug 必须使用 zend_extension_ts 或者 zend_extension 来标明它是zend的扩展\u003c/p\u003e\n\u003cp\u003e写道\u003c/p\u003e\n\u003cp\u003e另:根据 PHP 版本,zend_extension 指令可以是以下之一:\u003c/p\u003e\n\u003cp\u003ezend_extension (non ZTS, non debug build)\u003c/p\u003e\n\u003cp\u003ezend_extension_ts ( ZTS, non debug build)\u003c/p\u003e\n\u003cp\u003ezend_extension_debug (non ZTS, debug build)\u003c/p\u003e\n\u003cp\u003ezend_extension_debug_ts ( ZTS, debug build)\u003c/p\u003e\n\u003cp\u003eZTS:ZEND Thread Safety\u003c/p\u003e\n\u003cp\u003e可通过phpinfo()查看ZTS是否启用,从而决定用zend_extension还 …\u003c/p\u003e"
February 22, 2011
“2004错误:无法打开服务器服务,服务器性能数据将不会被返回”的解决办法
"\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2011/02/c08446b4c04fd36b8ad4b2df.jpg\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/c08446b4c04fd36b8ad4b2df.jpg\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e服务器出现错误,一时摸不着头脑,google……..解决方法 : 修改注册表禁用PerfNet性能计数器,批处理如下\u003c/p\u003e\n\u003cp\u003ereg add HKLMSYSTEMCurrentControlSetServicesPerfNetPerformance /v “Disable Performance Counters” /t REG_DWORD /d 1 /f\u003cstrong\u003e相关文章:\u003c/strong\u003e\u003ca href=\"http://hi.baidu.com/newshow/blog/item/4a1869cb49e7a911bf09e6e6.html\"\u003ehttp://hi.baidu.com/newshow/blog/item/4a1869cb49e7a911bf09e6e6.html\u003c/a\u003e\u003c/p\u003e"
February 15, 2011
可伸缩性最佳实践:来自eBay的经验
"\u003cp\u003e摘自:\u003c/p\u003e\n\u003cp\u003e在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题。\u003c/p\u003e\n\u003cp\u003e在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量。如果说性能衡量的是每一工作单元所需的资源消 耗,可伸缩性则是衡量当工作单元的数量或尺寸增加时,资源消耗的变化情况。换句话说,可伸缩性是整个价格-性能曲线的形状,而不是曲线上某一点的取值。\u003c/p\u003e\n\u003cp\u003e可伸缩性有很多侧面——事务的方面、运营的方面、还有开发的方面。我们在改善一个Web系统的事务吞吐量的过程中学到了很多经验,本文总结了其中若 干关键的最佳实践。可能很多最佳实践你会觉得似曾相识,也可能有素未谋面的。这些都是开发和运营eBay网站的众人的集体经验结晶。\u003c/p\u003e\n\u003ch3 id=\"最佳实践-1按功能分割\"\u003e最佳实践 #1:按功能分割\u003c/h3\u003e\n\u003cp\u003e相关的功能部分应该合在一起,不相关的功能部分应该分割开来——不管你把它叫做SOA、功能分解还是工程秘诀。而且,不相关的功能之间耦合程度越松散,就越能灵活地独立 …\u003c/p\u003e"
February 14, 2011
CentOS 5.5 防火墙开启、关闭以及开放指定端口
"\u003cp\u003e之前有讲过公司新买的服务器使用的是CentOS 5.5,部署好Tomcat之后却发现输入114.80.\u003cem\u003e.\u003c/em\u003e:8080(即ip:8080)却无法显示Tomcat默认的首页。因为以前部署在Win Server的VPS,Linux开发时也只用到localhost,所以就有点头大。\u003c/p\u003e\n\u003cp\u003e好吧,G一下网上有说是防火墙的问题,敲入\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e/etc/init.d/iptables stop\u003c/strong\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e关闭之后再次查看114.80.\u003cem\u003e.\u003c/em\u003e:8080(即ip:8080)发现果然成功。但是貌似安全隐患大大增加……使用\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e/etc/init.d/iptables status\u003c/strong\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e查看防火墙信息,可以看到打开的端口。那么我们把需要使用的端口打开应该是一个比较可行的办法了,命令如下:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT\u003c/strong\u003e #8080为指定端口\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e/etc/init.d/iptables restart\u003c/strong\u003e #重启防火墙以便改动生效,当然如果不觉得麻烦也可重启系统(命令:reboot)\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e/etc/rc.d/init.d/iptables save\u003c/strong\u003e #将更改进行保存\u003c/p\u003e\n\u003cp\u003e当然了,还 …\u003c/p\u003e"
February 14, 2011
SQL 的 MASTER到MASTER的主主循环同步
"\u003cp\u003e注意在进行配置前,请确保相应的3306端口可以端口: \u003ca href=\"http://blog.haohtml.com/archives/7726\"\u003ehttp://blog.haohtml.com/archives/7726\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e刚刚抽空做了一下MYSQL 的主主同步。\n把步骤写下来,至于会出现的什么问题,以后随时更新。这里我同步的数据库是TEST\n\u003cstrong\u003e1、环境描述。\u003c/strong\u003e\n主机:192.168.0.231(A)\n主机:192.168.0.232(B)\nMYSQL 版本为5.1.21\n\u003cstrong\u003e2、授权用户。\u003c/strong\u003e\nA:\nmysql\u0026gt; grant replication slave,file on *.* to ‘repl1’@’192.168.0.232’ identified by ‘123456’;\nQuery OK, 0 rows affected (0.00 sec)\u003c/p\u003e\n\u003cp\u003emysql\u0026gt; flush privileges;\nQuery OK, 0 rows affected (0.00 sec)\nB:\nmysql\u0026gt; grant replication slave,file on *.* to ‘repl2’@’192.168.0.231’ identified by ‘123456’; …\u003c/p\u003e"