В CentOS 7 Linux я успешно выполнил руководство Настройка Jetty для FastCGI .
Однако $ JETTY_BASE / webapps / jetty-wordpress. xml
в руководстве служит для установки единственной Wordpress, расположенной в / var / www / wordpress
:
<New id="root" class="java.lang.String">
<Arg>/var/www/wordpress</Arg>
</New>
<Set name="contextPath">/</Set>
<Set name="resourceBase"><Ref refid="root" /></Set>
<Set name="welcomeFiles">
<Array type="string"><Item>index.php</Item></Array>
</Set>
, в то время как у меня есть несколько виртуальных хостов, каждый с Wordpress установлен в:
До сих пор я использовал Apache со следующим httpd.conf
(используя localhost в качестве IP-адреса, потому что Apache / Jetty находятся за HAProxy):
<VirtualHost 127.0.0.1:8080>
DocumentRoot /var/www/wordpress1
ServerName site1.com
ServerAlias *.site1.com
</VirtualHost>
<VirtualHost 127.0.0.1:8080>
DocumentRoot /var/www/wordpress2
ServerName site2.com
ServerAlias *.site2.com
</VirtualHost>
<VirtualHost 127.0.0.1:8080>
DocumentRoot /var/www/wordpress1
ServerName site3.com
ServerAlias *.site3.com
</VirtualHost>
Как перевести приведенное выше Apache-config в формате XML Jetty IoC?
Я решил проблему, прочитав документ Настройка виртуальных хостов и создав 3 XML-файла:
Со следующим содержимым вверху каждого файла:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
"http://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure class="org.eclipse.jetty.servlet.ServletContextHandler">
<New id="root" class="java.lang.String">
<Arg>/var/www/html/site1.com</Arg>
</New>
<Set name="contextPath">/</Set>
<Set name="virtualHosts">
<Array type="java.lang.String">
<Item>site1.com</Item>
<Item>www.site1.com</Item>
</Array>
</Set>
<Set name="resourceBase"><Ref refid="root" /></Set>
<Set name="welcomeFiles">
<Array type="string">
<Item>index.html</Item>
<Item>index.php</Item>
</Array>
</Set>
А остальная часть файла такая же, как в Настройка Jetty для документа FastCGI .