使用pkgtools.conf加强portupgrade

freebsd的ports非常优秀,使用ports安装的软件可以用portupgrade进行升级。 以前一直有一个问题困扰我。那就是:我在用ports安装某个软件,如果指定了一些特殊的编译参数,如安装mysql时指定特殊字符集等 make WITH_CHARSET=gbk WITH_XCHARSET=all BUILD_OPTIMIZED=yes install clean 这样安装的mysql在使用portupgrade升级的时候,只按照默认的编译,也就是说上面的特殊参数丢失了。使得我在升级mysql的时候不得不手动用make deinstall make install升级。 其实,有一个文件可以让portupgrade升级的时候加入某些参数。那就是/usr/local/etc/pkgtools.conf 编辑该文件并加入以下内容 MAKE_ARGS = { 'databases/mysql*-server' => [ 'WITH_CHARSET=gbk', 'WITH_XCHARSET=all', 'SKIP_DNS_CHECK=yes', 'BUILD_OPTIMIZED=yes', 'BUILD_STATIC=yes', ], } 这样portupgrade会在升级mysql的时候应用上述参数。 原文 http://freebsd.5d6d.com/thread-45-1-1.html

2009-03-25 · 1 分钟 · admin

使用 Nginx 提升网站访问速度

本文主要介绍如何在 Linux 系统上安装高性能的 HTTP 服务器 —— Nginx、并在不改变原有网站结构的条件下用 Nginx 来提升网站的访问速度。 Nginx 简介 Nginx(“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。 Igor 将源代码以类BSD 许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。 根据最新一期(08 年 6 月份)的 NetCraft 调查报告显示,已经有超过两百万的主机使用了 Nginx,这个数字超过了另外一个轻量级的 HTTP 服务器 lighttpd, 排名第四,并且发展迅速。下面是这份报告的前几名的报表: 产品 网站数 Apache 84,309,103 IIS 60,987,087 Google GFE 10,465,178 Unknown 4,903,174 nginx 2,125,160 Oversee 1,953,848 lighttpd 1,532,952 关于这期调查报告的更详细信息请看下面链接: http://survey.netcraft.com/Reports/200806/ 下图是最近几个月使用 Nginx 和 lighttpd 的网站数比较 图 1. 最近几个月使用 Nginx 和 lighttpd 的网站数比较 目前官方 Nginx 并不支持 Windows,您只能在包括 Linux、UNIX、BSD 系统下安装和使用; Nginx 本身只是一个 HTTP 和反向代理服务器,它无法像 Apache 一样通过安装各种模块来支持不同的页面脚本,例如 PHP、CGI 等; Nginx 支持简单的负载均衡和容错; 支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有。 在 Linux 下安装 Nginx 为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。您可以到 ftp://ftp....

2009-03-24 · 4 分钟 · admin

Sphinx Storage Engine in MySQL via FreeBSD Ports

系統:FreeBSD 7.1-RELEASE MySQL:5.1.30 Sphinx:0.9.8.1 mysql51-server.diff diff -Nur /usr/ports/databases/mysql51-server/Makefile mysql51-server/Makefile — /usr/ports/databases/mysql51-server/Makefile 2008-07-27 09:56:19.000000000 +0100 +++ mysql51-server/Makefile 2008-08-06 16:20:51.000000000 +0100 @@ -60,6 +60,16 @@ CONFIGURE_ARGS+=–with-collation=${WITH_COLLATION} .endif +# Sphinx Engine +.if defined(WITH_SPHINXSE) +SPHINX_PORT?= textproc/sphinxsearch +SPHINX_WRKSRC= cd ${PORTSDIR}/${SPHINX_PORT} && ${MAKE} -V WRKSRC + +EXTRACT_DEPENDS+= ${NONEXISTENT}:${PORTSDIR}/${SPHINX_PORT}:extract +RUN_DEPENDS+= searchd:${PORTSDIR}/${SPHINX_PORT} +USE_AUTOTOOLS+= autoconf:262 automake:110 +.endif + .include .if ${ARCH} == “i386″ @@ -124,8 +134,14 @@ @${ECHO} “ BUILD_STATIC=yes Build a static version of mysqld.” @${ECHO} “ (use it if you need even more speed)....

2009-03-23 · 1 分钟 · admin

[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'

freebsd ports 装完php-ftp 不能起动 [ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool ‘default’ 出现些错误提示,请修改 php-fpm.conf Unix user of processes Unix group of processes 换成 Unix user of processes <value name="user">www</value> Unix group of processes <value name="group">www</value> /usr/local/etc/rc.d/php-fpm start Starting php_fpm.

2009-03-23 · 1 分钟 · admin

PHP 5.2.9 Released!

Security Enhancements and Fixes in PHP 5.2.9: Fixed security issue in imagerotate(), background colour isn’t validated correctly with a non truecolour image. Reported by Hamid Ebadi, APA Laboratory (Fixes CVE-2008-5498). (Scott) Fixed a crash on extract in zip when files or directories entry names contain a relative path. (Pierre) Fixed explode() behavior with empty string to respect negative limit. (Shire) Fixed a segfault when malformed string is passed to json_decode(). (Scott)

2009-03-19 · 1 分钟 · admin

Find 指令用法教學

筆記一下自己常用的 find 指令,適用於 FreeBSD 或者是 Linux 各大 distribution,系統管理這個指令就相當重要了,在搭配 grep,sed,awk,perl 可以快速找到自己要的檔案。我自己本身很常用到 grep,find,awk 這些撰寫 shell script。 底下先來介紹一下 find: 找出 . 底下的 php 檔案 find . -name “*.php” 找出 . 底下非 php 副檔名檔案 find . -not -name “*.php” 刪除 . 底下 php 檔案,有兩種作法 系統詢問之後才刪除 先把 -exec 後面的東西先清掉, 用 -print 來先確認輸出 rm 可以多用 -i 的參數來加以確認 find . -name “*.php” -exec rm -i {} ; 系統直接刪除 find . -delete -name “.php” find . -name “.php” | xargs /bin/rm -rf...

2009-03-19 · 2 分钟 · admin

Webalizer-利用ApacheLog達成流量統計圖表化

【前言】[webalizer] - A web server log file analysis tool.即可利用 Apache 的 Log 來達成流量統計圖表化的套件。 【作業環境】 FreeBSD 5.2、6.2-RELEASE webalizer-2.01-10、2.1.10_12 libiconv-1.9.2_2 【安裝及設定】 Step1.安裝 webalizer 及 libiconv 套件 將顏國雄老師中文亂碼修正檔-webalizer patch.pl 放到 /usr/ports/www/webalizer 目錄下,等一下先安裝完預設的中文語系檔,但因為 GD 圖表無法正確顯示中文所以這時便執行顏國雄老師中文亂碼修正檔將 GD 圖表內中文字改回英文便不會發現 GD 圖表內文字為亂碼的現象,至於安裝前為何要將語系檔轉換為 UTF-8 格式?因為若是不轉換的話當執行完流量統計後你會發現 Search String 內容會為亂碼。 ...

2007-06-30 · 2 分钟 · admin

FreeBSD 下的TOP的使用方法

top监控工具可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况 top监控命令在FreeBSD上的使用 top监控工具可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况 语法:top [-s time] [-d count] [-q] [-h] [-n number] [-f filename] [-o field][-U usename] -S 将系统进程信息也显示到屏幕上,默认情况下,top不显示系统进程的信息 -b 使用”batch”方式运行top。在此种方式下,所有来自终端的输入都将被忽略,但交互键(比如C and ) 依然起使用。这是运行top输出到哑终端或输到非终端的默认运行方式 -i 使用交互运行top程序,在此种方式下,命令会被进程立即被处理。不管命令是不是能被top所理解执行, 屏幕都将立即更新。这是top的默认运行方式。 -I 不显示空闲进程,在默认情况下,top连同空闲进程的信息一同输出。 -t 不显示top进程自己 -n 不以交互方式使用top命令,作用同”batch”方式。 -s time 设置屏幕刷新的延时,单位为秒,默认值5秒 -d count 设置屏幕刷新的次数,刷新显示完count次后退出 -q 如果经过nice授权,使用-q可以使top运行的更快一些,这样,在系统反应缓慢的时候,可以会更快的找到存在的问题。 此选项在FreeBSD下只有root可以使用 -n number 设置每一屏幕显示的进程数目,number值超过进程最大数目,则设置无效 -u 用显示User ID代替username,提高命令运行速度 -v 显示程序版本号后,立即退出。如果要在top运行时查看版本号,输入”?” -o 以指定的字段排序显示进行信息。字段名必须为输入在屏幕的可见列的名字,而且必须是小写。 比如”cpu”、”size”、”res”与”time”,但不同的操作系统间有许多的不同。注意不是每个UNIX操 作系统都支持此选项。 -U 只显示属于后面所跟用户名的进程的信息 屏幕控制命令 交换方式下,可以使用以下命令控制top ^L – 刷新屏幕 q – 退出 h or ? – 显示帮助 d – 修改刷新显示的次数 e – 显示最近”kill”或”renice”命令所产生的错误 i – 显示/不显示处于空闲的进程 I – 作用同 ‘i’ k – kill 进程; 发送一个信号到某个进程列表 n or # – 修改显示进程的数目 o – 以特定的字段排序 (pri, size, res, cpu, time) r – renice 一个进程 s – 修改输入的更新时间 u – 只显示属于某个用户的进程 (+ selects all users) 顺序显示下面三个常规的信息...

2006-10-18 · 2 分钟 · admin

freebsd命令大全

1 man 在线查询 man ls 2 ls 查看目录与档案 ls -la 3 ln 建立链接文件 ln -fs /usr/local/apache/etc/httpd.conf /etc/httpd.conf 4 more 分页显示 more 文件名称 5 cd 切换目录 cd /usr/local/apache 6 mkdir 建立新的目录 mkdir /usr/temp 7 rmdir 删除目录 rmdir /usr/temp 8 rm 删除目录或档案 rm -f 文件名称 9 cp 复制目录或档案 cp 来源档案 目标档案 10 pwd 显示目前的工作目录 Pwd 11 mv 目录或档案更名或搬移 mv 来源档案 目标档案 12 find 寻找目录或档案 find /etc -name 文件名称 13 fetch 取得档案 fetch ftp://ftp....

2006-10-16 · 2 分钟 · admin

SYN攻击原理以及防范技术

本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术…… 据统计,在所 TCP握手协议 有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。 一、TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念: 未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。 Backlog参数:表示未连接队列的最大容纳数目。 SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。 半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。 二、SYN攻击原理 SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从上图可看到,服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。 三、SYN攻击工具 SYN攻击实现起来非常的简单,互联网上有大量现成的SYN攻击工具。 1、windows系统下的SYN工具 以synkill.exe为例,运行工具,选择随机的源地址和源端囗,并填写目标机器地址和TCP端囗,激活运行,很快就会发现目标系统运行缓慢。如果攻击效果不明显,可能是目标机器并未开启所填写的TCP端囗或者防火墙拒绝访问该端囗,此时可选择允许访问的TCP端囗,通常,windows系统开放tcp139端囗,UNIX系统开放tcp7、21、23等端囗。 四、检测SYN攻击 检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。我们使用系统自带的netstat 工具来检测SYN攻击: # netstat -n -p TCP tcp 0 0 10.11.11.11:23 124.173.152.8:25882 SYN_RECV - tcp 0 0 10.11.11.11:23 236.15.133.204:2577 SYN_RECV - tcp 0 0 10.11.11.11:23 127.160.6.129:51748 SYN_RECV - tcp 0 0 10.11.11.11:23 222.220.13.25:47393 SYN_RECV - tcp 0 0 10.11.11.11:23 212.200.204.182:60427 SYN_RECV - tcp 0 0 10.11.11.11:23 232.115.18.38:278 SYN_RECV - tcp 0 0 10....

2006-10-15 · 1 分钟 · admin