tomcat 독립서버 운영에 대한 질문입니다...

stingkyw의 이미지

질문하나 드립니다...
톰켓을 하나만(/usr/local/tomcat) 설치해서
사용하는 것은 아파치 루트홈과 유저홈에서
jsp와 servlet 모두 실행될수 있도록 설정했는데요,
(그러니까 공영서버를 말하는 것이겠죠...
아파치와 톰켓 연동잘됨)

톰켓을 유저마다 하나씩 설치해서 유저 개인이
단독으로 톰켓을 사용할 수 있도록 설정 할려고 하는데,

예를 들면,
내가 사용할 것은 /usr/local/tomcat 에 설치하고,
유저 들이 사용할 것은 /home/j/tomcat 에 설치해서
(여기서는 j라는 유저라고 했지만,각각의 유저명이 되겠죠)
독립적으로 실행하고 끌수 있게 할려고 하는데,

cd /home/j/tomcat/bin/
./startup.sh 로 j유저의 톰켓을 실행 하면,

[root@localhost bin]# ./sratrup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/local/j2sdk

이렇게 나오는 군요...
원래는 아래처럼 나와야 한는데 말이죠...

[root@localhost bin]# ./sratrup.sh
Using CATALINA_BASE: /home/j/tomcat
Using CATALINA_HOME: /home/j/tomcat
Using CATALINA_TMPDIR: /home/j/tomcat/temp
Using JAVA_HOME: /usr/local/j2sdk

아마 /etc/profile.d 의 jdk.sh 파일 설정때문에 그런 것 같은데
jdk.sh파일처럼 유저에 맞게 적어서 어떻게 매칭 시켜주면 될것 같은데,
잘 않되네요...
어떻게 힌트라도 좀 주시면 감사드릴께요...

아래는 jdk.sh파일의 내용입니다...
JAVA_HOME=/usr/local/j2sdk
CATALINA_HOME=/usr/local/tomcat
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
CLASSPATH=.:/usr/local/tomcat/common/lib/servlet-api.jar:/usr/local/tomcat/shared/lib/mysql-connector-java-3.1.10-bin.jar:
export JAVA_HOME CATALINA_HOME PATH CLASSPATH

PS:내가 쓸 톰켓은 /usr/local/tomcat 에 설치해서 사용,
유저는 /home/유저명/tomcat 에 각각 설치...

설치환경
Redhat Enterprise Linux AS 4
httpd-2.0.49
php-4.3.6
mysql-4.0.20
jakarta-tomcat-5.0.28
j2sdk-1_4_2_09
jakarta-tomcat-connectors-jk2-src-current

익명 사용자의 이미지

tomcat의 설정파일은 아마도 ${TOMCAT_ROOT}/conf/server.xml 일겁니다. 아무튼 각각의 server.xml파일의 설정을 모두 다르게 해야 유저별로 사용할 수 있을겁니다. 아파치와 연동이라면 커넥터도 모두 따로 설정해야겠죠.

근데 유저별로 톰캣 프로세스를 할당하면 무슨 장점이 있길래 이런 삽질을 하시려는지 궁금하군요. 보통 그냥 유저 컨텍스트 추가로 충분하지 않나요?

익명 사용자의 이미지

초보라 궁금해서 그럽니다. 어디에 물어봐야 할지도 몰라서...

(1) '아파치'나 '톰캣'을 라이센스비용을 지불하지 않고 무료로 쇼핑몰 운영등의 상업적 용도로 사용이 가능한가요 ?

(2) 그리고, SUN의 JAVA 'J2EE'도 역시, 라이센스비용을 지불하지 않고, 직접운영하는 쇼핑몰 운영 등등의 목적으로 애플리케이션 개발등의 상업적 용도(SI사업이나 소프트웨어 개발 및 판매들 하자는 것은 아니고)로 무료로 사용이 가능한가요 ?

(3) PHP는 라이센스 비용관계가 어떻게 되나요 ?

incarnate의 이미지

제가 apache+php+mysql+tomcat+mod_jk 연동해서 서비스를 하는 곳이 있는데 원하시는게 혹시 버추얼 호스트 아닌지요?

각 사용자마다 톰켓을 실행해서 사용한다면 컨테이너 자체의 메모리 점유율이 상당히 높은걸로 알고 있습니다. (힙 메모리인거 같은데 잘은 모르겠습니다.)

또한 jsp코드 같은 경우 변경될때마다 자체적으로 해당 코드를 재컴파일을 해서 cpu사용량도 무시하지 못합니다.

여러 사용자가 각 계정의 jsp코드를 사용한다면 제일 좋은 방안은 버추얼 호스트가 아닐까 생각합니다.

