분류 전체보기
- eslint + prettier 2019.12.02
- 프론트엔드 면접 질문 모음 2019.12.02
- Centos 6.5 에서 6.6 업그레이드 이후 문제점 2014.11.09
- Tomcat Session Clustering 설정 2014.11.08
- Redmine + Git 환경 구축 2012.03.17
- sonar 한글 처리 2012.02.08
- Eclipse Indigo Javascript Validation 체크 하지 않는 방법. 2012.02.04
- CI 환경 구축 하기 2011.07.17
- ThreadLocal 사용법 2011.07.17
- iText 한글 문제 처리 2011.05.08
eslint + prettier
프론트엔드 면접 질문 모음
Centos 6.5 에서 6.6 업그레이드 이후 문제점
Centos 6.5 에서 6.6 업그레이드 이후 시스템이 이상해졌다.
nginx - tomcat 연동을 잘 되었는데 자꾸만 permition deny 오류가 뜬다.
구글링을 해도 답이 없어서... 친구에게 확인 결과
/etc/selinux/confg 열어 보니 SELINUX=enforcing 되어 있다.
SELINUX=disabled 로 변경후 재부팅 하니 잘 동작 한다.
SELINUX가 뭐지?? ㅡㅡ;;
어려운 OS의 세계~
그래도 해결~
친구야~ 고맙다~ ㅋㅋ
추가 작업.. .수정
SELINUX 관련 자료를 찾다가 SELINUX를 disabled 하지 않고 해결 방법을 찾았는데
/var/log/audit/audit.log 에서 nginx 가 denied 되는 부분만 찾아
semodule 로 추가 해주는 방법
I had a similar issue getting Fedora 20, Nginx, Node.js, and Ghost (blog) to work. It turns out my issue was due to SELinux.
I checked for errors in the SELinux logs:
sudo cat /var/log/audit/audit.log | grep nginx | grep denied
And found that running the following commands fixed my issue:
sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
sudo semodule -i mynginx.pp
References:
SELINUX 어렵군.. ㅡㅡ;
'서버 설정' 카테고리의 다른 글
Tomcat Session Clustering 설정 (0) | 2014.11.08 |
---|
Tomcat Session Clustering 설정
- 세션 클러스터링 샘플 : tomcat.tar.gz
핵심 개념
- Multicast
- Session Manager in Tomcat
Multicast
Multicast는 특정 수신자 그룹에게 단순 메시지를 전송하는 방법이다.
Tomcat에서는 Apache Tribes Pear-to-pear communication framework 를 사용한다.
Tomcat 세션 관리자 종류
Standard Manager |
기본 세션 관리자 |
Persistent Manager |
File Store, JDBC Store 두가지 방식이 있음 |
Delta Manager | 다른 인스턴스와 세션을 복제(공유) 한다. |
Backup Manager | 다른 인스턴스와 세션을 복제(공유) 한다. |
세션 복제 설정 방법
- multicast routing
- conf/server.xml <Cluster> 추가
- web.xml <distributable /> 추가
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4001" <!-- 한 서버에 여러 Tomcat를 구동할 경우 Port 번호를 다르게 설정 -->
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
참고:
- 세션 공유가 되지 않을 경우 방화벽을 확인 해 볼 필요가 있다.(multicast 는 UDP 통신을 한다.)
- 하나의 서버에 다수의 Tomcat를 구동할 경우 <Receiver> 의 Port는 각 서버마다 다르게 설정 해야 한다.
- Creation of SecureRandom instance for session ID generation 할 때 시간이 올래 걸리면
-Djava.security.egd=file:/dev/./urandom 설정을 추가 한다.
'서버 설정' 카테고리의 다른 글
Centos 6.5 에서 6.6 업그레이드 이후 문제점 (0) | 2014.11.09 |
---|
Redmine + Git 환경 구축
Gitosis를 이용하여 Redmint + Git 환경 구축
# git 사용자 추가
suso adduser --system --shell /bin/bash --gecos "Git Administrator" --group --disabled-password --home /opt/git git
sudo -H -u git ssh-keygen -t rsa
vi vendor/plugins/redmine-gitosis/lib/gitosis.rb
cd /var/www/redmine
rake db:migrate_plugins RAILS_ENV=production
sudo cp -R ~git/.ssh ~www-data/.ssh
sonar 한글 처리
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- EXAMPLE FOR MYSQL -->
<sonar.jdbc.url>
jdbc:mysql://192.168.120.52:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- SERVER ON A REMOTE HOST -->
<sonar.host.url>http://192.168.120.52:9000</sonar.host.url>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</profile>
'Java' 카테고리의 다른 글
ThreadLocal 사용법 (0) | 2011.07.17 |
---|---|
iText 한글 문제 처리 (0) | 2011.05.08 |
Eclipse Indigo Javascript Validation 체크 하지 않는 방법.
'Java > 개발 환경' 카테고리의 다른 글
CI 환경 구축 하기 (0) | 2011.07.17 |
---|
CI 환경 구축 하기
Sonar 소개 및 구축 : http://blog.naver.com/stonedragony/50100178043
Sonar에서 App.분석 / Data 수집하기 : http://blog.naver.com/stonedragony/50100501541
Hudson / Sonar 연동하기 : http://blog.naver.com/stonedragony/50101740211
'Java > 개발 환경' 카테고리의 다른 글
Eclipse Indigo Javascript Validation 체크 하지 않는 방법. (0) | 2012.02.04 |
---|
ThreadLocal 사용법
'Java' 카테고리의 다른 글
sonar 한글 처리 (0) | 2012.02.08 |
---|---|
iText 한글 문제 처리 (0) | 2011.05.08 |
iText 한글 문제 처리
여러곳을 찾아봐도 답이 없어 BaseFont 소스를 보고 찾은 방법 입니다.
iText 사용 버전은 5.1.0 입니다.
우선 WEB-INF/class/font 라는 폴더에 사용하고 싶은 폰트 파일을 넣어 둡니다.
저는 맑은고딕을 사용 하였습니다.
그리고 해당 폰트를 아래와 같이 만듭니다.
전체 사용방법은 아래와 같습니다.
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:/test.pdf"));
document.open();
BaseFont objBaseFont = BaseFont.createFont("font/MALGUN.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font objFont = new Font(objBaseFont, 12);
document.add(new Paragraph("First Page", objFont));
document.add(new Paragraph("한글", objFont));
document.close();
'Java' 카테고리의 다른 글
sonar 한글 처리 (0) | 2012.02.08 |
---|---|
ThreadLocal 사용법 (0) | 2011.07.17 |