티스토리 뷰
Maven 기반으로 개발을 하여 보았습니다.
2020/01/15 - [Web/Server] - IntelliJ IDEA CE로 spring mvc 개발환경 만들기. with maven, jetty
이 부분은 jetty를 이용하여 실행을 하는 것이고 오늘은 localhost에서 동작하는 것 말고 실제로 구동되고 있는 서버에 deploy를 하는 방법에 대해서 알아보도록 하겠습니다.
CI를 이용하는 방법도 있겠지만 그건 또 다음번에 정리할게요 :D
1. ftp를 이용하여 배포하기
다른 설정 없이 ftp가 구성되어 있다면 이 방법을 이용하는것이 제일 심플하긴 합니다만 할때마다 다소 귀찮긴 합니다.
tomcat/webapps에 FTP에 war파일을 올려주면 톰캣이 자동으로 압축을 풀어 앱으로 등록을 하여 줍니다.
test.war를 올렸다고 할 경우에는 접속 방법은 http://{주소}:{포트}/test 입니다.
2. tomcat manager 사용하기
톰캣을 설치하고 http://{주소}:{포트}/manager로 접근하게 되면 됩니다.
그렇지만 처음에는 권한이 없어서 이 부분을 사용을 할 수 없습니다.
그럼 다음 파일을 열어서 권한을 넣어줍니다.
$ vi /tomcat/conf/tomcat-users.xml
파일을 열어주고 안에 있는 내용중에 다음과 같이 수정합니다.
<tomcat-users>
...
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="password" roles="manager-gui,manager-script"/>
</tomcat-users>
role로 등록하는것중에 manager-gui는 manager를 페이지로 볼 수 있도록 합니다.
manager-script는 war파일을 업로드 배포 가능하도록 합니다.
username은 tomcat / password는 password로 하였습니다. 적당히 적절히 변경하세요.
그렇지만 이렇게 해두면 localhost에서만 접속이 가능하여서 한가지를 더 추가하여 주어야 합니다.
/tomcat/conf/Catalina/localhost에 manager.xml 파일을 만들어 주도록 합니다.
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$"/>
</Context>
설정이 바뀌면 tomcat을 재시작하여 주도록 합니다.
여기까지 하였다면 http://{주소}:{포트}/manager 하게 되면 로그인 창이 뜨면 잘 설정 된겁니다.
제일 아래쪽에 보면 test로 올라가 있는게 보일겁니다. 지금은 없으실거에요.
올려야 합니다. 이제 이곳에서 파일을 선택하고 배치를 눌러주면 됩니다.
구동되고 있는지 확인하면 됩니다.
war 파일 만드는 방법은 이전 글에 있습니다,.
2020/01/16 - [분류 전체보기] - IntelliJ에서 war파일 만들기. finalName도 넣어주기
3. IntelliJ에서 바로 war 배포하기
방법은 tomcat manager에서 제공하는 API를 이용하는 방법입니다.
예를 들면 다음과 같은것이 있을수 있을거 같습니다.
http://{주소}:{포트}/manager/text/list를 주소창에 한번 넣어 볼까요?
이런식으로 제공하는 API를 이용합시다.
두개의 파일을 만들고 수정해야 합니다.
첫번째로 pom.xml 파일을 수정합니다.
<build><plugins>에 다음을 추가합니다.
스크린샷은 이런 형태가 됩니다.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://{domain}:{port}/manager/text</url>
<server>TomcatServer</server>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
domain:port 부분은 따로 채워 넣으시길 바랍니다. :D
그 다음에는 생뚱 맞은 위치이긴 합니다만 파일을 하나 만듭니다.
메이븐 폴더에 setting.xml 파일을 만들어 줍니다. 맥의 경우에는 ~/.m2/ 윈도우의 경우에는 \Users\{사용자명}\.m2 일겁니다.
파일을 만들어주고 안에 내용을 넣어줍니다.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers>
<server>
<id>TomcatServer</id>
<username>tomcat</username>
<password>password</password>
<configuration>
<endpointChecking>false</endpointChecking>
</configuration>
</server>
</servers>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
위에 보면 pom에 server에 TomcatServer를 넣어주고 동작하도록 하였죠? 그것에 대한 패스워드 값등을 저장하여 주어야 합니다.
프로젝트에 넣지 않아서 더 좋아보입니다.
자 이렇게 하고 나서 Run configuration을 하나 더 만들어 봅시다.
Maven 선택
tomcat7:redeploy를 타이핑하여 줍니다.
자 그리고 Run 하여 줍시다.
조금 기다리면 다음과 같은 부분이 노출 됩니다.
자신의 http://{도메인}:{포트}/test 로 접속하여서 확인 하여 봅니다.
'Backend > Server' 카테고리의 다른 글
IntelliJ IDEA CE. Spring Boot + Gradle (2) | 2020.01.17 |
---|---|
netstat로 정상적으로 구동되고 있는지 확인하여 보기 (0) | 2020.01.16 |
IntelliJ IDEA CE. spring mvc + maven + jetty (0) | 2020.01.15 |
tomcat Document Root 설정하여보기 (0) | 2020.01.14 |
Spring. web.xml Servlet DTD Version별 정리 (0) | 2020.01.02 |
- Total
- Today
- Yesterday
- golang
- rxswift
- android
- intellij
- CentOS
- Java
- Xcode
- tomcat
- github
- php
- docker
- centos8
- Windows
- cocoapods
- ubuntu
- war
- ios
- go
- Python
- Spring
- Kotlin
- git
- Gradle
- MySQL
- windows10
- Linux
- Codable
- SWIFT
- nodejs
- enum
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |