드디어 성공적으로 EC2 서버에 배포를 했습니다..
그런데 여기서 템플릿관련 에러가 나타났습니다..
실제 EC2 서버에서 나타난 에러로그를 따진 못했지만 우선 서버에서 배포했을때는
경로에 대해서 또 다른 설정을 해줘야하는지 고민이 생겼습니다.
왜냐하면 이전에 스프링 레거시 프로젝트를 배포할 때는 WAR파일이 였기 때문에 톰캣에서
따로 서버의 경로를 설정해줘야했기떄문입니다..
그러다가 index.html에서 코드를 확인해본 결과 조금 다른 부분에서 에러가 난 것이 확인되었습니다.
에러코드를 조금 줄여서 적어보면
index.html - line 6 - 11
해당 코드의 라인을 따라 들어가보면 특이하게 Thymeleaf 문법에 대한 에러인것이 확인되었습니다.
즉 th 문법을 사용할수 없는 것처럼 에러가 나타난것이죠.
<!DOCTYPE html>
<html lang="en"
xmlns:th = "http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
// th:replace 라인의 에러
<th:block th:replace="~{fragment/fragment :: setBody(~{ :: body})}">
<th:block th:fragment="body">
<div sec:authorize="isAuthenticated()">
<div>
name : <span sec:authentication="principal.member"></span>
</div>
</div>
몇분 정도 감을 못잡다가 이번에 쉘 스크립트를 작성하면서 겪었던 부분이 문득 생각났습니다.
쉘스크립트를 작성할 때 '=' 을 사용할 경우 반드시 붙여서 작성해야 한다는 점이였습니다.
예를 들면 REPOSITROY=/home/ec2-user/ -> 이런식으로 명칭과 값을 붙여서 작성해야 했는데,
해당 코드를 들여다 보면 띄워져 있는 것을 알수 있었습니다.
<!DOCTYPE html>
<html lang="en"
xmlns:th = "http://www.thymeleaf.org" // <= 이 라인
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
그래서 해당 코드를 붙여서 작성한 뒤에 서버에 붙인뒤 다시 테스트를 해봤습니다.
역시나 성공했습니다..
코드를 작성할때는 저렇게 띄어서 작성하는 경우가 개인적으로 많은데
좀더 조심하는 계기가 되었네요..
'DevOps > AWS' 카테고리의 다른 글
AWS S3) S3를 이용한 파일 불러오기 (0) | 2021.06.23 |
---|---|
EC2) 서버 도메인 OAuth2.0에 등록 (0) | 2021.06.11 |
./gradlew test 실패 원인.. (0) | 2021.06.11 |
./gradlew test 실패 이후 2번째 (0) | 2021.06.10 |
EC2 - ./gradlew test 실패 (0) | 2021.06.09 |