아피치와 톰켓연동후 아파치와 톰켓에 각각의 버추얼 호스트를 잡으면 됩니다.

도움이 되셨길 바랍니다.

먹고 죽자~

innu의 이미지

논점에서 벗어나는듯 하지만 유별나게 큰 웹프로젝트가 아니면 톰캣+mod_jk+아파치를 쓰는경우는 거의 보지 못한듯 합니다.
보통 웹로직을 써더군요.

톰캣 설정하는것도 머리아픈데 아파치 연동까지 하다 제풀에 쓰러지곤 합니다(저 같은경우...)
톰캣버전도 올라가고해서 톰캣아파치로 간단히 세팅해서 사용하는게 훨 이득이지 않을까 싶네요

Debian Spirit !!!

incarnate의 이미지

음...

큰 기관이나 큰 프로젝트일 경우 tomcat이나 레진이 아닌 웹로직을 쓰지 않나요?

대형 사이트일 경우는 보통 웹로직+oracle을 쓰는 걸로 알고 있습니다.

혹은 oracle+oc4j 인거 같은데...

저도 요즘 좀더 규모가 있는곳으로 이직 하고 싶어서 웹로직을 공부하고 있습니다.

설정같은 경우는 웹로직이 전 더 어렵던데...

먹고 죽자~

stingkyw의 이미지

오늘 들어와 보니 답변 주셨네요...답변주신분 모두 감사드립니다...
위에 제가 질문드렸던 부분은 해결했습니다...
startup.sh , shutdown.sh, catalina.sh 에 jdk.sh파일의 내용에서
경로만 바꿔서 삽입해 주면 되더군요...

저같은 경우는 사용하기 편하게 하기위해 아파치 유저 계정홈
디렉토리에서 80포터로 jsp, 서블릿을 실행하기 위해 삽질 중입니다...
버츄얼 호스트는 아니구요...

오늘은 다른 문제가 하나 생겼는데,
아파치와 톰켓을 연결하기위해 8009 포터를 사용하는데
한개의 톰켓을 실행해서 8009포터를 사용하면 다른
톰켓은 80포터를 사용못하더군요...
workers2.properties 에 보면 8009포터 외에 다른 port도
추가 할수 있으면 모든게 해결 될 듯한데 포터 추가 하는 방법을 모르겠네요...에고...

jw0717의 이미지

stingkyw wrote:

오늘은 다른 문제가 하나 생겼는데,
아파치와 톰켓을 연결하기위해 8009 포터를 사용하는데
한개의 톰켓을 실행해서 8009포터를 사용하면 다른
톰켓은 80포터를 사용못하더군요...
workers2.properties 에 보면 8009포터 외에 다른 port도
추가 할수 있으면 모든게 해결 될 듯한데 포터 추가 하는 방법을 모르겠네요...에고...


80번포트를 사용하지 못하는건 이미 아파치가 사용중이거나

아니면 privileged port로서 1024 이하는 root만 사용할수있는

port입니다..따라서 톰캣을 root가 아닌 일반 유저로 실행시켰다면..

stingkyw의 이미지

workers2.properties 에서 8009포터 외에 다른 port 추가하는 방법...
간단하더군요...
항상, 알고 나면 별거 아닌데, 알기 전까진 헤메야 하는...
다른분들 혹시 참고가 될까하고 글 남김니다...
workers2.properties 의 맨 아래쪽 부터 원하는 port를
아래의 문장처럼 추가 해 주기만 하면 되더군요...

[channel.socket:localhost:8010]
port=8010
host=127.0.0.1

[ajp13:localhost:8010]
channel=channel.socket:localhost:8010

[uri:/~j/*.jsp]
worker=ajp13:localhost:8010

[uri:/~j/servlet/*]
worker=ajp13:localhost:8010

익명 사용자의 이미지

초보라 궁금해서 그럽니다. 어디에 물어봐야 할지도 몰라서...

(1) '아파치'나 '톰캣'을 라이센스비용을 지불하지 않고 무료로 쇼핑몰 운영등의 상업적 용도로 사용이 가능한가요 ?

(2) 그리고, SUN의 JAVA 'J2EE'도 역시, 라이센스비용을 지불하지 않고, 직접운영하는 쇼핑몰 운영 등등의 목적으로 애플리케이션 개발등의 상업적 용도(SI사업이나 소프트웨어 개발 및 판매들 하자는 것은 아니고)로 무료로 사용이 가능한가요 ?

(3) PHP는 라이센스 비용관계가 어떻게 되나요 ?

익명 사용자의 이미지

:wink:

익명 사용자의 이미지

. .

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.