출처 : http://blog.daum.net/gujjy/114


tomcat 으로 mysql 접속시 인코딩이 깨어질 때 체크해야 할 것들.


1. 데이타베이스 및 테이블 생성 시 인코딩 적용

  CREATE DATABASE 디비명 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

  CREATE TABLE 테이블명(
    컬럼들~~~~
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='테이블 주석';


2. jdbc 데이터 소스 생성 시 인코딩 적용

  jdbc:mysql://서버주소:포트/디비명?useUnicod=true&characterEncoding=utf8


  &는 xml 에서는 &로 적어준다.


3. web.xml에 인코딩 필터 적용

<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


4. Get 파라메터 한글 깨짐 적용

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf8" />


  URIEncoding을 적용하면 get으로 한글을 보낼때 깨지 않는다.




저작자 표시
신고


톰켓이 스레드가 부족할 경우 아래와 같은 메세지를 출력하고 다운될 때가 있다.


심각: All threads (200) are currently busy, waiting. Increase maxThreads (200) or check the servlet status


기본적인 maxThreads가 200이므로 늘려주면된다.


Tomcat폴더/conf/server.xml 파일에서 Connector 엘리먼트에서 변경 혹은 추가한다.


<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               maxThreads="400"
               redirectPort="8443" />


참고 : http://blog.naver.com/PostView.nhn?blogId=junix&logNo=80125225673

저작자 표시
신고

'IT분야 > Server' 카테고리의 다른 글

[Server]Tomcat max thread 변경  (0) 2013.12.13
[Server]Tomcat 메모리 변경  (0) 2013.12.13
[Tomcat]tomcat get 한글 깨짐  (0) 2013.12.10
[Tomcat]PermGen space  (0) 2012.11.04
Weblogic 메모리 PermGen space 에러.  (0) 2012.11.04
[Apache+PHP+MySQL] Windows 2003 Server APM 셋팅  (0) 2010.12.20

참조 : http://blog.naver.com/PostView.nhn?blogId=junix&logNo=80125225673

Tomcat 메모리 변경


 bin/catalina.sh 파일에 아래 내용을 맨 위쪽에 추가한다.


리눅스 :  JAVA_OPTS=$JAVA_OPTS -Xms512m -Xmx1024m -XX:PermSize=128m

윈도우 : set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m -XX:PermSize=128m


톰켓을 재시작한다.


저작자 표시
신고

'IT분야 > Server' 카테고리의 다른 글

[Server]Tomcat max thread 변경  (0) 2013.12.13
[Server]Tomcat 메모리 변경  (0) 2013.12.13
[Tomcat]tomcat get 한글 깨짐  (0) 2013.12.10
[Tomcat]PermGen space  (0) 2012.11.04
Weblogic 메모리 PermGen space 에러.  (0) 2012.11.04
[Apache+PHP+MySQL] Windows 2003 Server APM 셋팅  (0) 2010.12.20

참조 : http://devday.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-Eclipse%EC%97%90%EC%84%9C-%ED%86%B0%EC%BA%A3-Tomcat-%EC%82%AC%EC%9A%A9-%EC%8B%9C-%ED%95%9C%EA%B8%80-GET-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0%EA%B0%80-%EA%B9%A8%EC%A7%88-%EB%95%8C


톰켓 사용시 get 파라메터가 인코딩이 깨어질 때가 있다.

server.xml에 Connector에 옵션을 주면 된다.


아파치 등과 같이 WEB서버와 연동시에는 AJP 커넥터에도 URIEncoding을 달아준다.



<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf8" />




web.xml에 인코딩필터를 달아준다.

<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


저작자 표시
신고

'IT분야 > Server' 카테고리의 다른 글

[Server]Tomcat max thread 변경  (0) 2013.12.13
[Server]Tomcat 메모리 변경  (0) 2013.12.13
[Tomcat]tomcat get 한글 깨짐  (0) 2013.12.10
[Tomcat]PermGen space  (0) 2012.11.04
Weblogic 메모리 PermGen space 에러.  (0) 2012.11.04
[Apache+PHP+MySQL] Windows 2003 Server APM 셋팅  (0) 2010.12.20

출처 : http://forums.eukhost.com/f33/tomcat-java-lang-outofmemoryerror-permgen-space-7675/#.UJVs8IboqQU

이클립스로 톰켓구동하여 사용하다 보면 PermGen space 에러가 날때가 있다.

메모리 사이즈를 조절해 준다. catalina.sh 파일을 수정한다.

1) vi /usr/local/jakarta/tomcat/bin/catalina.sh

2) Add following line into the catalina.sh file.

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"


저작자 표시
신고

