<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>夜行人</title>
	<atom:link href="http://www.187299.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.187299.com</link>
	<description>寻觅生命中的那一片浅草......</description>
	<lastBuildDate>Fri, 05 Mar 2010 03:08:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>使用mysqldump線上備份InnoDB</title>
		<link>http://www.187299.com/archives/1493</link>
		<comments>http://www.187299.com/archives/1493#comments</comments>
		<pubDate>Fri, 05 Mar 2010 03:08:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1493</guid>
		<description><![CDATA[用 mysqldump 做線上即時備份，通常 InnoDB 的資料只有出現1~2筆，如果要儘可能把完整的資料匯出，可以加上 --single-transaction，備份前 mysqldump 會先執行 BEGIN ，取得 READ LOCK 後，便能確定資料在執... ]]></description>
			<content:encoded><![CDATA[<p>用 mysqldump 做線上即時備份，通常 InnoDB 的資料只有出現1~2筆，如果要儘可能把完整的資料匯出，可以加上 --single-transaction，備份前 mysqldump 會先執行 BEGIN ，取得 READ LOCK 後，便能確定資料在執行 mysqldump 的過程中不會受到其它連線對 InnoDB 存取的干擾，也能 Dump 出較完整的資料。(使用此參數需有 READ LOCK 權限)</p>
<p>mysqldump --single-transaction --all-databases &gt; all_db.sql</p>
<p>注意:<br />
1.表單較大時可以加上 --quick<br />
2.MySQL Cluster 不支援 --single-transaction</p>
<p>然而使用 --single-transaction 時最好搭配 --flush-logs 及 --master-data 來維持 Binary Log 的完整性。(使用這二個參數皆需有 RELOAD 權限)</p>
<p>mysqldump --single-transaction --flush-logs --master-data --all-databases &gt; all_db.sql</p>
<p>Binary Log 採用的是遞增備份，--flush-logs 便是把目前的 Binary Log 給 flush 出來 (若目前 MASTER_LOG_FILE 已經到 mysql-bin.000005，產生出來的檔案便是 mysql-bin.000006)，完成之後才進行 Dump 的作業。</p>
<p>而 --master-data (預設值為1) 則是在 Dump 出來的 SQL 語法中加入下面這一行，以記錄目前 Dump 的時間點。</p>
<p>CHANGE MASTER TO MASTER_LOG_FILE=mysql-bin.000006',MASTER_LOG_POS=4;</p>
<p>如果在未來執行匯入時 SQL 語法時， MySQL 便能很清楚的知道這次 Dump 出來的 SQL 在 Binary Log 中是屬於哪個位置。</p>
<p>註: 若不需理會 Binary Log 的位置時 (例如進行完整備份作業)，只要將 --master-data 設為 2 便會將 CHANGE MASTER 給註解起來純供參考用。</p>
<p>转载自：<a href="http://www.neo.com.tw/archives/1122" target="_blank">http://www.neo.com.tw/archives/1122 </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1493/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用VI client访问Vmware server 2.0</title>
		<link>http://www.187299.com/archives/1490</link>
		<comments>http://www.187299.com/archives/1490#comments</comments>
		<pubDate>Mon, 01 Mar 2010 02:39:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1490</guid>
		<description><![CDATA[自从Vmware server升级到2.0之后，它就只提供网页的访问方式，也就是通过浏览器，使用8333端口进行访问。网页管理方式不需要安装任何附加软件，但也有不方便的一面，或者说使用不习惯的一面... ]]></description>
			<content:encoded><![CDATA[<p>自从Vmware server升级到2.0之后，它就只提供网页的访问方式，也就是通过浏览器，使用8333端口进行访问。网页管理方式不需要安装任何附加软件，但也有不方便的一面，或者说使用不习惯的一面。比如说我想设置某系统属性，自然而然的就想到右键鼠标去找属性。并且相比程序客户端，网页界面缺少系统状态监控报表，Console也需要安装插件。<br />
后来偶然发现，Vmware Infrastructure Client可以访问并管理Vmware server 2.0版本（Vmware Infrastructure Client是Vmware ESX的管理客户端）。<br />
首先VI Client需要升级到2.5.0，试过2.0不行。Vmware VI client网上我没能找到，我从最新ESX中提取出来，并提供如下：<br />
Discover Simple, Private Sharing at Drop.io</p>
<p>Save File: VMware-viclient.zip<br />
安装后，使用http链接接口作为登录IP，默认为 IP:8333，如下：用户名，密码一般为NT账户。</p>
<p>这样，免费的Vmware Server也能享受到ESX的待遇。</p>
<p>http://cooldoger.spaces.live.com/blog/cns!452276F513D2D37A!202.entry</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1490/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>windows下启动cygwin的cron</title>
		<link>http://www.187299.com/archives/1486</link>
		<comments>http://www.187299.com/archives/1486#comments</comments>
		<pubDate>Tue, 23 Feb 2010 12:30:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cygwin]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1486</guid>
		<description><![CDATA[windows下启动cygwin的cron
windows 的计划任务管理 taskschedule 实在太不合我口味了，老早以前就搜过 windows 下的 cron 实现，找到一个运行不怎么稳定，莫名其妙的崩溃。老早以前用 cygwin 的时候，以 l... ]]></description>
			<content:encoded><![CDATA[<p>windows下启动cygwin的cron<br />
windows 的计划任务管理 taskschedule 实在太不合我口味了，老早以前就搜过 windows 下的 cron 实现，找到一个运行不怎么稳定，莫名其妙的崩溃。老早以前用 cygwin 的时候，以 linux 的思维方式， crontab -e 制定完任务以后，发现怎么也执行不了。</p>
<p>前阵子又进一步了解了 cygwin ，原来还需要启动一个服务才能够搞定 cron 。cygwin 下不仅仅是 cron 需要以 windows 服务的方式启动，消息队列、共享内存以及信号量等进程间通信方式也需要以 windows 服务方式启动 cygserver 以后才可用。除了 cron 包，还需要确认 cygrnsrv 包已经安装：</p>
<p># 安装 cron 服务<br />
cygrunsrv -I cron -p /usr/sbin/cron -a -D<br />
# 启动服务: 也可以用 windows 的启动方式 net start cron<br />
cygrunsrv -S cron</p>
<p># 启动 cygserver<br />
cygrunsrv -I cygserver -p /usr/sbin/cygserver -e "CYGWIN=server"</p>
<p>启动 cron 以后，即使关闭 cygwin 命令窗口，crond 还是会继续运行 :) ，而且默认是自动启动的服务，重启机器以后依然运行—不需要开 cygwin 窗口。</p>
<p>如果用于运行cron的用户是有密码的</p>
<p>则需要用</p>
<p>cron-config来进行初始化配置</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1486/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux不重启更新网卡驱动</title>
		<link>http://www.187299.com/archives/1483</link>
		<comments>http://www.187299.com/archives/1483#comments</comments>
		<pubDate>Tue, 23 Feb 2010 12:20:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1483</guid>
		<description><![CDATA[安装驱动
rpm -Uvh netxtreme2-5.0.17-1.x86_64.rpm
写个脚本
vi ff.sh
rmmod  bnx2
modprobe bnx2
sh ff.sh
这样就更新网卡驱动了... ]]></description>
			<content:encoded><![CDATA[<p>安装驱动<br />
rpm -Uvh netxtreme2-5.0.17-1.x86_64.rpm</p>
<p>写个脚本<br />
vi ff.sh<br />
rmmod  bnx2<br />
modprobe bnx2<br />
sh ff.sh<br />
这样就更新网卡驱动了</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1483/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>freebsd+nginx+php+mysql+zend+phpmyadmin+系统优化+防止ddos +傻瓜式ports安装法</title>
		<link>http://www.187299.com/archives/1480</link>
		<comments>http://www.187299.com/archives/1480#comments</comments>
		<pubDate>Tue, 23 Feb 2010 05:56:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1480</guid>
		<description><![CDATA[前言
1.    看了张宴的《linux版本的Nginx 0.5.33 + PHP 5.2.5》后，马上找了一台服务器测试了一下，然后加了一个线上的discuz的论坛跑了一下，性能非常的卓越，感叹搜遍整个互联网，就是nginx+php唯... ]]></description>
			<content:encoded><![CDATA[<p>前言<br />
1.    看了张宴的《linux版本的Nginx 0.5.33 + PHP 5.2.5》后，马上找了一台服务器测试了一下，然后加了一个线上的discuz的论坛跑了一下，性能非常的卓越，感叹搜遍整个互联网，就是nginx+php唯一的一篇文档。对于他的文档，我认为：写的非常专业，对于php extensions库也分析的非常透彻。但是一篇专业的文档，也存在一些专业带来的麻烦，就是起点有点高，假如要更新里面的软件包和定义自己的目录，势必需要一点波折。另外不知道为何，最近网站老是打不开。情急之下，小弟重新写了一篇freebsd下面的傻瓜式安装文档。<br />
2.    又结合了平时的一些经验，顺便把如何防卸ddos，并通过对系统的优化，如何来进一步提高nginx的并发数做 一些详解。<br />
3.    由于个人能力有限，错误的地方，还请读者谅解</p>
<p>一、安装软件前的准备<br />
系统的安装：插入freebsd6.2以上的光盘，最小化安装系统，同时安装好ports<br />
二、手动安装nginx+php<br />
1)        进入系统后，准备cvs更新：<br />
1.       cd /usr/ports/net/cvsup-without-gui<br />
2.       cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile<br />
3.       # vi /etc/ports-supfile<br />
将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为<br />
*default host=cvsup4.FreeBSDchina.org<br />
4.       更新ports<br />
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile<br />
2)        安装mysql<br />
#cd /usr/ports/databases/mysql51-server<br />
#make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean<br />
#cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf ##mysql的优化参数，也可以手动修改<br />
#rehash<br />
# mysql_install_db --user=mysql       ##初始化mysql<br />
#/usr/local/bin/mysqld_safe &amp;          ##启动mysql<br />
#/usr/local/bin/mysqladmin -u root password 'newpass' ##修改root密码，newpass是你需要改的密码<br />
关闭mysql可以使用mysqladmin -uroot -p shutdown<br />
3)        安装php<br />
#cd /usr/ports/lang/php5<br />
#make config ##配置编译参数<br />
[X] CLI        Build CLI version<br />
[X] CGI        Build CGI version<br />
[ ] APACHE     Build Apache module<br />
[ ] DEBUG    Enable debug<br />
[X]] SUHOSIN Enable Suhosin protection system<br />
[X] MULTIBYTE Enable zend multibyte support<br />
[ ] IPV6    Enable ipv6 support<br />
[ ] REDIRECT Enable force-cgi-redirect support (CGI only)<br />
[ ] DISCARD Enable discard-path support (CGI only)<br />
[X] FASTCGI Enable fastcgi support (CGI only)<br />
[X] PATHINFO Enable path-info-check support (CGI only)<br />
#make install clean<br />
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini ##cp php.ini配置文件<br />
4)        安装php5-extensions<br />
# cd /usr/ports/lang/php5-extensions/<br />
#make config<br />
Options for php5-extensions 1.1<br />
-------------------------------------------------<br />
[X] CURL        CURL support<br />
[X] FTP        FTP support<br />
[X] GD<br />
[X] GETTEXT<br />
[X] MBSTRING multibyte string support<br />
[X] MCRYPT    Encryption support<br />
[X] MYSQL<br />
[X] PCRE        Perl Compatible Regular Expression support<br />
[ ] POSIX //去掉.<br />
[ ] SQLITE //去掉.<br />
[X] ZIP       ZIP support<br />
[X] ZLIB<br />
# make install clean<br />
5)        安装Zend Optimizer<br />
#cd /usr/ports/devel/ZendOptimizer/<br />
#make                       #不要安装，只需要下载解包<br />
#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*<br />
#./install-tty             ##会出现一个文字的安装界面，只是最后一步，不要选择apache就可以了<br />
#vi /usr/local/etc/php.ini       #插入zend的路径，一般来说，上面的安装会自动加入下面的文字，假如没有，请手动添加。</p>
<p>[Zend]<br />
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0<br />
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0<br />
zend_optimizer.version=3.3.0a<br />
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so<br />
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so</p>
<p>小提示：安装zend，在freebsd下面，目前只有支持到php5.1.x，对于php5.2.x还不能支持，因为zend还没有为php5.2.x开发版本，在网上查了好多关于解决此类的问题，但得到的结果是，zend可以顺利安装，phpinfo也显示zend正常了，但程序无法调用，即zend没有工作，也就是目前无法解决，我想只有等到zend php5.2.x的版本后，才可以解决此问题，也希望哪位已经解决此类问题的兄弟，share一下你的经验。假如你非要使用zend，那就请你将php降到5.1.x，或者你不当心已经升级了ports，那建议你可以安装php4.x，毕竟目前php4.x还通用于大部分的环境<br />
6)        安装nginx<br />
#cd /usr/ports/www/nginx/<br />
#make install<br />
7)        安装lighttpd，为了得到fastcgi<br />
# cd /usr/ports/www/lighttpd/<br />
#make install<br />
#rehash<br />
8)        配置nginx<br />
#user nobody<br />
删除前面的注释#，改成 user www<br />
#log_format   main   '$remote_addr - $remote_user [$time_local] '<br />
#                   '"$request" $status $body_bytes_sent '<br />
#                   '"$http_referer" "$http_user_agent"';<br />
log_format   main   '$remote_addr - $remote_user [$time_local] '<br />
'"$request" $status $body_bytes_sent '<br />
'"$http_referer" "$http_user_agent"';<br />
##以上步骤，为了能够正常分析log的pv，hits，访问量，才设定的，默认的log格式，是无法准确分析出所需要的结果</p>
<p>location / {<br />
root /usr/local/www/nginx;<br />
index index.html index.htm;<br />
}<br />
在index.html前面添加一个index.php<br />
location / {<br />
root /data/web/www.jk0086.com/htdocs;<br />
index index.php index.html index.htm;<br />
}<br />
#location ~ \.php$ {<br />
# fastcgi_pass 127.0.0.1:9000;<br />
#           fastcgi_index index.php;<br />
#           fastcgi_param     SCRIPT_FILENAME     /scripts$fastcgi_script.name;<br />
# include    fastcgi_params;<br />
#}<br />
将前面的#去掉，修改为<br />
location ~ \.php$ {<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
fastcgi_param     SCRIPT_FILENAME     /usr/local/www/nginx$fastcgi_script_name;<br />
include    fastcgi_params;<br />
}<br />
##去掉注释，其实就是激活了nginx的fastcgi功能，也说明了nginx本身就已经准备用于fastcgi的环境中</p>
<p>9)        配置spawn-fcgi，就是一个启动fastcgi命令，使得nginx可以通过9000端口访问（纯粹个人理解-_-）<br />
参数说明：监听127.0.0.1的9000端口，进程数为64（如果服务器内存小于3GB，可以只开启25个进程），用户为www<br />
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -C 64 -f /usr/local/bin/php-cgi<br />
10)     这边请注意启动顺序，先启动fastcgi，再启动nginx<br />
Nginx.conf由于经常需要修改，即经常需要重启nginx，因此这边写了一个启动脚本，请查看：<br />
#!/usr/local/bin/bash<br />
case $1 in<br />
start)<br />
/usr/local/sbin/nginx<br />
;;<br />
stop)<br />
killall -9 nginx<br />
;;<br />
test)<br />
nginx -t -c /usr/local/etc/nginx/nginx.conf<br />
;;<br />
restart)<br />
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP<br />
;;<br />
show)<br />
ps -aux|grep nginx<br />
;;<br />
esac<br />
保存为nginx.sh使用方法为：<br />
nginx.sh start #启动nginx<br />
nginx.sh stop #停止nginx<br />
nginx.sh restart #重启nginx<br />
nginx.sh test #测试nginx.conf的准确性<br />
11)     安装phpMyAdmin<br />
#cd /usr/ports/databases/phpmyadmin<br />
#make install<br />
#mv /usr/local/www/phpmyadmin /data/web/ www.jk0086.com/htdocs/<br />
#cd /data/web/www.jk0086.com/htdocs/phpmyadmin<br />
#vi config.inc.php ##这边要说明一下，freebsd默认安装的phpmyadmin，里面配置文件有问题，需要手动修改，请修改成如下内容：</p>
<p>/* $Id: config.sample.inc.php 9689 2006-11-10 20:05:49Z nijel $ */</p>
<p>// vim: expandtab sw=4 ts=4 sts=4:</p>
<p>/**</p>
<p>* phpMyAdmin sample configuration, you can use it as base for</p>
<p>* manual configuration. For easier setup you can use scripts/setup.php</p>
<p>*</p>
<p>* All directives are explained in Documentation.html and on phpMyAdmin</p>
<p>* wiki .</p>
<p>*/</p>
<p>/*</p>
<p>* This is needed for cookie based authentication to encrypt password in</p>
<p>* cookie</p>
<p>*/</p>
<p>$cfg['blowfish_secret'] = 'asdf:LKJ'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */</p>
<p>/*</p>
<p>* Servers configuration</p>
<p>*/</p>
<p>$i = 0;</p>
<p>/*</p>
<p>* First server</p>
<p>*/</p>
<p>$i++;</p>
<p>/* Authentication type */</p>
<p>$cfg['Servers'][$i]['auth_type'] = 'cookie';</p>
<p>/* Server parameters */</p>
<p>$cfg['Servers'][$i]['host'] = 'localhost';</p>
<p>$cfg['Servers'][$i]['connect_type'] = 'tcp';</p>
<p>$cfg['Servers'][$i]['compress'] = false;</p>
<p>/* Select mysqli if your server has it */</p>
<p>$cfg['Servers'][$i]['extension'] = 'mysql';</p>
<p>/* User for advanced features */</p>
<p>// $cfg['Servers'][$i]['controluser'] = 'pam';</p>
<p>// $cfg['Servers'][$i]['controlpass'] = 'pampasswd';</p>
<p>/* Advanced phpMyAdmin features */</p>
<p>// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';</p>
<p>// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';</p>
<p>// $cfg['Servers'][$i]['relation'] = 'pma_relation';</p>
<p>// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';</p>
<p>// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';</p>
<p>// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';</p>
<p>// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';</p>
<p>// $cfg['Servers'][$i]['history'] = 'pma_history';</p>
<p>// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';</p>
<p>/*</p>
<p>* End of servers configuration</p>
<p>*/</p>
<p>/*</p>
<p>* Directories for saving/loading files from server</p>
<p>*/</p>
<p>$cfg['UploadDir'] = '';</p>
<p>$cfg['SaveDir'] = '';</p>
<p>?&gt;</p>
<p>以上只是一个配置文件，当你打开Phpmyadmin的时候，会提示你输入用户名密码，然后登陆数据库，相对比较安全的</p>
<p>三、系统优化+防止ddos<br />
1)        这个话题有点大，我相信我做的只是其中很小的一部分，同时很多人也会问我，是不是要编译内核，这边的回答是不需要编译任何内核，只需要copy文件，然后重启一下服务器就可以了。<br />
2)        加载文件修改<br />
# vi /boot/loader.conf #加入如下文本<br />
kern.dfldsiz="2147483648"             # Set the initial data size limit<br />
kern.maxdsiz="2147483648"             # Set the max data size<br />
kern.ipc.nmbclusters="0"        # Set the number of mbuf clusters<br />
kern.ipc.nsfbufs="66560"             # Set the number of sendfile(2) bufs<br />
##解释：<br />
a．   第一，第二行主要是为了突破1G内存设置的<br />
b．   第三行其实是bsd的一个bug，当系统并发达到一个数量级的时候，系统会crash，这个是非常糟糕的事情，所幸更改了这个参数后，在高并发的时候，基本可以没有类似情况，当然非常bt的情况，还得进一步想办法<br />
c．   第四行是读取的文件数，如果你下载的文件比较大，且比较多，加大这个参数，是非常爽的</p>
<p>3)        Sysctl修改<br />
#vi /etc/rc.local<br />
sysctl kern.ipc.maxsockets=100000 ##增加并发的socket，对于ddos很有用<br />
sysctl kern.ipc.somaxconn=65535     ##打开文件数<br />
sysctl net.inet.tcp.msl=2500       ##timeout时间</p>
<p>4)        通过上述的简单优化，会给你带来意外的惊喜，如果有兴趣的兄弟，可以尝试一下看看，绝无副作用。</p>
<p>四、其他<br />
1)        加速ports安装<br />
#vi /etc/make.conf     ##加入如下<br />
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/<br />
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/</p>
<p>2)        Freebsd颜色显示<br />
secureCRT设置:仿真:终端-&gt;linux&gt;勾选ANSI颜色--&gt;确定<br />
#vi /etc/csh.cshrc ##加入如下<br />
setenv LSCOLORS ExGxFxdxCxegedabagExEx<br />
setenv CLICOLOR yes<br />
#cd /usr/ports/edit/vim;make install<br />
#echo "syntax on"&gt;/root/.vimrc<br />
#echo "alias vi        vim" &gt;&gt;/root/.cshrc<br />
##颜色主要是靠vim来显示的，因此需要安装vim，然后把vi alias成vim就可以了<br />
3)        Other。。。。。。。。更新中</p>
<p>转载自：<br />
http://blog.chinaitlab.com/html/30/104830-166192.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1480/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>freebsd下nginx提示No input file specified错误的解决办法</title>
		<link>http://www.187299.com/archives/1478</link>
		<comments>http://www.187299.com/archives/1478#comments</comments>
		<pubDate>Tue, 23 Feb 2010 05:53:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.187299.com/archives/1478</guid>
		<description><![CDATA[修改/usr/local/etc/nginx/nginx.conf中的：
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
为：
fastcgi_param     SCRIPT_FILENAME     /usr/local/www/nginx$fastcgi_script_name;
/usr/local/www/nginx就是nginx的root所处路径。
转... ]]></description>
			<content:encoded><![CDATA[<p>修改/usr/local/etc/nginx/nginx.conf中的：<br />
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;<br />
为：<br />
fastcgi_param     SCRIPT_FILENAME     /usr/local/www/nginx$fastcgi_script_name;</p>
<p>/usr/local/www/nginx就是nginx的root所处路径。</p>
<p>转载自：http://freespace.javaeye.com/blog/505196</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1478/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>freebsd:Nginx+php+mysql:unknown &quot;fastcgi_script&quot; variable</title>
		<link>http://www.187299.com/archives/1475</link>
		<comments>http://www.187299.com/archives/1475#comments</comments>
		<pubDate>Tue, 23 Feb 2010 04:53:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1475</guid>
		<description><![CDATA[文章是参考别人的，本人是在原先lighttpd+fastcgi(php)+mysql环境下直接安装nginx，然后修改相关配置文件/usr/local/etc/nginx/nginx.conf
location / {
root    /usr/local/www/nginx;
转载自：http://hacker-piao.blog.163.com/blog... ]]></description>
			<content:encoded><![CDATA[<p>文章是参考别人的，本人是在原先lighttpd+fastcgi(php)+mysql环境下直接安装nginx，然后修改相关配置文件/usr/local/etc/nginx/nginx.conf</p>
<p>location / {</p>
<p>root    /usr/local/www/nginx;</p>
<p>转载自：http://hacker-piao.blog.163.com/blog/static/122505720091109483328/</p>
<p>index    index.php index.html index.htm;</p>
<p>}</p>
<p>location ~ \.php$ {</p>
<p>fastcgi_pass    127.0.0.1:9000;</p>
<p>fastcgi_index   index.php;</p>
<p>fastcgi_param     SCRIPT_FILENAME     /usr/local/www/nginx$fastcgi_script.name;#PHP文件所在目录</p>
<p>include      fastcgi_params;</p>
<p>}</p>
<p>本来是很简单的一个过程，启动的时候出现了问题，unknown "fastcgi_script" variable</p>
<p>然后只能把</p>
<p>fastcgi_param     SCRIPT_FILENAME     /usr/local/www/nginx$fastcgi_script.name;</p>
<p>修改成</p>
<p>fastcgi_param     SCRIPT_FILENAME     /usr/local/www/nginx;</p>
<p>启动时候是不报错了，但是访问PHP文件出错nginx No input file specified</p>
<p>结果在网上找了一堆资料搞了半天，很多提到php.ini里面的相关设置。</p>
<p>cgi.fix_pathinfo=1<br />
doc_root=</p>
<p>我把能试的都试了，还是不行。又有人说是PHP文件的在目录的权限问题，最后设置成777了还是不行。。。这下郁闷了，</p>
<p>汗死了。。。(就这样浪费了两个多小时)</p>
<p>最后突然发现有的文章</p>
<p>fastcgi_param     SCRIPT_FILENAME   这里用的是$fastcgi_script_name</p>
<p>然而我参考的很多文章用的却是$fastcgi_script.name</p>
<p>很可能出错就是在这里了。立马修改成$fastcgi_script_name</p>
<p>重启nginx果然没有报错，访问php文件也正常了。看来是一篇文章出错，然后接着一堆都跟着出错。。。所以今后得细心一点，因为一个小错误导致浪费这么多时间。</p>
<p>cd /usr/ports/www/nginx<br />
make install clean</p>
<p>echo 'nginx_enable="YES" &gt;&gt; /etc/rc.conf<br />
cd /usr/ports/lang/php5<br />
#选择支持 fastCGi<br />
make config<br />
make install clean<br />
cd /usr/ports/lang/php5-extensions/<br />
make config<br />
make install clean</p>
<p>#安装 spawn-fcgi</p>
<p>pkg_add -r -v lighttpd<br />
cd /usr/local/bin/<br />
cp spawn-fcgi ../<br />
# 找到安装的版本<br />
pkg_info<br />
# 删除掉lighttpd<br />
pkg_delete lighttpd-1.4.18_1<br />
cp ../spawn-fcgi spawn-fcgi</p>
<p>/usr/local/etc/nginx/nginx.conf</p>
<p>location / {</p>
<p>root    /usr/local/www/nginx;</p>
<p>index    index.php index.html index.htm;</p>
<p>}</p>
<p>location ~ \.php$ {</p>
<p>fastcgi_pass    127.0.0.1:9000;</p>
<p>fastcgi_index   index.php;</p>
<p>fastcgi_param     SCRIPT_FILENAME     /usr/local/www/nginx$fastcgi_script_name;</p>
<p>include      fastcgi_params;</p>
<p>}</p>
<p>先别急着启动nginx</p>
<p>先启动php的fastcgi模式</p>
<p># /usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -f /usr/local/bin/php-cgi</p>
<p>参数说明： a 127.0.0.1 : php-fcgi所绑定的web服务器ip</p>
<p>p 9000: nginx连接spawn-fcgi的端口.</p>
<p>u www : 用户名.</p>
<p>g www : 用户组</p>
<p>#ee /etc/rc.local</p>
<p>/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -C 25(进程数) -f /usr/local/bin/php-cgi</p>
<p>这样spawn-fcgi就能开机自启动了</p>
<p>在启动spawn-fcgi之后再启动nginx，然后就可以访问php文件了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1475/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bnx2 device eth1 does not seem to be present</title>
		<link>http://www.187299.com/archives/1472</link>
		<comments>http://www.187299.com/archives/1472#comments</comments>
		<pubDate>Tue, 09 Feb 2010 05:35:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1472</guid>
		<description><![CDATA[ifup eth1
bnx2 device eth1 does not seem to be present, delaying initialization.
重启服务器搞定... ]]></description>
			<content:encoded><![CDATA[<p>ifup eth1<br />
bnx2 device eth1 does not seem to be present, delaying initialization.</p>
<p>重启服务器搞定</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1472/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>内核模块相关命令：lsmod,depmod,modprob...</title>
		<link>http://www.187299.com/archives/1469</link>
		<comments>http://www.187299.com/archives/1469#comments</comments>
		<pubDate>Tue, 09 Feb 2010 03:55:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.187299.com/archives/1469</guid>
		<description><![CDATA[lsmod
功能：列出内核已载入模块的状态
用法：lsmod
描述：
lsmod 以美观的方式列出/proc/modules的内容。
输出为：
Module(模块名)    Size(模块大小)   Used by(被...使用)
eg. ne2k_pci           8928               0
... ]]></description>
			<content:encoded><![CDATA[<p>lsmod<br />
功能：列出内核已载入模块的状态<br />
用法：lsmod<br />
描述：<br />
lsmod 以美观的方式列出/proc/modules的内容。<br />
输出为：<br />
Module(模块名)    Size(模块大小)   Used by(被...使用)</p>
<p>eg. ne2k_pci           8928               0<br />
8390                 9472              1 ne2k_pci</p>
<p>在/proc/modules中相应的是：<br />
(模块名，模块大小，被...使用，模块地址(猜的，以后确认))<br />
ne2k_pci 8928 0 - Live 0x3086400<br />
8390 9472 1 ne2k_pci , Live 0xe086000</p>
<p>depmod<br />
功能：分析可加载模块的依赖性，生成modules.dep文件和映射文件。<br />
用法：depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A]<br />
depmod [-e] [-F System.map] [-n] [-v] [version] [filename...]<br />
描述：<br />
Linux内核模块可以为其它模块提供提供服务(在代码中使用EXPORT_SYMBOL)，这种服务被称作"symbols"。若第二个模块使用了这个symbol，则该模块很明显依赖于第一个模块。这些依赖关系是非常繁杂的。</p>
<p>depmod读取在/lib/modules/version 目录下的所有模块，并检查每个模块导出的symbol和需要的symbol，然后创建一个依赖关系列表。默认地，该列表写入到/lib/moudules/version目录下的modules.dep文件中。若命令中的filename有指定的话，则仅检查这些指定的模块(不是很有用)。</p>
<p>若命令中提供了version参数，则会使用version所指定的目录生成依赖，而不是当前内核的版本(uname -r 返回的)。</p>
<p>选项：<br />
-b basedir  --basedir basedir  若你的模块并没有正确的在/lib/mdules/version下，可以指定目录生成依赖。<br />
-e  --errsyms  和-F选项一起使用，当一个模块需要的symbol在其它模块里面没有提供时，做出报告。正常情况下，模块没有提供的symbol都在内核中有提供。<br />
-F  --filesyms System.map 提供一个System.map文件(在内核编译时生成的)许-e选项报告出unresolved symbol。<br />
-n  --dry_run  将结果modules.dep和各种映射文件输出到标准输出(stdout)，而不是写到模块目录下。<br />
-A --quick  检查是否有模块比modues.dep中的模块新，若没有，则退出不重新生成文件。</p>
<p>modprobe<br />
功能：Linux内核添加删除模块<br />
用法：<br />
modprobe [ -v ] [ -V ] [-C config-file] [ -n ] [ -i ] [ -q ] [ -o modulename] [ modulename ] [ module parameters ... ]<br />
modprobe [ -r ] [ -v ] [ -n ] [ -i ] [ modulename ... ]<br />
modprobe [ -l ] [ -t dirname ] [ wildcard ]<br />
modprobe [ -c ]<br />
描述：<br />
modprobe可智能地添加和删除Linux内核模块(为简便起见，模块名中'_'和'-'是一样的)。modprobe会查看模块目录/lib/modules/'uname -r'里面的所有模块和文件，除了可选的/etc/modprobe.conf配置文件和/etc/modprobe.d目录外。</p>
<p>modprobe需要一个最新的modules.dep文件，可以用depmod来生成。该文件列出了每一个模块需要的其他模块，modprobe使用这个去自动添加或删除模块的依赖。</p>
<p>选项：<br />
-v --verbose  显示程序在干什么，通常在出问题的情况下，modprobe才显示信息。<br />
-C --config  重载(^_^,意思取C++的重载)默认配置文件(/etc/modprobe.conf或/etc/modprobe.d)。<br />
-c --showconfig  输出配置文件并退出<br />
-n --dry-run  可以和-v选项一起使用，调试非常有用<br />
-i --ignore-install --ignore-remove 该选项会使得modprobe忽略配置文件中的，在命令行上输入的install和remove命令。<br />
-q --quiet 一般modprobe删除或插入一个模块时，若没有找到会提示错误。使用该选项，会忽略指定的模块，并不提示任何错误信息。<br />
-r --remove  该选项会导致modprobe去删除，而不是插入一个模块。通常没有没有理由去删除内核模块，除非是一些有bug的模块。你的内核也不一定支持模块的卸载。<br />
-V --verssion 版本信息<br />
-f --force  和同时使用--force-vermagic ，--force-modversion一样。使用该选项是比较危险的。<br />
-l --list 列出所有模块<br />
-a --all 插入所有命令行中的模块<br />
-t --type 强制 -l 显示dirname中的模块<br />
-s --syslog 错误信息写入syslog</p>
<p>modinfo<br />
功能：显示内核模块的信息<br />
用法：<br />
modinfo [ -0 ] [ -F field] [modulename | filename ... ]<br />
modinfo -V<br />
modinfo -h<br />
描述：<br />
modinfo列出Linux内核中命令行指定的模块的信息。若模块名不是一个文件名，则会在/lib/modules/version 目录中搜索，就像modprobe一样。</p>
<p>modinfo默认情况下，为了便于阅读，以下面的格式列出模块的每个属性：fieldname : value。</p>
<p>选项：<br />
-V --version 版本<br />
-F --field 仅在一行上显示field值，这对于脚本较为有用。常用的field有：author, description, licence, param, depends, alias, filename。<br />
-0 --NULL 使用'\0'字符分隔field值，而不是一个新行。对脚本比较有用。<br />
-a -d -l -p -n 这些分别是author, description, license, param ,filename的简短形式。</p>
<p>insmod<br />
功能：向Linux内核中插入一个模块<br />
用法：insmod [filename] [modue options ...]<br />
描述：<br />
insmod是一个向内核插入模块的小程序：若文件名是一个连字符'-'，模块从标准输入输入。大多数用户使用modprobe，因为它比较智能化。</p>
<p>rmmod<br />
功能：删除内核中的一模块<br />
用法：rmmod [ -f ] [ -w ] [ -s ] [ -v ] [ modulename ]<br />
描述：<br />
rmmod是一个可以从内核中删除模块的小程序，大多数用户使用modprobe -r去删除模块。</p>
<p>选项：<br />
-v --verbose  显示程序正在做些什么，一般只显示执行时的错误信息。<br />
-f --force  该选项是非常危险：除非编译内核时，CONFIG_MODULE_FORCE_UNLOAD被设置该命令才有效果，否则没效果。用该选项可以删除正在被使用的模块，设计为不能删除的模块，或者标记为unsafe的模块。<br />
-w --wait 通常，rmmod拒绝删除正在被使用的模块。使用该选项后，指定的模块会被孤立起来，直到不被使用。<br />
-s  --syslog  将错误信息写入syslog，而不是标准错误(stderr)。<br />
-V  --version 版本信息</p>
<p>以上内容是参考man翻译的，若有疑问请用man ...查看原始文档，翻译可能有误。</p>
<p>转载自：http://blog.csdn.net/future_fighter/archive/2009/02/04/3862795.aspx</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1469/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux的watch命令 -- 实时监测命令的运行结果</title>
		<link>http://www.187299.com/archives/1467</link>
		<comments>http://www.187299.com/archives/1467#comments</comments>
		<pubDate>Fri, 05 Feb 2010 09:02:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1467</guid>
		<description><![CDATA[watch 是一个非常实用的命令，基本所有的 Linux 发行版都带有这个小工具，如同名字一样，watch 可以帮你监测一个命令的运行结果，省得你一遍遍的手动运行。  直接在 watch 后面接你想运行的命... ]]></description>
			<content:encoded><![CDATA[<p>watch 是一个非常实用的命令，基本所有的 Linux 发行版都带有这个小工具，如同名字一样，watch 可以帮你监测一个命令的运行结果，省得你一遍遍的手动运行。  直接在 watch 后面接你想运行的命令，watch 就会帮你重复运行，并把每次的结果都更新在屏幕上。  默认 watch 会以 2s 的间隔重复运行命令，你也可以用 -n 参数指定时间间隔～  还有一个实用的参数是 -d，这样 watch 会帮你高亮显示变化的区域，这样更加一目了然了～ Ctrl+c 就可以退出～  你可以拿他来监测你想要的一切命令的结果变化，比如 tail 一个 log 文件，ls 监测某个文件的大小变化，看你的想象力了～</p>
<p>转载自：http://hi.baidu.com/nxswxxg/blog/item/0ba6a7cfa44b0d35f9dc6155.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1467/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
