태그 글 보관함: 에러

Codenvy Eclipse Che에서 Node.js Express Sample 프로젝트 실행하기

Node.js 워크스페이스 작성

Codenvy 접속
왼쪽 사이드 메뉴 Create Workspace
탭 Runtime – Ready-to-go Stacks(선택 되어 있음)
NODE 선택
최하단 SAVE 버튼을 눌러서 워크스페이스 작성

Express 프로젝트 작성

왼쪽 사이드 메뉴에서 작성한 워크스페이스 선택해서 기동
Alt + X 키로 프로젝트 작성
SAMPLES 하단에 express 선택후 프로젝트 이름(ProjectName)을 입력하고 Create 버튼 누름
Express 프로젝트 디렉토리는 작성 되는데 Express 디렉토리 구조등은 없다.
상단 명령 중 ExpressTest: 1. Create and run project 실행해도 에러가 난다.

해결방법

먼저 Express 설치
하단 Terminal 에서 커맨드 입력

프로젝트 디렉토리에 express 구조를 생성해 주는 커맨드 입력

의존관계 설치 커맨드 입력

프로젝트 디렉토리 루트에 있는 package.json 에 기재 되어있는 의존관계에 있는 팩키지들을 설치해 준다.

실행

화면 상단 CMD 리스트박스에서 Edit Commands… 선택
CUSTOM 옆에 + 버튼을 클릭해서 새 명령 추가
이름은 적당히 넣고 Command line 에 아래 명령을 입력

ProjectName에는 프로젝트 디렉토리명을 넣는다.
Preview URL 에 입력

샘플 프로젝트에서는 서버 포트를 3000번으로 사용하고 있으므로 3000을 입력한다. 만약 포트 번호를 바꿀 때에는 여기 포트 번호도 바꿀것.
하단 Save 버튼을 눌러서 저장 후, 저장한 명령을 실행한다.
하단에 실행 결과가 나오는데 Preview 에 URL 을 클릭하면 서버에 접속 된다.(안열릴시에는 브라우저에서 F5 로 새로고침)

터미널에서 복사/붙여넣기 방법
Ctrl + Insert : 복사
Shift + Insert : 붙여넣기
Shift + Delete : 잘라내기

Could not reliably determine the server’s fully qualified domain name

우분투 서버 14.04 LTS 아파치 apache2 설치 후 기동시에 아래와 같은 에러 메시지가 출력될 때 해결 방법.

이 메시지는 아파치 기동시에 터미널이나 /var/log/apache2/error.log 파일로 출력이 되는데, 아파치 웹서버 운용에 지장이 있는 에러 메시지는 아니다. 그냥 둬도 문제가 없다.

하지만, 신경쓰이니 없애도록 하자.

ServerName 이 지정되어 있지 않아서 FQDN(Fully Qualified Domain Name) 을 결정하지 못한다니 ServerName 을 지정하도록하자. 버추얼 호스트 설정에서 ServerName 을 지정하고 있거나, 특별히 사용하고 있는 호스트명이 없다면 localhost 를 사용한다.

tee 명령은 화면 출력 내용을 파일과 화면 출력 양쪽으로 보내는 명령이다. 아래 명령으로 ServerName 을 정의를 servername.conf 파일에 쓰고, 아파치에 적용시키자.

conf 파일을 활성화

아파치 리로드

이제 /var/log/apache2/error.log 파일을 봐도 처음과 같은 에러는 출력되지 않을 것이다.

Ruby on rails 프로젝트 생성과 웹서버 기동

생성할 프로젝트 이름이 ‘rcafe’ 일 경우에 이클립스 터미널에서 이클립스 워크스페이스까지 디렉토리 이동 후에 아래 명령으로 프로젝트를 생성한다.

생성시에

이런 에러가 나면 윈도우를 재기동(리부팅)하면 된다.
Couldn’t reserve space for cygwin’s heap

프로젝트는 workspace/rcafe 디렉토리로 생성된다. 이클립스에서 임포트 -> ‘신규프로젝트로서 기존 폴더를 사용’ 메뉴를 선택, 불러올 디렉토리를 rcafe 디렉토리의 경로를 선택해 주고 프로젝트 타입을 rails 로 선택해서 불러 오면 된다.

이클립스 터미널에서 아래 명령으로 웹서버를 기동

이런 에러가 나면 루비 설치 루트\lib\ruby\gems\2.2.0\specifications\sqlite3-1.3.10-x64-mingw32.gemspec 파일을 열어

윗 부분을 아래와 같이 바꾼다.

다시 웹서버 기동하면 이번엔 아래와 같은 에러가 나온다.

nokogiri-1.6.6.2-x64-mingw32 를 언인스톨하고, nokogiri-1.6.7.rc3-x64-mingw32 버전을 설치한다.

생성한 프로젝트 루트에 있는 Gemfile 파일을 열어서 파일 제일 아래에 아래 줄을 추가한다.

번들 업데이트를 실행

웹서버를 재기동하면 일단 기동은 성공한다.

Problem with directory /usr/share/tomcat7/common/classes

톰캣 기동시 나오는 에러의 해결 방법.

8 27, 2015 12:56:56 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:57:02 午前 org.apache.coyote.AbstractProtocol init
情報: Initializing ProtocolHandler ["http-bio-127.0.0.1-8080"]
8 27, 2015 12:57:02 午前 org.apache.coyote.AbstractProtocol init
情報: Initializing ProtocolHandler ["ajp-bio-8009"]
8 27, 2015 12:57:02 午前 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 4545 ms
8 27, 2015 12:57:02 午前 org.apache.catalina.core.StandardService startInternal
情報: サービス Catalina を起動します

디렉토리가 없어서 에러가 나는 것 같으니 디렉토리를 만들어 준다. 끝.

cd /usr/share/tomcat7
mkdir -p common/classes
mkdir -p server/classes
mkdir -p shared/classes

아파치-톰캣 mod_jk 연동시 에러 문제 해결

아파치와 톰캣을 mod_jk로 연동했을 때 나오는 에러 메시지를 없애는 방법.
톰캣 연동 자체에는 문제가 없기 때문에 고치지 않아도 되는 문제지만, mod_jk.log에 계속 에러가 뜨고 있어서 신경 쓰이기 때문에 찾아봤다.

원인은 jk-manager와 jk-status라는 mod_jk관리와 상태를 표시해주는 웹모듈이 활성화 되어있어서 그런듯한데 그런거 안쓰기 때문에 그냥 주석처리로 해결했다.

에러 메시지 내용

[error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-manager' in uri map post processing.
[error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-status' in uri map post processing.

/etc/apache2/mods-available/jk.conf 파일을 열어서 아래 부분을 찾아서 주석처리한다.

    <Location /jk-status>
        # Inside Location we can omit the URL in JkMount
        JkMount jk-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
    <Location /jk-manager>
        # Inside Location we can omit the URL in JkMount
        JkMount jk-manager
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>

주석처리 후

#    <Location /jk-status>
#        # Inside Location we can omit the URL in JkMount
#        JkMount jk-status
#        Order deny,allow
#        Deny from all
#        Allow from 127.0.0.1
#    </Location>
#    <Location /jk-manager>
#        # Inside Location we can omit the URL in JkMount
#        JkMount jk-manager
#        Order deny,allow
#        Deny from all
#        Allow from 127.0.0.1
#    </Location>

아파치 모듈이니까 아파치를 리로드하거나 재기동 해야지 적용될듯하다.