출처 : http://blog.naver.com/prime768?Redirect=Log&logNo=50047432163


이클립스에서 Tomcat Server를 생성하려고 할때

Cannot create a server using the selected type 이 발생한다면
(기존에 사용하던 톰켓 서버 위치가 변경되었을 경우 이러한 에러가 난다고 함)


WorkSpace 안에 있는 다음의 경로를 찾아

( .metadata\.plugins\org.eclipse.core.runtime\.settings )



org.eclipse.wst.server.core.prefs

org.eclipse.jst.server.tomcat.core.prefs



2개 파일을 지워준다.



이클립스 재시작후 다시 추가 모드


저작자 표시
신고

리눅스 기반에서 톰켓을 셋팅하고 스프링 프레임웍을 이용하여 개발환경을 테스트하던중

PermGen space라는 메세지를 뿜으며 한번씩 톰켓이 죽었다.


메모리 문제..


JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"


위 와 같이 catalina.sh 에 추가해주었다.

저작자 표시
신고


** catalina.out 날짜별로 쌓기
cronolog를 설치해야 한다.
홈페이지는 http://cronolog.org/  에서 받아서 설치한다.
]# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
]# tar xvzf cronolog-1.6.2.tar.gz
]# cd cronolog-1.6.2
]# ./configure --prefix=/usr/local/cronolog
]# make
]# make install
]# /usr/local/cronolog/sbin/cronolog

설치후 다음 톰켓의 catalina.sh 를 편집한다.(%TOMCAT% 은 톰켓 설치 경로)
vi %TOMCAT%/bin/catalina.sh
...
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
...

부분을 아래와 같이 변경한다.(tomcat5.5기준으로 266번째 라인쯤 있다.또한 else 부분도 같이 변경해줘야 한다.)
...
org.apache.catalina.startup.Bootstrap "$@" \
start |/usr/local/cronolog/sbin/cronolog %TOMCAT%/logs/%Y-%m-%d.catalina.out >> /dev/null 2>&1 &
...

톰켓을 재구동한다.
]# shutdown.sh
]# startup.sh

저작자 표시
신고

첨 해봤던 서버셋팅.. 오래됐지만 문서로 남겨두기로 했다.

** 참조 링크
1. http://forum.falinux.com/zbxe/?mid=manual_centos 
 - 설치가 자세하게 잘 나와있다.
2. http://jmsource.tistory.com/33
 - SATA가 잡히지 않아 고생했다. 우분투는 설치가 잘 되던데.. CentOS는 설치화면에서 SATA DVD-ROM을 인식못해서
  한참을 헤매다가 찾았다. 이렇게 하면 설치는 된다.. 다만 리눅스 종료할때 자동으로 꺼지지 않는다. 수동으로 눌러줘야된다.
  뭐.. 서버 끌일은 크게 없으니

**  리눅스 설치
1. 리눅스 CentOS 5.3버전 DVD 한 장 버전으로 그래픽 모드로 설치
(SATA로 시디롬 인식 불능시 초기 설치시 linux all-generic-ide acpi=off irqpoll selinux_compat_net=1 치고 엔터)

2. 설치패키지 선택시 Desktop Gnome 를 체크 한다. 바로 밑부분에 지금 사용자 설정에 체크하고 다음.
   개발용 도구탭에서 필요한 부분 체크(DNS나 메일서버 SSH등) 하여 설치를 완료. 하드디스크 분할은 잘몰라서 패스했다

** Java JDK 1.5 설치
# 링크 : http://java.sun.com/products/archive/j2se/5.0_12/ 에서 JDK 5.0 Update 12를 다운로드클릭한다. 다음 페이지에서 Platform을 리눅스 Language를 Multi-language를 체크, I agree 체크 한 후 Continue하여 다음 페이지에서 나오는 두 개의 파일 중 rpm이 붙지 않은 파일을 다운로드
# 파일을 /usr/local/ 로 이동 시킨다.
# chmod 755 jdk-1_5_0_12-linux-i586.bin  하여 권한 수정.
# ./jdk-1_5_0_12-linux-i586.bin   실행하면 압축이 풀리면서 폴더가 생성된다.
# ln -s 생성된폴더명 java
심볼릭 링크를 걸어줌(classpath추가시 폴더이름이 길고 업데이트시 폴더이름이 바뀌면 수정해야 하므로 걸어줌)
# vi /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
환경변수를 추가한다. 추후 mysql커넥터 등 알아서 더 추가하시길.
# source /etc/profile 로 적용
# env 로 환경변수 확인

