ubuntu apache2虚拟主机端口号不同于80的正确configuration是什么?

我刚刚inheritance了端口80上运行已经tomcat的服务器的Ubuntu 10.04。所以Apache 2 /etc/apache2/ports.conf有听8858。

我指出我的子域让我们说admin.domain.com到那个盒子的IP所以xx.xx.xx.xx:8858admin.domain.com:8858都发送给我的根文件“它的作品”

所以我创build了/var/www/vhots/admin.domain.com/htdocs/var/www/vhots/admin.domain.com/log我的第一个configuration看起来是下面,基本上重新加载后,重新启动apache2给我这个错误

VirtualHost *:8858 – 不支持使用NameVirtualHost地址混合*端口和非*端口,继续执行未定义的结果httpd(pid 7466?)未运行

 ###/etc/apache2/apache2.cong NameVirtualHost * #NameVirtualHost *:8858 <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </Virtualhost> ###/etc/apache2/sites-available/admin.domain.com <VirtualHost *:8858> ServerAdmin [email protected] ServerName admin.domain.com ServerAlias www.admin.domain.com DocumentRoot /var/www/vhots/admin.domain.com/htdocs <Directory /var/www/vhosts/admin.domain.com/htdocs> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ErrorLog /var/www/vhosts/admin.domain.com/log/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/www/vhosts/admin.domain.com/log/access.log combined ServerSignature On </VirtualHost> 

所以在阅读这个我已经取消注释NameVirtualHost *:8858,我最初放在那里让我有NameVirtualHost *和NameVirtualHost *:8858现在我有一个警告消息,但然后服务器拒绝启动

NameVirtualHost *:8858没有VirtualHosts httpd(pid 27536?)没有运行[warn] NameVirtualHost *:8858没有VirtualHosts [fail]

我怎样才能得到它? 感谢您阅读此

如果您已经在端口80上运行Tomcat,则无法将Apache连接到同一个端口。 不带端口的HTTP URL(例如http://admin.domain.com )假定端口为80。

所以,为了使您的网站无需端口(:8858),您需要将Tomcat移动到另一个端口。

如果在同一台服务器上有两个IP地址,例如xxx1和xxx2,则还有另一种解决scheme。 然后将Tomcat指向第一个地址,Apache指向第二个地址:

 # Apache configuration NameVirtualHost xxx2:80 <VirtualHost xxx2:80> #Your site configuration </virtualHost> 

在这种情况下,请不要忘记重新指定您的DNS条目。