HTTP 1.1标准在协议中规定了对浏览器和服务器通信时,服务器能够跟踪浏览器请求的是哪个主机名字。因此可以利用这个新特性,使用更轻松的方式设定虚拟主机。这种方式不需要额外的IP地址,但需要新版本的浏览器支持。这种方式已经成为建立虚拟主机的标准方式。要建立非IP基础的虚拟主机,多个域名是不可少的配置,因为每个域名就对应一个要服务的虚拟主机。因此需要更改DNS服务器的配置,为服务器增加多个C NAME选项,如:
linux IN A 192.168.1.64
vhost1 IN CNAME linux
vhost2 IN CNAME linux
基本的设置选项都是为了linux主机设定的,如果要为vhost1和vhost2设定虚拟主机,就要使用VirtualHost语句定义不同的选项,在语句中可以使用配置文件前面中的大部分选项,而可以重新定义几乎所有的针对服务器的设置。
NameVirtualHost 192.168.1.64
DocumentRoot /www/data
ServerName linux.example.org.cn
DocumentRoot /vhost1
ServerName vhost1.example.org.cn
DocumentRoot /vhost2
ServerName vhost2.example.org.cn
这里需要注意的是,VirtualHost的参数地址一定要和NameVirtualHost定义的地址相一致,必须保证所有的值严格一致,Apache服务器才承认这些定义是为这个IP地址定义的虚拟主机。
此外,定义过NameVirtualHost之后,那么对这个IP地址的访问都被区分不同的虚拟主机进行处理,而对其他IP地址的访问,例如127.0.0.1,才应用前面定义的缺省选项。
另外一些加速方法
1、 Web 页面和 CGI 页面采用了浏览器缓冲技术。具体的方法可以参考附录一:采用 mod_gzip 加速Apache
2、 不要让 X Windows 运行在你的 Web 服务器上,用 Ctrl-Alt-Backspace 关闭 X 。
3、 在 CGI 脚本中:
文件 I/O:打开的文件数目越少越好。
Shell 命令:采用全路径来调用 shell 命令。
在Web 页面目录中,不要让文件数超过 1000 个,文件越多花费在定位上的时间也越多。
4、 在 Web 服务器上的图片越少越好,保证每个图片都经由图片压缩器运行。
5、 应该配置尽量多的内存,内存的大小对系统性能影响非常大。
6、 可以用strace命令调试调用。
当你不确定httpd.conf里的设置更改对进程的影响时,strace或许能奏效,通过观察输出的行数,可以判断对一个固定页面访问时需要的调用数。如:
#ps –ef|grep http
#strace –p http_pid
accept(18, 0xFFBEFA50, 0xFFBEFA74, 1) = 3
fcntl(24, F_SETLKW, 0x001D0E10) = 0
sigaction(SIGUSR1, 0xFFBEF908, 0xFFBEF98 = 0
getsockname(3, 0xFFBEFA60, 0xFFBEFA74, 1) = 0
setsockopt(3, 6, 1, 0xFFBEF9C4, 4, 1) = 0
read(3, " G E T / c a s e i n c".., 4096) = 590
sigaction(SIGUSR1, 0xFFBED800, 0xFFBED880) = 0
time() = 1043377552
stat("/docroot/osc-new/www/caseincident/listCase.php", 0x0022BF5 = 0
umask(077) = 0
umask(0) = 077
setitimer(ITIMER_PROF, 0xFFBEF628, 0x00000000) = 0
sigaction(SIGPROF, 0xFFBEF4F8, 0xFFBEF57 = 0
sigprocmask(SIG_UNBLOCK, 0xFFBEF618, 0x00000000) = 0
getsockopt(6, 65535, 8192, 0xFFBE67B0, 0xFFBE67AC, 0) = 0
setsockopt(6, 65535, 8192, 0xFFBE67B0, 4, 0) = 0
setitimer(ITIMER_PROF, 0xFFBEF788, 0x00000000) = 0
sigaction(SIGUSR1, 0xFFBEF908, 0xFFBEF98 = 0
read(3, 0x001E5BC0, 4096) (sleeping...)
附录一、采用 mod_gzip 加速Apache
说明:本附录为全文引用,时间限制,未经测试。
我们知道 mod_gzip 是用来在服务器端把客户请求的内容压缩后发送给客户端的一个 Apache 模块。本站的 Zope 通过 FastCGI 来实现和 Apache 的结合,Apache 是解析 HTML 页面的服务程序。安装好 mod_gzip 后就即能压缩普通静态页面也能压缩 Zope 文档。
Linux系统下Apache服务器的设置与优化 (2)(5)
内容版权声明:除非注明,否则皆为本站原创文章。