** Tomcat 설치
# 링크 : http://tomcat.apache.org/ 에서 Tomcat 5.5를 선택 Core에서 tar.gz버전을 다운받는다.
# tar zxvf 파일명.tar.gz 로 압축해제.
# mv 폴더명 /usr/local/tomcat5   로 이동시키면서 기존의 폴더명을 tomcat5로 변경
# 문서에 첨부된 tomcat파일을 /etc/rc.d/init.d/ 으로 이동 후 chmod 755 /etc/rc.d/init.d/tomcat 로 권한 변경
  첨부된 파일은 톰켓을 서비스에 등록시키기 위한 파일임.
# chkconfig --add tomcat 서비스로 등록한다.
# service tomcat start  서비스 시작.
--톰켓 콘솔창 출력을 위해서는 톰켓폴더/logs/ 폴더에서 tail -f catalina.out을 치면 된다.
--또한 톰캣폴더/common/lib 의 servlet-api.jar 파일 및 mysql커넥터를 jdk폴더/jre/lib/ext 에 복사.

** MySql 설치
# yum -y install mysql mysql-server mysql-connector-odbc mysql-devel
# mysql_install_db && chown -R mysql:mysql /var/lib/mysql     기본 mysql DB인스톨.소유권한 변경
# /etc/rc.d/init.d/mysqld start
# mysqladmin -u root password 123456      : 사용자와 패스워드 설정
# chkconfig --add mysqld  이하 서비스 등록
# chkconfig --level 2345 mysqld on
# chmod 755 /etc/rc.d/init.d/mysqld
# service mysqld restart
--추가적으로 mysql 인코딩셋을 euckr로 변경시
-- vi /etc/my.cnf에서
-------------------------------------------------
[client]
...
default-character-set = euckr

[mysqld]
...
default-character-set=euckr
init_connect = SET collation_connection = euckr_korean_ci
init_connect = SET NAMES euckr
charater-set-server = euckr
collation-server = euckr_korean_ci

[mysqldump]
...
default-character-set=euckr

[mysql]
default-character-set=euckr
----------------------------------------------------
-- euckr과 euckr_korean_ci 로 변경한다. 항목이 없을 시 utf로 된 것 모든 것 변경
-- 확인 mysql에 접속된 상태에서  show variables like 'c%' euckr 로 변경되어 있으면 완료.
  (character_set_system은 기본셋팅따라감. utf8)

** FTP(vsftpd) 설치
# rpm 검색하여 기존버전 설치되어 있을 경우 소프트웨어추가/삭제에서 제거 후 설치한다.
# wget http://pkg.tini4u.net/ftp/vsftpd/i386/vsftpd-2.0.5-10.el5_kor.i386.rpm 으로 다운
# rpm -ivh 파일명  으로 설치
# /etc/vsftpd/vsftpd.conf 로 모든  ftp설정 가능. 어느 개발자분이 기본적인 셋팅을 잘 해놓으셨다.
# /etc/init.d/vsftpd start  로 서비스 시작

** 방화벽
/etc/sysconfig/iptables 에서 방화벽 포트 설정
/sbin/service iptables restart 재시작
/sbin/service iptables status 적용현황보기

♦ IP설정 /etc/sysconfig/network-scripts

저작자 표시
신고

'IT분야 > Linux' 카테고리의 다른 글

[Linux]unison을 이용한 양방향 동기화  (0) 2010.10.29
[Linux] CentOS 5.3 Server 셋팅  (0) 2010.08.25

Apache와 Tomcat을 연동하기 위해서는 보통 mod_jk나 proxy_ajp 를 사용하는 두가지 방법이 있습니다.
회사에서는 mod_jk를 주로 사용합니다. 실제로 아직은 mod_jk 방법을 권장하고 있기는 합니다. 이유는 다양한 옵션이 있다는 것이죠. 하지만 mod_jk의 다양한 옵션을 사용해서 튜닝을 하는 경우가 아니라면 제가 볼때는 비슷합니다.

  1. Windows에서 mod_jk를 이용해서 Apache, Tomcat 연동하기 - Windows에서 mod_jk를 이용해서 Apache, Tomcat 연동하기
  2. Linux에서 mod_jk를 이용해서 Apache, Tomcat 연동하기 - Linux에서 mod_jk를 이용해서 Apache, Tomcat 연동하기
  3. Windows에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기 - Windows에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기
  4. Linux에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기 - Linux에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기


방법간에 차이가 크지 않지만 아무래도 방법과 OS간의 차이가 조금씩은 있어서 정리해둡니다.
mod_jk와 proxy_ajp방식의 성능차를 비교했던 자료가 있었는데 개인적인 실수로 지워져 버려 올리지 못하는건 아쉽네요. ^^

이동욱님 포스트에 있는 좋은 글이네요.


http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/

저작자 표시
신고