반응형

어플리케이션 배포 특정 페이지만 404 error

서버 환경 
: 네이버 클라우드 플렛폼
: mysql(5.7)-centos-7.2-64 서버 사용
: tomcat 8
: java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64
: 전자정부 프레임워크 - 개발자용 개발환경 32bit/64bit(Implementation Tool) Version 3.9.0
: web, was, DB가 한 서버에 있음

1. 늘 그렇듯 배포전 로컬서버에서는 잘 돌아감.
2. /usr/local/tomcat8/conf/server.xml에서 path 설정과 docBase 설정, source 설정을 완벽하게 구성함
3. 특정 페이지 (로그인, 코드 조회 등)는 정상 호출 및 action이 되나 대부분의 페이지는 통신 status가 404
4. 로그상에는 아무것도 안찍힘 (log4j의 레벨을 전부 DEBUG로 수정 배포)
- /usr/local/tomcat8/logs/catalina.2021-01-13.log
5. access 로그상에는 404가 떨어짐 
- /usr/local/tomcat8/logs/localhost_access_log.2021-01-13.txt
6. 인코딩 이슈인 줄 알고 
- /usr/local/tomcat8/conf/server.xml connector에  URIEncoding="UTF-8" 적용
- /usr/local/tomcat8/conf/web.xml filter 태그 추가

<filter>  
    <filter-name>setCharacterEncodingFilter</filter-name>  
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>  
    <init-param>  
        <param-name>encoding</param-name>  
        <param-value>UTF-8</param-value>  
    </init-param>  
    <async-supported>true</async-supported>  
</filter> 


7. 권한 이슈인줄 알고 centos내에서 tomcat user와 group 생성, service 생성하여 톰캣을 구동시켰음에도 변화가 없음
8. 우연히 /usr/local/tomcat8/logs/폴더의 파일 중 catalina.out 파일을 tail을 걸어 보니
4번에서 안찍히던 로그가 보임
### Cause: java.sql.SQLSyntaxErrorException: Table 'sa_db.S_USER' doesn't exist
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException:Table 'sa_db.S_USER' doesn't existexist
9. DB 스키마 설정 및 테이블 데이터를 생성하여 분명 select 하고 배포를 했는데 저런 에러가 떨어짐
10. mysql에서 select * from S_USER를 조회 하니 조회가 안됨
11. 테이블 조회 시 대소문자 구분을 함
12. 테이블 생성 시 테이블명과 컬럼명을 소문자로 생성하였고, 조회를 대문자 테이블명으로 하니 안됨
(희안하게 대문자 컬럼명은 조회 가능)
테이블 명 소문자로 변경 후 배포하니 정상작동

※ 아마 mysql 버전별 테이블의 대소문자를 가리는 이슈일것 같음


※ 로컬 환경에서 잘돌아가서 소스는 문제 없다고 판단, was 로그 확인을 소홀히 했다.
아니 어떤게 찐 was 로그인지 몰랐다. 에러 발생하면 무조건 로그를 확인하자.

 

반응형
반응형

네이버 클라우드 web was db 서버 한 서버로 구축하기-3
Ⅰ. 서버 생성 및 접속
Ⅱ. 서버 접속
Ⅲ. JDK 설치
Ⅳ. tomcat 설치
Ⅴ. 파일 배포
Ⅵ. 서버 실행

https://devfootprint.tistory.com/59

 

네이버 클라우드 web was db 서버 한 서버로 구축하기-1

네이버 클라우드 web was db 서버 한 서버로 구축하기-1 Ⅰ. 서버 생성 및 접속 Ⅱ. 서버 접속 Ⅲ. JDK 설치 Ⅳ. tomcat 설치 Ⅴ. 파일 배포 Ⅵ. 서버 실행 ※ 생성할 서버 스펙 : mysql..

devfootprint.tistory.com

이전 내용 (네이버 클라우드 web was db 서버 한 서버로 구축하기-1)

 

devfootprint.tistory.com/60

 

네이버 클라우드 web was db 서버 한 서버로 구축하기-2

네이버 클라우드 web was db 서버 한 서버로 구축하기-2 Ⅰ. 서버 생성 및 접속 Ⅱ. 서버 접속 Ⅲ. JDK 설치 Ⅳ. tomcat 설치 Ⅴ. 파일 배포 Ⅵ. 서버 실행 ※ 생성할 서버 스펙  : mysql(5.7)-..

