본문 바로가기

Cloud

Amazon Linux AMI에서 Apache2.2 + Tomcat7 연동 : 서버구축환경 OS: Amazon Linux AMI release 2011.09 ../../var/log/httpd lrwxrwxrwx 1 root root 29 Feb 2 05:33 modules -> ../../usr/lib64/httpd/modules lrwxrwxrwx 1 root root 19 Feb 2 05:33 run -> ../../var/run/httpd : apache 실행 $ sudo /usr/sbin/apachectl start $ netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:*.. 더보기
Amazon Linux AMI에 대하여... AWS 에서 사용하고 있는 OS는 Amazon Linux AMI 입니다. Amazon Linux AMI는 CentOS를 기반으로 하고 있으며 CentOS는 RedHat Enterprise Linux AS 기반의 리눅스 배포판입니다. 참고: http://centos.pe.kr/owiki/index.php?url=centos http://www.jopenbusiness.com/mediawiki/index.php/CentOS 또한 Amazon Linux AMI User Guide 문서에는 아래와 같은 내용이 있습니다. Is the Amazon Linux AMI compatible with other Linux distributions? The Amazon Linux AMI is very similar to C.. 더보기
Amazon EC2 / S3 mount process 목표: Amazon EC2 (Amazon Linux AMI 64) 와 S3 mount 연동 환경: Amazon Linux AMI 64는 CentOS 기반으로 만들어 졌음을 추정. http://www.cloudave.com/4872/open-source-and-cloud-computing-the-amazon-linux-ami-is-now-available/ Step 1: 아래 URL을 참조하여 mount 할 수 있는 기술 중 S3FS를 적용하기로 결정 http://code.google.com/p/s3ql/wiki/other_s3_filesystems ※ 처음에 S3QL을 적용하였으나 실제 마운트시 에러가 발생하였고 이를 해결하지 못해서 S3FS로 변경함. Step 2: S3FS 설치 절차 01. sudo .. 더보기
locate and updatedb on Amazon Linux(CentOS) Ref.: http://www.beguelin.com/2009/05/locate-and-updatedb-on-centos.html 리눅스에서 apt-get, yum, rpm 등을 사용하여 소프트웨어를 설치한 경우 어디에 설치가 되어있는지 대략난감할때가 있다. 보통 명령어의 존재를 확인할 때는 which command 를 사용하지만 이는 어디까지나 명령어의 위치만을 알려줄 뿐 실제 설치된 위치를 알려주는 것은 아니다. 더구나 리눅스는 심볼릭링크 등을 제공하기 때문에 실제 설치 위치는 더욱 알기 어렵다. 그래서 설치위치를 알려주는 유용한 명령어를 소개하고자 한다. sudo yum install mlocate sudo /etc/cron.daily/mlocate.cron 첫번째 문장을 실행하면 locate와 u.. 더보기
Eclipse + GAE class hot deploy 개발환경: JDK1.6.0_24 + Eclipse Helios SR2 + appengine-java-sdk-1.5.0 + Googel App Engine for Eclipe 서블릿 클래스를 아무리 변경해도 반영이 안되고 서버를 재시작해야 반영이 되었다. 분명 클래스의 변경은 서버 재시작과 상관이 없다고 했거늘.... 그런데 서버를 시작하는 방법이 이상했다. 많은 곳에서 서버를 시작할 때 [Debug As]로 실행하는 것이 아닌가? 나는 Debug는 안할 거니 [Run As]로 실행했다. 이런! 바로 이 차이가 서블릿 클래스의 변화를 감지하지 못하는 원인이 었다. 즉, Debug As로 서버를 시작해야 서블릿 클래스 등 클래스의 변화를 감지하여 서버 재시작과 무관하게 되는 것이 었다. 결론: GAE는 De.. 더보기
GAE/J(Google App Engine for Java)에서 JPA를 사용할 때 지원되지 않는 것들 GAE/J와 DataStore(DataNuclues)를 접한지 일주일이 되었다. 처음엔 Maven을 적용하나라 고생했고 다음엔 Spring + Struts2를 적용하느라 삽질하고 이제좀 적응되려나 싶었는데 JPA때문에 또 힘들어 졌다. Unsupported Features of JPAThe following features of the JPA interface are not supported by the App Engine implementation: Owned many-to-many relationships, andunowned relationships. You can implement unowned relationships usingexplicit Key values, though type check.. 더보기
Struts 2 ONGL issue on Google App Engine GAE/J(Google App Engine for Java)는 매우 높은 보안 환경을 제공하고 있어서 struts2를 사용할 때 OgnlRuntime security manager를 변경해줘야 한다. 아래는 보안관리자때문에 속성을 설정하려고 할때 메소드에 접근할 수 없다는 예외가 발생한 결과를 보여주고 있다. ognl.MethodFailedException: Method "setNameCardId" failed for object kr.nextree.ncbcrm.action.NameCardController@14e40da [java.lang.IllegalAccessException: Method [public void kr.nextree.ncbcrm.action.NameCardController.setN.. 더보기
GAE/J runserver : java.lang.NoClassDefFoundError: javax/jdo/metadata/TypeMetadata GAE/J(Google App Engine for Java) + maven2 + spring + struts2 를 이용하여 프로젝트를 진행하는 도중에 제목과 같은 에러를 만나 더이상 진행하기 어려웠다. 의외로 해결방법은 간단했다. http://www.jpox.org/servlet/forum/viewthread_thread,5723#30932 에서 그 해결방법을 찾을 수 있으며 그 내용은 아래와 같다. use jdo2-api-2.3-eb javax.jdo jdo2-api 2.3-eb from http://www.datanucleus.org/downloads/maven2/ 더보기