March 16, 2009
nginx支持泛域名解析的方法
"\u003cp\u003e要使用Nginx下的泛域名支持,必须在编译 Nginx的时候加上\u003c/p\u003e\n\u003cp\u003e–with-http_sub_module\u003c/p\u003e\n\u003cp\u003efreebsd下ports安装的时候有提示的,选上即可。方法我google了半天,网上的好多我照做都是不行的,例如这个:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003elisten 80;\u003c/p\u003e\n\u003cp\u003eserver_name \u003ca href=\"http://www.yourdomain.com/\"\u003ewww.yourdomain.com\u003c/a\u003e *.yourdomain.com;\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e这个会提示:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1 id=\"nginx--t\"\u003e\u003cstrong\u003enginx\u003c/strong\u003e -t\u003c/h1\u003e\n\u003cp\u003e2009/01/04 13:22:56 [emerg] 63944#0: conflicting parameter “*.bsdlover.cn” in www.conf:14\u003c/p\u003e\n\u003cp\u003e2009/01/04 13:22:56 [emerg] 63944#0: the configuration file \u003cstrong\u003enginx\u003c/strong\u003e.conf test failed\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e还有些文章里面说的是:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eserver_name .yourdomain.com;\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e这个也是不行的,经过我的实验,正确的做法是:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003elisten 80;\u003c/p\u003e\n\u003cp\u003eserver_name _;\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e这样就可以了,留个笔记,呵呵\u003c/p\u003e\n\u003cp\u003e来 …\u003c/p\u003e"
March 16, 2009
Apache和Nginx下禁止访问*.txt文件
"\u003cp\u003e大家是否测试Apache做了目录禁止浏览后,目录下面的txt文件还是可以显示里面的内容的。(我的是这样的)\u003c/p\u003e\n\u003cp\u003e例如: \u003ca href=\"http://www.domain.com/test/\"\u003ehttp://www.domain.com/test/\u003c/a\u003e 此访问会报403错误,但是如果test下有很多txt,你访问该txt时;\u003c/p\u003e\n\u003cp\u003e例如: \u003ca href=\"http://www.domain.com/test/a.txt\"\u003ehttp://www.domain.com/test/a.txt\u003c/a\u003e,此时a.txt里的内容会全部暴露在外面了(有时这个txt是很机密的文件),这样以来问题就来了。\u003c/p\u003e\n\u003cp\u003e同样:我在Nginx配置后后也存在这样的问题,Apache下此问题的解决多谢NetSeek帮助。\u003c/p\u003e\n\u003cp\u003e如下是关于Apache和Nginx 限制该类事情办法:\u003c/p\u003e\n\u003cp\u003eApache:解决办法;\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eOptions -Indexes FollowSymLinks\n\nAllowOverride All\n\n Order allow,deny\n\n Deny from all\n\nNginx:解决办法;\n\nlocation ~* .(txt|doc)$ {\n\n if (-f $request_filename) { …\u003c/code\u003e\u003c/pre\u003e"
March 16, 2009
freebsd+mysql+nginx+php组合安装
"\u003cp\u003e\u003cstrong\u003e安装mysql\u003c/strong\u003e\n#cd/usr/ports/databases/mysql51-server\n#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\n#cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf\n#rehash\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e初始化表\u003c/strong\u003e\n#/usr/local/bin/mysql_install_db –user=mysql#一定要运行此步,否将下面设定权限将会出现错误,因为这句命令会将生在/usr/local/mysql下面将生var及以下目录,是下面的前提条件.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e安装php\u003c/strong\u003e\n# cd /usr/ports/lang/php5\n# make config\n[X] CLI Build CLI version\n[X] CGI Build CGI version\n[ ] APACHE Build …\u003c/p\u003e"
March 2, 2009
ZF框架中的MVC
"\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2009/03/8f5c2e59-c194-407e-93e4-949ca16aa67a.bmp\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/8f5c2e59-c194-407e-93e4-949ca16aa67a.bmp\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e"
February 26, 2009
FreeBSD中使用QUOTA磁盘配额来限制用户空间
"\u003cp\u003e虚拟主机中经常要限制用户空间的大小和文件的数量。这些限制在linux和FreeBSD中都是用QUOTA来实现的。这里我说下在FreeBSD下实现的方法;\n开启QUOTA支持\n首先需要修改内核加入对quota的支持\nmachine i386\ncpu I686_CPU\n#ident GENERIC\nident CNOSvhost\nmaxusers 0\noptions QUOTA #就是这行了。\n修改好后重新编译内核。\n然后在/etc/rc.conf里加入:\nenable_quotas=\u003cem\u003e“\u003cem\u003eYES\u003c/em\u003e“\u003c/em\u003e\ncheck_quotas=\u003cem\u003e“\u003cem\u003eYES\u003c/em\u003e“\u003c/em\u003e\n这样你的系统就起用QUOTA了,你应当通过编辑/etc/fstab的某个文件系统的属性,加入QUOTA的支持。\n下面的fstab文件就设置了在/pub文件系统上起用用户配额和组配额\n# See the fstab(5) manual page for important information on automatic mounts\n# of network filesystems before modifying this file.\n# Device …\u003c/em\u003e\u003c/em\u003e\u003c/em\u003e\u003c/em\u003e\u003c/p\u003e"
February 4, 2009
ports中的make命令的可用参数
"\u003cp\u003e我们经常使用ports来安装程序,ports中的make命令还可以有很多的功能:\u003c/p\u003e\n\u003cp\u003e引用\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003efetch\u003c/strong\u003e – Retrieves ${DISTFILES} (and ${PATCHFILES} if defined) into ${DISTDIR} as necessary.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003efetch-list\u003c/strong\u003e – Show list of files that would be retrieved by fetch.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003efetch-recursive\u003c/strong\u003e – Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), for port and dependencies into ${DISTDIR} as necessary.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003efetch-recursive-list\u003c/strong\u003e – Show list of files that would be retrieved by fetch-recursive.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003efetch-required\u003c/strong\u003e– Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), for port and …\u003c/p\u003e"
January 12, 2009
APACHE优化之apache的内存使用
"\u003cp\u003eApache是运行在Linux操作系统上的头号Web服务器。很多小地方都可以用来调整Apache的性能,并降低它对系统资源的影响。其中一个就是调整内存使用率,当然达到这一目的可能还是需要花点功夫的。\n例如,通过ps来确定httpd线程的内存使用率,可以输入下面的命令:\n# ps -U apache -u apache u\u003c/p\u003e\n\u003cp\u003eUSERPID %CPU %MEMVSZRSS TTYSTAT START TIME COMMAND\napache130670.05.3 149704 54504 ?SOct071:53 /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DAPACHE2\n…\u003c/p\u003e\n\u003cp\u003e上面这段输出显示了单个httpd进程使用了50 MB的RSS(驻留集大小)内存(或者非交换物理内存),以及149 MB的VSZ(虚拟)内存。这当然在很大程度上取决于你在Apache里加载和运行的模块数量。这决不是一个固定的数字。由于这个数字里还包含了共享库包,所以不是100%的准确。我们可以认为RSS数字的一半是httpd线程真正使用的内存数,这可能还有点保守,但是离我 …\u003c/p\u003e"
January 12, 2009
5、VSFTPD的设置选项 详解
"\u003cp\u003e**5、VSFTPD的设置选项\n**\nVSFTPD的配置文件/etc/vsftpd/vsftpd.conf是个文本文件。以“#”字符开始的行是注释行。每个选项设置为一行,格式为“option=value”,注意“=”号两边不能留空白符。除了这个主配置文件外,还可以给特定用户设定个人配置文件,具体介绍见后。\nVSFTPD包中所带的vsftpd.conf文件配置比较简单,而且非常偏执狂的(文档自称:-))。我们可以根据实际情况对其进行一些设置,以使得VSFTPD更加可用。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.1、连接选项\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e本部分主要是一些与建立FTP链接相关的选项。\u003c/p\u003e\n\u003cp\u003e5.1.1、监听地址与控制端口\u003c/p\u003e\n\u003cp\u003elisten_address=ip address\n此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了在主机的哪个IP地址上监听FTP请求,即在哪个IP地址上提供FTP服务。对于只有一个IP地址的主机,不需要使用此参数。对于多址主机,不设置此参数,则监听所有IP地址。默认值为无。\u003c/p\u003e\n\u003cp\u003elisten_port=port_value\n指定FTP服务器监听的端口号(控制端口),默认值为21。此选项 …\u003c/p\u003e"
January 12, 2009
ls命令选项详解
"\u003cp\u003els 命令可以说是Linux下最常用的命令之一。它有众多的选项,其中有很多是很有用的,你是否熟悉呢?下面列出了 ls 命令的绝大多数选项。\u003c/p\u003e\n\u003cp\u003e-a 列出目录下的所有文件,包括以 . 开头的隐含文件。\n-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。\n-c 输出文件的 i 节点的修改时间,并以此排序。\n-d 将目录象文件一样显示,而不是显示其下的文件。\n-e 输出时间的全部信息,而不是输出简略信息。\n-f -U 对输出的文件不排序。\n-g 无用。\n-i 输出文件的 i 节点的索引信息。\n-k 以 k 字节的形式表示文件的大小。\n-l 列出文件的详细信息。\n-m 横向输出文件名,并以“,”作分格符。\n-n 用数字的 UID,GID 代替名称。\n-o 显示文件的除组信息外的详细信息。\n-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通\n文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套\n接字(sockets)。\n-q 用?代替不可输出的字符。\n-r 对目录反向排序。\n-s 在每个文件名后输出该文件的大小。 …\u003c/p\u003e"
January 10, 2009
linux/unix命令备忘:ln -s 建立文档连结
"\u003cp\u003e1 . \u003cstrong\u003e使用方式\u003c/strong\u003e :\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eln [option] source_file \u003cstrong\u003edist_file_link_name\u003c/strong\u003e (source_file是待建立链接文件的源文件,dist_file是新创建的链接文件)\n-f 建立时,将同档案名删除.\n-i 删除前进行询问.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e两个参数的位置经常记错,只需要记住命令和显示结果的位置正好相反。\n写 ln 命令时第一个参数就是一个普通的文件名,第二个参数是链接名\n而使用 ls -al 命令查看时,则是 链接名在前,实际文件名在后,中间用 -\u0026gt; 连接(硬连接也是一个文件嘛,肯定按普通文件名来显示了)\u003c/p\u003e\n\u003cp\u003e例如建立一个 abc.txt 文件的的软连接,并取名为 abc-link.txt\n# ln -s abc.txt abc-link.txt\n# ls -al\nlrwxrwxrwx 1 sxf sxf 7 4月 12 14:14 abc-link.txt -\u0026gt; abc.txt\n-rw-rw-r– 1 sxf sxf 4 4月 12 14:14 abc.txt\u003c/p\u003e\n\u003cp\u003e如果这里删除了原来物理文件名 abc.txt, 则对应的软链接文件名虽然用ls可以看到,但其 …\u003c/p\u003e"
January 3, 2009
在Freebsd中安装CVSup
"\u003cp\u003e在首次运行 \u003cstrong\u003eCVSup\u003c/strong\u003e 之前, 务必确认 \u003ccode\u003e/usr/ports\u003c/code\u003e 是空的! 如果您之前已经用其他地方安装了一份 Ports 套件,则 \u003cstrong\u003eCVSup\u003c/strong\u003e 可能不会自动删除已经在上游服务器上删除掉的补丁文件。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e安装 \u003ca href=\"http://www.freebsd.org/cgi/url.cgi?ports/net/cvsup-without-gui/pkg-descr\"\u003e\u003ccode\u003enet/cvsup-without-gui\u003c/code\u003e\u003c/a\u003e 软件包:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# pkg_add -r cvsup-without-gui\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e请参见 \u003ca href=\"cvsup.html#CVSUP-INSTALL\"\u003e如何安装 CVSup\u003c/a\u003e ( \u003ca href=\"cvsup.html#CVSUP-INSTALL\"\u003e第 A.5.2 节\u003c/a\u003e) 以了解更多细节。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e运行 \u003ccode\u003ecvsup\u003c/code\u003e:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile\n以上参数请见这里\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e将 \u003ccode\u003ecvsup.FreeBSD.org\u003c/code\u003e 改为离您较近的 \u003cstrong\u003eCVSup\u003c/strong\u003e 服务器。 请参见 \u003ca href=\"cvsup.html#CVSUP-MIRRORS\"\u003eCVSup 镜像\u003c/a\u003e ( \u003ca href=\"cvsup.html#CVSUP-MIRRORS\"\u003e第 A.5.7 节\u003c/a\u003e) 中的镜像站点完整列表。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e注意:\u003c/strong\u003e 有时可能希望使用自己的 \u003ccode\u003eports-supfile\u003c/code\u003e, 比如说,不想每次都通过命令行来指定所使用的 \u003cstrong\u003eCVSup\u003c/strong\u003e 服务器。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e这种情况下, 需要以 \u003ccode\u003eroot\u003c/code\u003e 身份将 \u003ccode\u003e/usr/share/examples/cvsup/ports-supfile\u003c/code\u003e 复制 …\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/blockquote\u003e\u003c/li\u003e\u003c/ol\u003e"
January 3, 2009
在FreeBSD中运行 CVSup
"\u003cp\u003e您现在准备尝试升级了。命令很简单:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# cvsup supfile\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003ccode\u003esupfile\u003c/code\u003e 的位置当然就是您刚刚创建的 \u003ccode\u003esupfile\u003c/code\u003e 文件名啦。 如果您在 X11 下面运行, \u003ccode\u003ecvsup\u003c/code\u003e 会显示一个有一些可以做平常事情的按钮的 GUI 窗口。 按 go 按钮,然后看着它运行。\u003c/p\u003e\n\u003cp\u003e现在好像用csup这个命令的比较的多,速度比用cvsup要快,语法基本差不多,把命令关键字替换就可以了\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003ecsup -g -L2 -h cvsup4.freebsdchina.org /usr/share/examples/cvsup/ports-supfile\u003c/strong\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e在这个例子里您将要升级您目前的 \u003ccode\u003e/usr/src\u003c/code\u003e 树,您将需要 用 \u003ccode\u003eroot\u003c/code\u003e 来运行程序,这样 \u003ccode\u003ecvsup\u003c/code\u003e 有需要的权限来更新您的文件。 刚刚创建了您的配置文件,又从来没有使用过这个程序,紧张不安是可以理解的。有一个简单的方法不改变您当前的文件来做一次试验性的运行。只要在方便的地方创建一个空目录,并在命令行上作为一个额外的参数说明:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# mkdir /var/tmp/dest\n# cvsup supfile /var/tmp/dest\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e您指定的目录会作为所有文 …\u003c/p\u003e"
January 1, 2009
freebsd ssh 服务器登录失败问题的解决
"\u003cp\u003e编辑/etc/ssh/sshd_config 保证设置以下参数:\u003c/p\u003e\n\u003cp\u003ePermitRootLogin yes\nPasswordAuthentication yes\nUseDNS no\nLoginGraceTime 0\u003c/p\u003e"
January 1, 2009
FreeBSD下SSH配置
"\u003cp\u003esshd的配置文件一般位于/etc/ssh/sshd_config。\u003c/p\u003e\n\u003cp\u003e终端下:#ee /etc/ssh/sshd_config\u003c/p\u003e\n\u003cp\u003e———————————————\u003c/p\u003e\n\u003cp\u003e#Protocol 2,1\u003c/p\u003e\n\u003cp\u003e修改为:\u003c/p\u003e\n\u003cp\u003eProtocol 2\u003c/p\u003e\n\u003cp\u003e#ListenAddress 0.0.0.0\u003c/p\u003e\n\u003cp\u003e修改为:\u003c/p\u003e\n\u003cp\u003eListenAddress 0.0.0.0\u003c/p\u003e\n\u003cp\u003e#PermitRootLogin yes\u003c/p\u003e\n\u003cp\u003e修改为\u003c/p\u003e\n\u003cp\u003ePermitRootLogin yes\u003c/p\u003e\n\u003cp\u003e另把\u003c/p\u003e\n\u003cp\u003e#PasswordAuthenticationno\u003c/p\u003e\n\u003cp\u003ePasswordAuthentication yes\u003c/p\u003e\n\u003cp\u003e即可.\u003c/p\u003e\n\u003cp\u003e(Linux上默认允许root用户登录,此处可不修改。)\u003c/p\u003e\n\u003cp\u003e编辑**/etc/rc.conf**\n最后加入:\u003cstrong\u003esshd_enable=”yes”\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e修改完成后重启sshd:\u003c/p\u003e\n\u003cp\u003e/etc/rc.d/sshd restart\u003c/p\u003e\n\u003cp\u003e——————————-\u003c/p\u003e\n\u003cp\u003e现在即可ssh登陆.\u003c/p\u003e"
January 1, 2009
FreeBSD下如何开启SSH
"\u003cp\u003e首先vi编辑/etc/inetd.conf,去掉ssh前的#,保存退出\u003c/p\u003e\n\u003cp\u003e编辑/etc/rc.conf\u003c/p\u003e\n\u003cp\u003e最后加入:sshd_enable=”yes”即可\u003c/p\u003e\n\u003cp\u003e激活sshd服务:\u003c/p\u003e\n\u003cp\u003etecho#/etc/rc.d/sshd start\u003c/p\u003e\n\u003cp\u003e用下面命令检查服务是否启动,在22端口应该有监听。\u003c/p\u003e\n\u003cp\u003e#netstat -an ## check port number 22\u003c/p\u003e\n\u003cp\u003e最后\u003c/p\u003e\n\u003cp\u003evi /etc/ssh/sshd_config,\u003c/p\u003e\n\u003cp\u003e下面是我的配置文件:(/etc/ssh/sshd_config)\n####################################################\u003c/p\u003e\n\u003cp\u003e# $OpenBSD: sshd_config,v 1.72 2005/07/25 11:59:40 markus Exp $\n# $FreeBSD: src/crypto/openssh/sshd_config,v 1.42.2.1 2005/09/11 16:50:35 des Exp $\u003c/p\u003e\n\u003cp\u003e# This is the sshd server system-wide configuration file. See …\u003c/p\u003e"