devfootprint.tistory.com

이전 내용 (네이버 클라우드 web was db 서버 한 서버로 구축하기-2)

 

 

 

 

 

1. 파일 질라(FTP 프로그램)1. 전자정부 프레임워크에서 war 파일로 패킹하기
url : devfootprint.tistory.com/56

 

전자정부프레임워크 maven 클린 프로젝트 클린 리빌드

war 파일 삭제 후 생성 프로세스 dependency 추가했을 경우 0. Maven > Update Project : pom.xml에 dependency를 내 로컬 pc에 다운로드 그렇지 않을 경우엔 0번 스킵해도 됨 1. 프로젝트 우클릭 > Run as..

devfootprint.tistory.com

 

2. 내 PC에 파일 질라(FTP 프로그램) 설치
설치 url : filezilla-project.org/download.php?type=client

 

Download FileZilla Client for Windows (64bit)

Download FileZilla Client for Windows (64bit) The latest stable version of FileZilla Client is 3.52.0.5 Please select the file appropriate for your platform below. Please select your edition of FileZilla Client FileZilla FileZilla with manual FileZilla Pro

filezilla-project.org

 

3. 네이버 클라우드 서버에 ftp 설치
※ 이 단계에서 너무 막혀서 이런저런 시도가 많았으나 이슈는 호스트명과 포트를 잘 못 입력 했음을 알았다.
ftp가 이미 설치가 되어있어서 구동이 안되어 삭제했다가 다시 깔기도했으며 이런저런 설정도 바꾸어보았으나,
기록이 안되어있다....
 
기억나는대로 적어보겠다.

- 기존 설정 파일이 있는 폴더로 이동
명령어 # cd /etc/vsftpd/

- 기존 설정파일 백업
명령어 # mv vsftpd.conf vsfptd.conf_bak

-- 설정파일 열기
명령어 # vi /etc/vsftpd/vsftpd.conf 
하단에 추가
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YE
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40000
listen_port=21
listen=YES
pasv_address=네이버 클라우드에 공인 IP 입력

vi /etc/vsftpd/ftpusers
root 제거

vi /etc/vsftpd/user_list
root 제거

 

4. FTP 붙기
- 내 PC에 파일 질라(FTP 프로그램) 실행
- 상단 메뉴에서 파일 > 사이트 관리자
프로토콜 : SFTP - SSH File Transfer Protocol
호스트 : 네이버 클라우드 서버에 포트포워딩 정보에 나와있는 서버접속용 공인 ip 입력 
포트 : 네이버 클라우드 서버에 포트포워딩 정보에 나와있는 외부포트 입력 
사용자 : root
비밀번호 : 네이버 클라우드에서 서버 우클릭 > 관리자 비밀번호 확인 > pem파일 upload 후 나오는 비밀번호 입력

 

5. 파일질라에서 war 파일 배포
- 파일 질라 좌측(내 PC)에서 war패킹된 경로로 이동
- 파일 질라 우측(네이버 클라우드 서버)에서 /usr/local/tomcat8/webapps/로 이동 후 프로젝트 명으로 폴더 생성
- war 패킹된 파일을 우측에 생성된 폴더로 복사
- putty에서 압축해제
명령어 # cd /usr/local/tomcat8/webapps/프로젝트 명/ 
명령어 # unzip war패킹파일명.war

 

6. putty에서 tomcat 설정 변경
- 배포한 파일 경로 설정
명령어 # vi  /usr/local/tomcat8/conf/server.xml

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
host 태그 내부에 하기의 내용 추가
<Context path="/" docBase="프로젝트 명" reloadable="false" source="org.eclipse.jst.jee.server:프로젝트 명" />

 

7. putty에서 8080포트를 80포트로 변경
명령어 # iptables -t nat --append PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080



8. putty에서 tomcat 서버 구동
명령어 # cd /usr/local/tomcat8/bin
명령어 # startup.sh

 

9. 내 pc에서 배포한 웹 페이지 접속
브라우저에서 네이버 클라우드 서버에 공인 IP(Instance ID) 입력

반응형
반응형

