Apache 2.2 无法启动的若干问题

作者:wiLdGoose 发布时间:December 13, 2007 分类:技术 Technology

今天在一台几乎废弃的 freebsd 服务器上折腾,删除了里面的 postfix 邮件系统。折腾完毕修改了 /etc/rc.conf,去掉了 hostname 键,reboot 之后发现 apache 没有自动启动,手动启动也失败。通过 apachectl configtest 检查结果是 Syntax OK,于是去找 /var/log/http_error.log,错误日志如下:
[Sat Dec 15 00:17:43 2007] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of ""
Configuration Failed

查了资料,修改 httpd.conf,将下面一行注释掉就可以了:
LoadModule unique_id_module libexec/apache2/mod_unique_id.so

在 apache 手册上查到这个 unique_id_module 模块的概述:
This module provides a magic token for each request which is guaranteed to be unique across "all" requests under very specific conditions. The unique identifier is even unique across multiple machines in a properly configured cluster of machines. The environment variable UNIQUE_ID is set to the identifier for each request. Unique identifiers are useful for various reasons which are beyond the scope of this document.

大概意思就是给每个请求提供一个唯一标识的环境变量,具体说明在这里

再次启动 apache 还发现一个报错:
No such file or directory: Failed to enable the 'httpready' Accept Filter

曾经在某网的一篇文章上看过,google 找到相关资料,说这貌似是 freebsd 与 apache2 之间的一个小 bug。解决方案如下:
# kldload accf_http
# vi /boot/defaults/loader.conf

找到下面这行:
accf_http_load = "NO"

将 NO 改为 YES 就可以了。

Windows 时间同步

作者:wiLdGoose 发布时间:December 12, 2007 分类:技术 Technology

从来没有认真关注过这个时间同步,今天终于在公司的一台 Windows 2003 服务器上领教了。

该服务器运行着 Windows 2003 Enterprise SP2,并涉及精密时间和金融数据处理。照理这宝贝对于时间的精确度应该非常敏感,但由于常年无法与微软的时间同步服务器通讯,使得时间误差越来越大。从上架服务到今天,这宝贝已经工作了将近半年的时间,时间误差已经接近两分钟,到了无可救药的地步了。

这半年以来,公司还未曾与合作单位对过账。今天收到合作单位的账单,整整 241 页。因为第一次对账,出现了不少坏账,需要核对。于是写了个脚本开始对,没想到合作单位的账单上每条记录的时间居然与我们的数据记录不一样,少则相差一分钟,多则相差近两分钟,而且这个差距没有任何规律。

我疯了,终于意识到时间同步是一件多么重要、多么必要、多么和谐、多么健康、多么有益的事情。然后开启 Windows 的时间同步服务开始对时,发现总是报错“不能连接到对等机器”。想到服务器上使用了 TCP/IP 筛选,仅开放了几个少的可怜的 TCP 端口,猜想是不是端口被阻止了。netstat -an 之后看到 UDP 协议上有一个 123 端口监听着公网 IP 地址和 127.0.0.1,查了资料,就是它了。添加一个 UDP 123 的端口后重启,抛弃慢如蜗牛的 time.windows.com,使用 218.75.4.130 作为时间同步服务器,亡羊补牢告成。

我们的服务器在湖州电信机房,所以使用 218.75.4.130 作为时间同步服务器,这个机器在台州电信,速度不错。在电信线路上,222.73.106.220 这个机器的速度也不错,可以用来同步您的服务器时间。

SQL Server 2000 安全加固与性能优化笔记

作者:wiLdGoose 发布时间:December 12, 2007 分类:技术 Technology

这是一句转折句:虽然十分不情愿,但本文档将在近期不断更新。

系统环境:Windows Server 2003 Enterprise SP2、SQL Server 2000

一、SQL Server 的连接方式

安装完成后默认两种连接方式:TCP/IP 与命名管道。就我个人的理解,前者适用各种网络环境,后者适用本机 ODBC 调用。由于调用 SQL Server 的服务端服务器与数据库服务器在同一机房、同一机柜、同一交换机中,我只使用 TCP/IP 作为唯一连接方式。

二、关于 SQL Server 的端口

SQL Server 默认监听 TCP/1433 端口,在服务端实用工具中设置数据库隐藏模式后将自动改变监听端口为 TCP/2433。隐藏模式使得客户端无法枚举数据库网络连接,也可以自行设定监听的端口,效果与设置隐藏模式雷同。

三、关于用户权限

我的个人建议是给 sa 加上一个一万年都无法暴力破解掉的密码,然后记录到某个密码管理软件里封存,然后从脑海中将这个密码忘记。关于密码管理软件,我也用过不少。目前习惯使用 Password Agent,虽然不是中文版本,但总比那些号称是“共享软件”的国产软件好。

不要使用 Windows 身份验证去访问数据库,忘记 sa 的存在之后,分别建几个用户用于管理相应的库,并赋予它们尽可能小的权限。权限不在大,只要够用就好。对于 db_owner,慎重赋予。一般而言,对于一个库的操作可以分开多个权限不同的用户,用于在不同场合执行不同的操作权限。

四、数据库维护计划

这是一项受人喜爱的功能。开启 SQL Agent 之后就可以在企业管理器中添加数据库维护计划。我习惯建立两种维护计划,一种用于对数据库进行优化,包括索引的重新整理以及对数据库数据文件与日志文件的容量收缩;一种用于对数据库数据与事务进行备份。

最近遇到一个磁盘空间瓶颈的问题,使得数据库备份只能限制在一周以内。打算采用 Windows 批处理、WinRAR 命令行加 FTP 命令的方式在设置的时间将本地数据库备份文件打包,并自动传送到另一台提供 FTP 服务的计算机上。为了避免网络带宽消耗甚至数据阻塞,建议在内网中进行该操作。

  1. 1
  2. ...
  3. 9
  4. 10
  5. 11
  6. 12