我有一台运行在RedHat 6.4主机上的apache 2.2.15 Web服务器,对此我的权限有限。
我有一个httpd实例在我拥有的目录中运行。这个实例有自己的etc、log、htdocs、conf等,并有指向Apache主bin和模块的符号链接。
DNS人员已安排myinstance.example.com指向服务器的ip地址。
我还在httpd.conf中配置了VirtualHosts,因为将来我可能需要在该服务器上运行多个实例。
我的VirtualHost的htttpd.conf中的Listen指令被设置为8081端口,所以如果我转到myinstance.example.com:8081,VirtualHost的htmldocs中的index.html就会显示在我的浏览器中。
我现在想做的是从url中"删除"端口号,并让myinstance.example.com解析到8081中的VirtualHost。
我在VirtualHost的httpd.conf 的末尾添加了以下块
<VirtualHost *:8081>
ServerAdmin me@myemailaddress.com
DocumentRoot /apps/LAMP/dev/appname/hostname/htdocs
ServerName myinstance.example.com
ProxyPreserveHost On
ProxyPass / myinstance.example.com:8081/
ProxyPassReverse / http://myinstance.example.com:8081/
ErrorLog logs/error.log
CustomLog logs/access.log common
</VirtualHost>
在同一个文件中,这些行也存在:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
.
.
.
ProxyRequests Off
ProxyVia On
ProxyPreserveHost On
我使用启动我的Apache实例
/usr/sbin/httpd -d /apps/LAMP/dev/appname/hostname -DPHP5 -f /apps/LAMP/dev/appname/hostname/etc/httpd.conf
当我在firefox浏览器中指向myinstance.example.org(没有端口号)时,我会得到"无法连接错误",error.log中的最新条目似乎与该问题无关。
[Tue Oct 07 13:59:28 2014] [error] (2)No such file or directory: mod_mime_magic: can't read magic file /apps/LAMP/dev/appname/hostname/conf/magic
[Tue Oct 07 13:59:28 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Oct 07 13:59:28 2014] [error] (2)No such file or directory: mod_mime_magic: can't read magic file /apps/LAMP/dev/appname/hostname/conf/magic
[Tue Oct 07 13:59:28 2014] [notice] Digest: generating secret for digest authentication ...
[Tue Oct 07 13:59:28 2014] [notice] Digest: done
[Tue Oct 07 13:59:28 2014] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations
[Tue Oct 07 13:59:51 2014] [error] server reached MaxClients setting, consider raising the MaxClients setting
你知道我做错了什么吗?有什么建议吗?
首先我要消除所有的错误。引起我注意的可能是一个引人注目的例子是:
[error] server reached MaxClients setting
考虑提高MaxClients
设置
它是通过使用端口80中的主Apache实例作为反向代理来修复的。
我在/etc/httpd/conf/httpd.conf 的末尾添加了这个
#Using host ip address
<VirtualHost 10.18.1.20:80>
ServerAdmin me@example.com
#DocumentRoot /apps/LAMP/dev/appname/hostname/htdocs
ServerName myinstance.example.com
ProxyPreserveHost On
ProxyPass / http://myinstance.example.com:8081/
ProxyPassReverse / http://myinstance.example.com:8081/
ErrorLog logs/error.log
CustomLog logs/access.log common
</VirtualHost>