네이버 클라우드 web was db 서버 한 서버로 구축하기-2
Ⅰ. 서버 생성 및 접속
Ⅱ. 서버 접속
Ⅲ. JDK 설치
Ⅳ. tomcat 설치
Ⅴ. 파일 배포
Ⅵ. 서버 실행

※ 생성할 서버 스펙  
: mysql(5.7)-centos-7.2-64 서버 사용
: java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64   
: tomcat 8   
: 전자정부 프레임워크 - 개발자용 개발환경 32bit/64bit(Implementation Tool) Version 3.9.0   
: web, was, DB가 한 서버에 있음

 

https://devfootprint.tistory.com/59

 

네이버 클라우드 web was db 서버 한 서버로 구축하기-1

네이버 클라우드 web was db 서버 한 서버로 구축하기-1 Ⅰ. 서버 생성 및 접속 Ⅱ. 서버 접속 Ⅲ. JDK 설치 Ⅳ. tomcat 설치 Ⅴ. 파일 배포 Ⅵ. 서버 실행 ※ 생성할 서버 스펙 : mysql..

devfootprint.tistory.com

이전 내용 (네이버 클라우드 web was db 서버 한 서버로 구축하기-1)

 

※ 명령어 입력시 # 이후 텍스트만 붙여넣기.
1. 네이버 클라우드 서버에 JDK 설치 (java 1.8버전)
- 설치 가능한 jdk 버전 확인
명령어 # yum list java*jdk-devel

- 결과 값에 원하는 JDK 1.8이 있음
- jdk 1.8 설치
명령어 # yum install java-1.8.0-openjdk-devel.x86_64
※ 시간이 꽤 걸림

- 설치 결과 확인
명령어 # javac -version
결과 > javac 1.8.0_275

명령어 # rpm -qa java*jdk-devel
결과 > java-1.8.0-openjdk-devel-1.8.0.275.b01-0.el7_9.x86_64

명령어 # which javac
결과 > /usr/bin/javac

명령어 # readlink -f /usr/bin/javac
결과 > /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64/bin/javac
※ 톰캣 설치 후 JAVA_HOME 환경 변수를 등록해야하기 때문에 알아둬야함

 

2. 네이버 클라우드 서버에 tocmat 설치(tomcat8 버전)
- tomcat8 파일 다운로드
명령어 # wget  archive.apache.org/dist/tomcat/tomcat-8/v8.5.27/bin/apache-tomcat-8.5.27.tar.gz

- 압축 해제
명령어 # tar zxvf  apache-tomcat-8.5.27.tar.gz

- 폴더 명 변경하여 이동
명령어 # mv apache-tomcat-8.5.27 /usr/local/tomcat8



※ vi : 윈도우의 메모장같은 기능이며 CLI (커맨드 라인 인터페이스)가 거부감드는 이유 중 하나
※ 간단한 vi 명령어
- 파일 열기
명령어 # vi 파일명
> 파일을 연 상태가 됨

- 파일을 연 상태에서 편집이 가능한 상태로 변경
명령어 # 키보드에서 i 누르기
> --INSERT-- 가 하단에 표시됨

- 자유롭게 파일 편집

- 파일 편집 중단 상태로 변경
편집 가능한 상태에서 키보드 esc 누르기
> --INSERT-- 가 하단에서 없어짐

- 파일 편집 중단 상태에서 파일 저장
명령어 # w

- vi 빠져 나오기
명령어 # q

- 파일 편집 중단 상태에서 파일 저장 후 vi 빠져나오기
명령어 # wq

- 파일 편집 중단 상태에서 저장하지 않고 vi 빠져 나오기
명령어 # q!

 

3. 네이버 클라우드 서버에 환경변수 등록(jdk와 tomcat)
- 환경 변수 등록
명령어 # vi /etc/profile

- profile 최하단에 추가
① ~가 보일떄까지 키보드에서 page down 누르기
② 키보드에서 i 누르기
③ 아래의 내용 복사하기
④ 마우스 우클릭으로 하기의 내용 붙여넣기
⑤ 키보드에서 ESC 누르기
⑥ 키보드에서 wq 입력하고 엔터

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64
CATALINA_HOME=/usr/local/tomcat8
CLASSPATH=$JAVA_HOME/jre/lib:$ tools.jar:$CATALINA_HOME/lib-jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$PATH:$JAVA_HOME/bin:/bin:/sbin
export JAVA_HOME PATH CLASSPATH CATALINA_HOME

