Настройка Tomcat для нескольких веб-сайтов на одном сервере (Linux) - PullRequest
2 голосов
/ 28 июня 2019

Я знаю, что этот вопрос может быть похож на другие, однако я не смог решить это.

У меня есть сервер с 25 веб-сайтами, все они используют Tomcat. Я перехожу на новый сервер, на котором установлен Tomcat 8 (обычная версия), тогда как старый сервер использует «легкий кот CPanel».

Я начал миграцию одного веб-сайта, который теперь работает на новом сервере, однако, когда JSP вызывается из браузера, браузер показывает код JSP вместо его выполнения.

На моем старом сервере я должен был выполнить функцию из легкого tomcat CPanel под названием "install servlets" , которую я действительно не знаю, что он делает, однако после выполнения этого Tomcat будет выполнить JSP.

Теперь, на моем новом сервере, согласно тому, что я прочитал, я добавил это в файл% CATALINA_HOME% / conf / server.xml внутри тегов <Engine></Engine> (которые я также должен был включить в мой старый сервер):

<Host name="mydomain.com" appBase="/home/myAccName/public_html/">
<Context path="" reloadable="false" docBase="/home/myAccName/public_html" />
</Host>

Как видите, приложение не находится в каталоге% CATALINA_HOME% / webapps /, и мне нужно, чтобы оно было таким.

Чего мне не хватает?

Любая помощь будет по достоинству оценена

Я использую Tomcat 8, EasyApache 4 и CentOS 7.6

Ответы [ 2 ]

2 голосов
/ 28 июня 2019

Вы можете создать VirtualHosts , чтобы настроить несколько веб-сайтов с несколькими доменными именами на одном сервере. Вы можете попробовать то же самое в Tomcat 7, 8 и 9, а также. 1. Отредактируйте соответствующий файл server.xml и включите виртуальные хосты, как показано ниже.

Обязательно перезапустите сервер tomcat , чтобы изменения вступили в силу.

<Host name="example.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Alias>www.example.com</Alias>

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="example_access_log" suffix=".txt"
           pattern="%h %l %u %t %r %s %b" />

    <Context path="" docBase="/opt/tomcat/webapps/myapp1"
           debug="0" reloadable="true"/>
</Host>


<Host name="mydomain.org"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Alias>www.mydomain.org</Alias>

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="mydomain_access_log" suffix=".txt"
           pattern="%h %l %u %t %r %s %b" />

    <Context path="" docBase="/opt/tomcat/webapps/myapp2"
           debug="0" reloadable="true"/>
</Host>

Объяснение

Например, для домена example.com / opt / tomcat / webapps / myapp1 является корневым каталогом документа (для вашей сети 1). Для домена mydomain.org / opt / tomcat / webapps / myapp2 является корневым каталогом документа (для вашей сети 1).

1 голос
/ 28 июня 2019

проверьте следующее в вашем файле tomcat / conf.web.xml

  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...