Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: chandler в Feb 02, 2009, 14:23



Титла: Помощ с Apache <-> Tomcat
Публикувано от: chandler в Feb 02, 2009, 14:23
Здравейте,
моля ако някой знае как да се оправя със следния проблем да помгне   :). Значи имам 2 сървъра. На единия сървър имам apache, а на другия - tomcat и jforum. Когато достъпя jforum-а по IP всичко е наред - зарежда се, но когато го заредя по име се зарежда, но не както трябва - не се зареждат картинките и дизайна е един разбъркан. Като натисна някой линк ми дава грешка 404. Нагласил съм apacha когато дойде име forum.website.com да редиректва към сървъра с jforum-а към tomcat-a. Променил съм порта на tomcat-a на 80, но не това е дъното на проблема. Всичко с ДНС-а ми е ок. Става дума, че като достъпя по IP от вътрешната ми мрежа не минава заявката през редиректа на apacha - когато го достъпя по име - нещата не сработват явно тук. Какво трябва да направя?
Благодаря предварително.


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: plamen_f в Feb 02, 2009, 17:23
Ти какво разбираш под DNS нещата са ми ОК?

Как разбира Апаха ти къде е в същност форума?

Бих ти препоръчал да си сложиш в /etc/hosts forum.domain.com с неговото IP.
И си направи форварда към него.

btw.с какво форвардваш през апаха?


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: sharan4o в Feb 02, 2009, 18:14
как редиректваш? mod_jk, reverseproxy?


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: chandler в Feb 02, 2009, 19:09
forward-a го правя с reverse proxy. Явно той работи или поне така мисля, но не изцяло защото когато ми дойдат заявките от външна мрежа към forum.site.com примерно apacha редиректва към другия сървър, където е форума защото се зареждат елементи на форума, но не всички. Като че ли само HTTP работи - чисти текстови низове и някои линкове, но без картинки и какъвто и да е било интерфейс - всичко е хаотично. Не знам защо се получава така - как трябва да уведомя apacha за tomcat-а на другия сървър. Дали не изпълнява jsp-тата ли и аз не знам. Защото аз реално редиректвам само, но никъде не съм конфигурирал апаша за наличие на томкат. Ето тук ме мъчи проблема. Не знам кое къде, как. Опитах и с mod_jk, но когато рестартирам апаша при наличието на този модул спира въобще целия ми апаш да работи.


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: gat3way в Feb 03, 2009, 09:51
С reverse proxy е доста глупаво...и най-вероятно не може да стане без да се пипне j2ee приложението. И обяснението е много просто, например jsp-то генерира един документ с img src=http://tomcathost/image.jpg. Проксито може да пренаписва само хедъри, но не и съдържанието на отговора. Като резултат се получава точно това, което описваш - липсващи картинки и неработещи линкове.

Така че си го направи с mod_jk2. Само внимавай как си конфигурираш worker-ите.


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: sharan4o в Feb 03, 2009, 10:33
mod_lk2 го спряха преди някоя и друга година. Аз си ползвам mod_jk. М/у другото и с ajp_proxy  нямам проблеми, но то базира в/у reverse proxy. Така че и моят съвет е да конфигурираш mod_jk. Ако има нужда от помощ и там, казвай, но моля с paste на конфига ти.


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: chandler в Feb 03, 2009, 11:40
Добре, сложих mod_jk. Понеже апаша и томката са ми на различни сървъри, не зная как да направя конфигурациите по mod_jk и worker.properties. За момента са ми така"

1)worker.properties:
# Incredibly simple workers.properties file, intended for connecting
# to one host, via AJP13.  See the tomcat documentation for
# information on more exotic configuration options.
#
# Change jsp-hostname to the hostname of your JSP server.
#
worker.list=worker1

worker.worker1.port=8009
worker.worker1.host=10.0.11.48
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

2)mod_jk.conf:
# Replace jsp-hostname with the hostname of your JSP server, as
# specified in workers.properties.
#
<IfModule mod_jk.c>
        JkWorkersFile etc/apache22/workers.properties
        JkLogFile  /var/log/jk.log
        JkShmFile  /var/log/jk-runtime-status
        JkLogLevel error

        # Sample JkMounts.  Replace these with the paths you would
        # like to mount from your JSP server.
        JkMount /srv/www/tomcat6/webapps/* 10.0.11.48

Също така за момента съм обявил форума така:

<VirtualHost 10.0.11.37:80>
        DocumentRoot    "/usr/local/www/nonexistant"
        ServerName      forum.mysite.com
        ServerAdmin     webmaster@mysite.com
        ErrorLog        "/var/log/httpd-forum.mysite.com-error.log"
        TransferLog     "/var/log/httpd-forum.mysite.com-access.log"

        <Location />
                Order   allow,deny
                Allow   from 10.0.21
                Allow   from 10.0.22
                Allow   from 10.0.31
                Allow   from 10.0.11
                Allow   from 10.11.0
                Allow   from all
        </Location>

        ProxyPass       / http://10.0.11.48:8080/jforum/
</VirtualHost>

Така ли трябва да остане или описанието за forum.mysite.com трябва да е по друг начин?
Пак казвам апаша ми е на един сървър, а форума и томката - на друг. Съответно форума/томката са на въпросния 10.0.11.48. Да кажа само за ОС ползвам FreeBSD.

Мерси предварително.


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: sharan4o в Feb 04, 2009, 12:04
колега ето моят конфиг. Дано ти помогне:
mod_jk.conf:
Код:
# mod_jk config
# Where to find workers.properties
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk logs
JkLogFile /var/log/apache2/jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
#JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"


workers.properties:
Код:
# workers.properties -
#
# You should configure your environment slash... ps=\ on NT and / on UNIX
# and maybe something different elsewhere.
#
ps=/

#
#------ worker list ------------------------------------------
#---------------------------------------------------------------------
#
#
# The workers that your plugins should create and work with
#
worker.list=ajp13_worker

#
#------ ajp13_worker WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
#

#
# Defining a worker named ajp13_worker and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13_worker.port=8010 #тук трябва да е по дефолт 8009, но имам няколко томки
worker.ajp13_worker.host=kentucky
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1


tomcat-site:
Код:
NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost
        JkMount /* ajp13_worker
        JkMount /*.jsp ajp13_worker
        DirectoryIndex index.jsp index.html
        # Globally deny access to the WEB-INF directory
        <LocationMatch ‘.*WEB-INF.*’>
                AllowOverride None
                deny from all
        </LocationMatch>
</VirtualHost>


Титла: Re: Помощ с Apache <-> Tomcat
Публикувано от: tolostoi в Feb 04, 2009, 13:21
Аз все пак да попитам, въпреки, че е малко вероятно :) - да не би просто самата тема на форума (където са картинки и т. н.) да не е насочена правилно, защото такъв ефект съм получавал като местя форум на друг хост, по адрес ги отваря, по име не иска защото ги търси на друго име.