- profile 적용
명령어 # source /etc/profile

 

4. 네이버 클라우드 서버에 tomcat8 인코딩 설정
- 서버 설정 파일 열기
명령어 # vi  /usr/local/tomcat8/conf/server.xml

- 아래의 텍스트를 찾아 URIEncoding="UTF-8" 만 추가
① 아래의 택스트가 보일떄까지 키보드에서 page down 누르기
② 키보드에서 i 누르기
③ 아래의 내용 복사하기
④ 마우스 우클릭으로 하기의 내용 붙여넣기
⑤ 키보드에서 ESC 누르기
⑥ 키보드에서 wq 입력하고 엔터

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

반응형
반응형

네이버 클라우드 web was db 서버 한 서버로 구축하기-1
Ⅰ. 서버 생성 및 접속
Ⅱ. 서버 접속
Ⅲ. JDK 설치
Ⅳ. tomcat 설치
Ⅴ. 파일 배포
Ⅵ. 서버 실행

※ 생성할 서버 스펙 
: mysql(5.7)-centos-7.2-64 서버 사용
: java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64  
: tomcat 8  
: 전자정부 프레임워크 - 개발자용 개발환경 32bit/64bit(Implementation Tool) Version 3.9.0  
: web, was, DB가 한 서버에 있음

 

1. 네이버 클라우드 서버 접속 : console.ncloud.com/server/server/create

2. 서버 생성정보 
- 부팅 디스크 크기 : 50 GB
- 이미지 타입 : DBMS
- DBMS 이미지 타입 : MySQL
- 서버타입 : Standard
- 서버 이미지 이름 : mysql(5.7)-centos-7.2-64

(이미지 타입을 Application에 Tomcat으로 설치하면 7.0이 깔리고
MYSQL 설치하니 인코딩이슈에 시간을 너무 쏟게되어 MySql설치된 이미지로 재설치함)

 

3. 이후 설치방법은 naver가 잘알려줌 url : docs.ncloud.com/ko/database/database-1-1.html
인증키 및 네트워크 접근설정 등

 

4. 접속하기
naver에서도 잘 알려주지만 간략히 요약하자면
putty라는 서버 접속 프로그램이 필요하며 
입력 내용은 하기와 같다

- Putty 설치 :  www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
※ 내 로컬 PC는 윈도우 64 bit 이기 때문에 무설치 파일 인 putty.exe를 설치함

- Host Name (or address) : 생성된 네이버 클라우드 서버에 포트포워딩 정보에 나와있는 서버접속용 공인 ip 입력
- Port : 생성된 네이버 클라우드 서버에 포트포워딩 정보에 나와있는 외부포트 입력

- putty 화면
login as : root 입력
password : 네이버 클라우드에서 서버 우클릭 > 관리자 비밀번호 확인 > pem파일 upload 후 나오는 비밀번호 입력

 

반응형
반응형

1.  SVN LINUX서버접속
- cd /home/svn/xxx/xxx/conf (config 파일 접근) 
- ls로 확인(폴더,파일 확인)
- vi passwd(vi 편집기 열기)
- 계정 입력 (아이디=패스워드 형식)
- :w (저장)
- :q (종료)
- vi authz(vi 편집기 열기)
- 그룹 편집 ([groups] 하단에 newpor_team = 아이디, 아이디, 아이디 추가)
- :w (저장)
- :q (종료)




2. SVN 레파지토리 생성
- cd /home/svn/xxxxx/ (생성할 폴더 접근)
- svnadmin create --fs-type fsfs xxxxx (svn 레파지토리생성)
- cd /home/svn/xxxxx/xxxxx/conf (설정 폴더접근)
- ls로 확인(폴더,파일 확인)
- vi passwd(vi 편집기 열기)
- 계정 입력 (아이디=패스워드 형식)
- :w (저장)
- :q (종료)
- vi authz(vi 편집기 열기)



- 그룹 편집 ([groups] 하단에 xxxx_user= 아이디, 아이디, 아이디 추가)
- 권한 추가(
[/]
@xxxx_user= rw
추가)
- :w (저장)
- :q (종료)

반응형

+ Recent posts