1. 톰캣 관리자 화면 활성화하기
1) tomcat9-admin 설치
sudo apt-get install tomcat9-admin
2) cd /etc/tomcat9 로 이동
cd /etc/tomcat9
3) tomcat-users.xml 파일 열기 - 톰캣의 설정파일 수정
sudo nano tomcat-users.xml
4) xml 맨 하단에 있는 </tomcat-users> 위에 아래 설정 내용을 입력한다.
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="관리자 계정명" password="비밀번호" roles="manager-gui,manager-script,manager-status,manager-jmx"/>
5) tomcat9 시작
sudo service tomcat9 start
6) http://우분투서버 IP주소:8080/manager/html 접속
7) 설정한 관리자 계정과 비밀번호를 입력한다.
2. 권한 풀어주기
먼저 아래 명령어로 폴더에 도달하기 전까지의 권한을 바꿔준다.
sudo chmod -R 777 ROOT
https://recipes4dev.tistory.com/175
3. 톰캣에서 undeploy 날려주기
4. 메이븐을 이용해 톰캣에 배포하기
1) 배포할 프로젝트의 pom.xml 파일을 연다.
2) <plugins></plugins> 사이에 아래 내용을 입력한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<!-- 메이븐을 통한 서버 배포 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warsourcedirectory>src/main/webapp</warsourcedirectory>
<webxml>src/main/webapp/WEB-INF/web.xml</webxml>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://서버 IP주소:톰캣 포트번호/manager/text</url>
<path>/프로젝트명</path>
<username>관리자 계정</username>
<password>비밀번호</password>
</configuration>
</plugin>
<!-- 로컬에 있는 톰캣에 배포할 경우 서버 IP주소 대신 localhost 입력 -->
<!-- 톰캣의 기본 포트번호는 8080 이다. -->
<url>http://localhost:8080/manager/text</url>
출처: https://all-record.tistory.com/186 [세상의 모든 기록]
|
cs |
3) 다음으로 이클립스에서 배포할 프로젝트를 선택하고 마우스 우클릭 한다. 그리고 [Run As] - [Run Configurations] 를 선택한다.
4) Run Configurations 창에서 왼쪽에 Maven Build를 클릭한다. 그리고 마우스 우클릭을 하여 New Configurations 를 선택한다.
5) 그리고 Workspace 버튼을 누른다. 여기서 배포할 프로젝트를 선택한다.
6) 다음으로 Name에 빌드명을 입력하고
7) Goals에 tomcat:deploy를 입력한다. 입력 후 Run을 누르면 배포가 시작된다.
tomcat:deploy -X 는 모든 로그가 다찍힘
8) 배포를 하면 http://서버 IP주소:8080/프로젝트이름 - 이렇게 접근을 하게된다.
9) 배포 결과를 확인해 보기위해 우분투 서버에서 명령어를 실행한다.
1
2
3
4
5
6
7
8
|
# webapps 폴더로 이동
cd /var/lib/tomcat9/webapps
# 폴더 및 파일 목록 확인
ls
|
cs |
10) webapps 폴더 아래 배포한 프로젝트.war 파일과 프로젝트 폴더가 생긴 것을 확인할 수 있다
-----아래 부분 부터 띄어넘고 6 디렉토리 접근 설정 부터하자
11) 배포된것을 확인했으니 URL 설정을 해야한다.
12) 그래야만 http://서버 IP주소:8080/ 로 접근할 경우 배포한 프로젝트 화면이 나오게 된다.
뒤에 프로젝트 이름을 빼고도 나오는것이다.
1
2
3
4
5
|
# tomcat9 폴더로 이동
cd /etc/tomcat9
|
cs |
13) ls를 입력하여 목록을 보면 server.xml이 있다. 여기에 URL 설정을 추가할 것이다. 명령어를 실행하여 server.xml 파일을 연다.
1
2
3
4
5
|
# server.xml 파일 열기
sudo nano server.xml
|
cs |
14) server.xml을 보면 <Host>...</Host> 태그가 있다. 이 사이에 아래 설정을 입력한다. 그리고 Ctrl+X → Y 입력 → 엔터를 눌러 저장한다
1
|
<Context docBase="프로젝트명" path="/" reloadable="true" />
|
cs |
path : http://서버 IP:8080/ 뒤에 정의 되는 부분 ( ex: path=”/SpringBoard” 일때 URL은 http://서버 IP:8080/SpringBoard )
paht="/" 이렇게 설정하면
http://서버 IP:8080 으로도 접속되는것
이부분이 프로젝트명을 넣을 지 안넣을지를 결정한다!
reloadable : class 파일 수정 시 redeploy 여부
15) 즉 정리하면 위처럼 배포를 하게되면 2가지 프로젝트가 배포가된다
/var/lib/tomcat9/webapps에 가보면
- ROOT와 dokky, dokky.jar 이렇게 배포가되어있고
ROOT안에도 프로젝트가 배포
dokky에도 프로젝트가 배포
총2가지가 배포되서 도는방법이다. 내 예상으로 이렇게되면 자원의 낭비가 있다. 그래서
아래방법을 추천한다.
6. 배포경로 ROOT로만 잡는 2번째 방법
- 위 처럼 context docbase를 전혀 입력하지않는다
- 아래처럼 ROOT 폴더를 삭제해준다
- 그리도 pom.xml에서 <path>/</path>로 잡은후 배포하면
- http://도메인:/접속이된다
- 그런데 최초 한번은 http://도메인:/main으로 접속해줘야 정상적으로 돌아감
3. 디렉토리 접근 설정
apache <Directory>설정에서 기본적으로 막아 둔 폴더권한을 허용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
sudo nano /etc/apache2/apache2.conf
<Directory /var/lib/tomcat9/webapps/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
|
cs |
나는 webapps 밑에 프로젝트를 생성하기 때문에 위와 같이 설정을 허용해줬다.
5. 아파치 사용자에게 해당 프로젝트의 폴더 및 파일 권한 주기
아파치 프로세스를 실행하는 사용자에게 권한이 필요하다. 이 사용자는 일반 사용자랑 다르다.
나같은 경우 dokky라는 프로젝트 하위의 모든 폴더 및 파일에 권한을 755로 변경해주었다.
이렇게 해줘야 톰캣이 아닌 웹서버도 프로젝트 의 폴더 및 파일에 접근할수 있게 된다.
즉 other권한을 5로 설정해준것이다.
특히나 css파일접근을 위해 아래 명령 필요
1
2
|
root@ip-172-31-30-52:/var/lib/tomcat9/webapps# sudo chmod 755 -R dokky
|
cs |
6. 명령어를 실행하여 톰캣을 재시작한다
1
2
3
|
# tomcat8 정지, 시작
sudo service tomcat8 stop
sudo service tomcat8 start
|
cs |
참고사이트 : https://all-record.tistory.com/186
'BackEnd > Aws' 카테고리의 다른 글
리눅스 명령어 모음 (0) | 2019.10.23 |
---|---|
aws s3 설정 (0) | 2019.10.03 |
RDS 처음 생성 설정값들 (0) | 2019.09.29 |
ec2 우분투에 아파치와 톰캣 연동 (0) | 2019.09.29 |
ec2 우분투에 톰캣 설치 (0) | 2019.09.29 |