分类目录归档:FreeBSD

FreeBSD好工具:Screen

非常非常爽的一个工具,看了书之后研究了一下,非常爽

# screen
//
以下^A表示同按“Ctrl + A”
# ^A c //Create
,开出新的 window
# ^A n //Next
,切换到下个 window
# ^A p //Previous
,前一个 window
# ^A ^A //
在两个 window 间切换
# ^A w //Windows
,列出已开启的 windows 有那些
# ^A 0…9 //
切换到第 0..9 window
# ^A t //Time
,显示目前的时间,与系统的 load
# ^A K //kill window
,强制关掉目前的 window
# ^A ? //Help
,显示简单说明
# ^A d //detach
,将目前的 screen session (可能含有多个 windows) 丢到背景执行
按了 ^A d screen session detach 掉后,会回到还没进 screen 时的状态,此时在 screen session ?每个 window 内跑的 process (无论是前景/背景)都在继续执行,即使 logout 也不影响。
# screen -ls //
显示所有的 screen sessions
# screen -r [keyword] //
挑个 screen session 回来 (捡回来)

升级到FreeBSD 6.4-RELEASE

虽然已经发布半个月了,今天才算有时间来升级原来的6.2的系统。

这个版本号对中国用户来说很不吉利,容易犯忌,看来编版本号的人没有中国人。

update:

从15点开始正式buildworld,到18:30正式完成,完全是在线远程升级,uname的信息显示已经升级成功了。

FreeBSD 6.4-RELEASE FreeBSD 6.4-RELEASE #0: Wed Dec 17 17:47:12 CST 2008

FreeBSD用户邮件转发

在FreeBSD里,root以及普通用户都有邮件通知,每次需要登录终端查看,比较烦人;

查了手册以后发现,其实可以把邮件转发到其他邮箱里,比如Gmail,然后就不用登录服务器去查看系统邮件了;

具体做法是:在用户home目录下创建 .forward 文件,写上转发地址,保存,就ok了。

dig

今天偶然发现的一个命令,可以简单的查询域名信息了,以前总是用nslookup查询。

最简单的方法就是 dig -i 域名。

%dig -i blog.dayuer.com

; <<>> DiG 9.4.2 <<>> -i blog.dayuer.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39190
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;blog.dayuer.com.               IN      A

;; ANSWER SECTION:
blog.dayuer.com.        3600    IN      A       66.147.240.151

;; AUTHORITY SECTION:
dayuer.com.             3600    IN      NS      dns2.hichina.com.
dayuer.com.             3600    IN      NS      dns1.hichina.com.

;; ADDITIONAL SECTION:
dns1.hichina.com.       165973  IN      A       218.30.103.50
dns1.hichina.com.       165973  IN      A       218.30.103.49

;; Query time: 920 msec
;; SERVER: 202.102.134.68#53(202.102.134.68)
;; WHEN: Thu Dec 11 23:46:18 2008
;; MSG SIZE  rcvd: 127

惨痛教训

今天不知道发什么疯,本来是想删除一个测试表的,结果把整个数据库删掉了,崩溃。

上Google搜了一遍,没有找到有关FreeBSD下文件回复的资料,毫无办法;

唯一的办法是恢复10天前的数据,欲哭无泪。

本来写好的备份脚本就因为偷懒没有放到cron里定时执行,我真是无语了

唯一欣慰的是这个数据库丢了10天数据,不会有人跟我拼命

我得好好检查一下其他数据库的备份策略了,要是丢了数据,会要人命的。

FreeBSD7上安装Nginx成功

Nginx的风头无疑已经盖过了lighttpd

据说功能很强劲,但是文档也真是少得可怜

安装的时候颇费了一点脑力

当php在nginx上跑起来的时候,还真是有点感觉的

nginx的rewrite不支持apache的.htaccess,需要改写

不过让我头疼的是,在rule的规则里,不知道怎么把正则表达式里的大括号转义,要不nginx就得报错

虚拟目录也不知道怎么配置,头疼

配置里启动了8个工作线程,php-cgi启动了15个进程

跑几天看看效果

说不定apache真的可以退休了

准备调整技术路线

由 php+apache+mysql+FreeBSD 更新为 php+lighttpd+pgsql+FreeBSD

调整的要点在于:尽量放弃非BSD协议的开源软件

MySQL自从被收购以后,已经让人感觉到不安全了;

而Apache慢慢的发展成了一个庞大的怪兽,扩展性变得比性能还要重要,结果就是越来越慢~

FreeBSD装机笔记

安装一台apache+mysql+php+memcached的服务器

1、mysql

make  WITH_CHARSET=utf-8 WITH_XCHARSET=all BUILD_OPTIMIZED=yes WITH_NDB=no BUILD_STATIC=yes

2、apache22

3、php5

4、php5-extensions

5、pecl-memcache

6、memcached

令人疯狂的I/O瓶颈

/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average |

/0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100
cpu user|
nice|
system|
interrupt|
idle|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100
ad0 MB/sXX
tps|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX127.40

这台BSD很奇怪,同样的数据库在别的机器就没这么高的值,不可理喻。