ubuntu apache2 virtualhost 在埠上不同於 80 的正確配置是什麼
我剛剛繼承了一個伺服器 ubuntu 10.04,它已經在埠 80 上執行了 tomcat。所以 apache 2
/etc/apache2/ports.conf
有 Listen 8858。我將我的子域讓我們說 admin.domain.com 指向該框的 ip,所以
xx.xx.xx.xx:8858
兩者admin.domain.com:8858
都將我發送到根文件“它可以工作”所以我確實在下面創建了
/var/www/vhots/admin.domain.com/htdocs
,/var/www/vhots/admin.domain.com/log
我的第一個配置如下,基本上在重新載入並重新啟動 apache2 之後給了我這個錯誤VirtualHost *:8858 – 不支持將 * 埠和非 * 埠與 NameVirtualHost 地址混合,導致未定義的結果 httpd (pid 7466?) not running
###/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 sensei@domain.com 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 has no VirtualHosts httpd (pid 27536?) not running
$$ warn $$NameVirtualHost *:8858 沒有 VirtualHosts $$ fail $$
我怎樣才能把它弄起來?感謝您閱讀本文
試試這個:
如果您已經在埠 80 上執行 Tomcat,則無法將 Apache 附加到同一埠。沒有埠的 HTTP URL,如http://admin.domain.com,假定埠為 80。
因此,為了使您的站點可以在沒有埠 (:8858) 的情況下訪問,您需要將 Tomcat 移動到另一個埠。
如果您在同一台伺服器上有 2 個 IP 地址,例如 xxx1 和 xxx2,還有另一種解決方案。然後將 Tomcat 指向第一個地址,將 Apache 指向第二個地址:
# Apache configuration NameVirtualHost x.x.x.2:80 <VirtualHost x.x.x.2:80> #Your site configuration </virtualHost>
在這種情況下,不要忘記將您的 DNS 條目重新指向正確。