<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>최씨네 블로그</title>
    <link>https://dibtd.tistory.com/</link>
    <description>최씨네 블로그</description>
    <language>ko</language>
    <pubDate>Sat, 1 Aug 2026 17:17:24 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>도라지보다더덕</managingEditor>
    <image>
      <title>최씨네 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/3577319/attach/2f954fe63eea452db94fd9b1988112db</url>
      <link>https://dibtd.tistory.com</link>
    </image>
    <item>
      <title>Java 특징</title>
      <link>https://dibtd.tistory.com/37</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjvLwO/btqPnaSZUXM/jmMLQM7TFex1VxfgCbG31k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjvLwO/btqPnaSZUXM/jmMLQM7TFex1VxfgCbG31k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjvLwO/btqPnaSZUXM/jmMLQM7TFex1VxfgCbG31k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjvLwO%2FbtqPnaSZUXM%2FjmMLQM7TFex1VxfgCbG31k%2Fimg.jpg&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Java&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Java는 &lt;span style=&quot;color: #333333;&quot;&gt;1995년에 Sun Microsystems에서 발표한 언어로 점차 인터넷이 발전하면서 다양한 기종의 컴퓨터들과 운영체제들이 나타났고 이러한 플랫폼들로부터 독립적으로 동작하기 위해 고안된 언어입니다. C/C++로 만들어졌으며 C++의 장점을 그대로 흡수하고 단점은 제거한 완전한 객체지향 언어입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Java 언어의 특징(&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;C++과 비교해 달라진 점)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;- C++는 객체를 생성했을 때 delete 키워드를 사용해 제거해야합니다. 만약 프로그래머가 실수로 생성된 객체를 지우지 않을 경우 프로그램이 돌아가면 돌아갈수록 메모리에 불필요한 객체가 점점 쌓이게 됩니다. 따라서 프로그래머가 직접 객체를 지우지 않고&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;Gargarbage collection을 이용해 알아서 지워지도록 설계했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;- 이차이상의 포인터에서 생기는 문제들을 제거하기 위해 Java에서는 포인터 변수를 제거하고 참조 변수만을 사용하도록 설계했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;- 데이터 구조를 선언하는 방식으로 struct와 class가 존재했는데 struct 키워드를 지우고 class만을 사용합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;- 함수지향과 객체지향을 혼합하여 사용하는 방식에서 완전한 객체지향 언어로 사용하도록 설계했습니다. &lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;- 언어 자체에 컬렉션을 포함하고 글로벌 문자 데이터 처리의 복잡성을 다양한 인코딩을 지원하여 해결했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이외에도 많은 차이점이 있지만 크게 요약을 하자면 아래와 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;C++와 비교했을 때 간결함&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt; 언어 자체에 포함된 컬렉션&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;완전한 객체지향 언어 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;자바 플랫폼의 특징&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;자바는 JVM이라는 가상 환경 위에서 동작합니다. &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;즉, 다른 &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;플랫폼(운영체제)에서 독립적이다 라고 할 수 있습니다. &lt;/span&gt;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;C나 C++ 같은 경우는 CPU나 운영체제가 달라질 경우 컴파일러 또한 달라져야 하지만 java는 JVM위에서 동작하므로 이러한 고민을 하지 않아도 됩니다.&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-12-06 오전 2.26.25.png&quot; data-origin-width=&quot;2410&quot; data-origin-height=&quot;1354&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bojSpU/btqO8WCJHoi/ksktQ1WKzTNWzBQPcqjZ61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bojSpU/btqO8WCJHoi/ksktQ1WKzTNWzBQPcqjZ61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bojSpU/btqO8WCJHoi/ksktQ1WKzTNWzBQPcqjZ61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbojSpU%2FbtqO8WCJHoi%2FksktQ1WKzTNWzBQPcqjZ61%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-12-06 오전 2.26.25.png&quot; data-origin-width=&quot;2410&quot; data-origin-height=&quot;1354&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이는 WORA (Write Once, Run Anywhere) 이라는 한번 쓴 코드는 어디에서든 동작하자 라는 철학에서 나온 특징입니다. 따라서 한번 작성된 코드는 모든 곳에서 실행되며 어떤 운영체제이든 위에 자바 플랫폼만 설치하면 동작할 수 있습니다.&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;자바 번역기 특징 (컴파일러)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;자바는 다음과 같은 순서로 기계어로 된 물리코드로 번역됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-12-06 오전 2.35.13.png&quot; data-origin-width=&quot;2364&quot; data-origin-height=&quot;430&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AMOcT/btqPibkDHb1/FJO6dGPOgsRtoaCjYE7wm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AMOcT/btqPibkDHb1/FJO6dGPOgsRtoaCjYE7wm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AMOcT/btqPibkDHb1/FJO6dGPOgsRtoaCjYE7wm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAMOcT%2FbtqPibkDHb1%2FFJO6dGPOgsRtoaCjYE7wm1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-12-06 오전 2.35.13.png&quot; data-origin-width=&quot;2364&quot; data-origin-height=&quot;430&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이때 중간 코드 생성까지를 자바 컴파일러를 통해 생성합니다. 즉, 개발자가 자바 컴파일러를 통해 컴파일한다 라는 의미는 이 중간 코드를 생성한다는 의미입니다. 컴파일할 경우 .class 파일(= 바이트 코드 = 가상 cpu 코드 = 중간 코드)이라는 파일 유형의 형태로 저장됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 이후는 실행과정입니다. 생성된 .class 파일을 JIT를 통해 동적으로 컴파일하고 인터프리트 방식으로 물리적인 코드로 변경하고 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;우리가 흔히 JDK라 말하는 것들은 위 개발부터 실행까지 모든 과정에 필요한 도구(컴파일러, 디버거, JIT, Garbage collection 등)들이며 실행환경에 필요한 필요한 여러 도구(JIT, Garbage collection, Security, Loader 등)를 JRE (자바 실행 환경)이라고 부릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;컴파일러를 통해 중간코드가 생성됩니다. 이때 생성된 중간 코드는 가상의 cpu를 염두에 둔 바이트 코드입니다. 이 중간 코드는 어셈블리어로 변환된 뒤 이진 코드로 변환되는 과정을 거쳐야 하는데 중간 코드를 어셈블리어로 변환하는 과정은 인터프리트 방식으로 합니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;reference&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5-ZiX4wRDpI&amp;amp;list=PLq8wAnVUcTFV4ZjRbyGnw6T1tgmYDLM3P&amp;amp;index=8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.youtube.com/watch?v=5-ZiX4wRDpI&amp;amp;list=PLq8wAnVUcTFV4ZjRbyGnw6T1tgmYDLM3P&amp;amp;index=8&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=5-ZiX4wRDpI&amp;amp;list=PLq8wAnVUcTFV4ZjRbyGnw6T1tgmYDLM3P&amp;amp;index=8&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bJLM19/hyIsePe7HB/tm7qUc8sPYgbkjTrsKR8gK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/5-ZiX4wRDpI&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1607190036938&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;자바 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전&quot; data-og-description=&quot;위키백과, 우리 모두의 백과사전. 자바Java패러다임프로그래밍 패러다임: 객체 지향 프로그래밍 (클래스 기반 프로그래밍), 구조적 프로그래밍, 명령형 프로그래밍, 제네릭 프로그래밍, 반영, 병&quot; data-og-host=&quot;ko.wikipedia.org&quot; data-og-source-url=&quot;https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)&quot; data-og-url=&quot;https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;자바 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;위키백과, 우리 모두의 백과사전. 자바Java패러다임프로그래밍 패러다임: 객체 지향 프로그래밍 (클래스 기반 프로그래밍), 구조적 프로그래밍, 명령형 프로그래밍, 제네릭 프로그래밍, 반영, 병&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;ko.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@ahn428/java-java%EC%9D%98-%ED%83%84%EC%83%9D%EA%B3%BC-%ED%8A%B9%EC%A7%95-1fd163df5858&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;medium.com/@ahn428/java-java%EC%9D%98-%ED%83%84%EC%83%9D%EA%B3%BC-%ED%8A%B9%EC%A7%95-1fd163df5858&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1607190055948&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Java - Java의 탄생과 특징&quot; data-og-description=&quot;1. Java의 탄생&quot; data-og-host=&quot;medium.com&quot; data-og-source-url=&quot;https://medium.com/@ahn428/java-java%EC%9D%98-%ED%83%84%EC%83%9D%EA%B3%BC-%ED%8A%B9%EC%A7%95-1fd163df5858&quot; data-og-url=&quot;https://medium.com/@ahn428/java-java%EC%9D%98-%ED%83%84%EC%83%9D%EA%B3%BC-%ED%8A%B9%EC%A7%95-1fd163df5858&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/kz5vr/hyItNP0W9W/dJJwPYB1dbnzRzKXf1XnKK/img.jpg?width=1200&amp;amp;height=1207&amp;amp;face=360_171_676_516,https://scrap.kakaocdn.net/dn/dVGhMl/hyItZ3Zl0j/m5JKNJNhuIajInHUF66oQ1/img.jpg?width=60&amp;amp;height=60&amp;amp;face=0_0_60_60,https://scrap.kakaocdn.net/dn/qI8Aj/hyIt0oimBQ/aKKfepBZW8oPLgUNFIaqk1/img.png?width=60&amp;amp;height=33&amp;amp;face=0_0_60_33&quot;&gt;&lt;a href=&quot;https://medium.com/@ahn428/java-java%EC%9D%98-%ED%83%84%EC%83%9D%EA%B3%BC-%ED%8A%B9%EC%A7%95-1fd163df5858&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://medium.com/@ahn428/java-java%EC%9D%98-%ED%83%84%EC%83%9D%EA%B3%BC-%ED%8A%B9%EC%A7%95-1fd163df5858&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/kz5vr/hyItNP0W9W/dJJwPYB1dbnzRzKXf1XnKK/img.jpg?width=1200&amp;amp;height=1207&amp;amp;face=360_171_676_516,https://scrap.kakaocdn.net/dn/dVGhMl/hyItZ3Zl0j/m5JKNJNhuIajInHUF66oQ1/img.jpg?width=60&amp;amp;height=60&amp;amp;face=0_0_60_60,https://scrap.kakaocdn.net/dn/qI8Aj/hyIt0oimBQ/aKKfepBZW8oPLgUNFIaqk1/img.png?width=60&amp;amp;height=33&amp;amp;face=0_0_60_33');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Java - Java의 탄생과 특징&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;1. Java의 탄생&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;medium.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정리</category>
      <category>자바</category>
      <category>특징</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/37</guid>
      <comments>https://dibtd.tistory.com/37#entry37comment</comments>
      <pubDate>Sun, 6 Dec 2020 02:44:09 +0900</pubDate>
    </item>
    <item>
      <title>2. Apache 컴파일 설치</title>
      <link>https://dibtd.tistory.com/31</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOr2d7/btqJvTKoJwG/pk5qdkfqIlL0zqboXwF8e0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOr2d7/btqJvTKoJwG/pk5qdkfqIlL0zqboXwF8e0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOr2d7/btqJvTKoJwG/pk5qdkfqIlL0zqboXwF8e0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOr2d7%2FbtqJvTKoJwG%2Fpk5qdkfqIlL0zqboXwF8e0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Apache&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;apache http 서버란 apache 소프트웨어 재단에서 관리하는 서버 프로그램을 말합니다. 따라서 우리가 흔히 부르는 apache는 서버 프로그램에 대해 모호하게 재단을 부르는 것과 마찬가지입니다. 저는 apache 소프트웨어 재단에서 만든 웹서버 httpd를 설치하여 서버 프로그램을 구축해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전에 설치한 우분투에는 정말 아무것도 없으니 gcc, g++ 등 모두 설치해줍니다. (apache 소스코드를 컴파일하기 위해 필요합니다.)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;소스코드 받기 전 필요한 것들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;gcc : apt install gcc&lt;/li&gt;
&lt;li&gt;g++ : apt install g++&lt;/li&gt;
&lt;li&gt;make: apt-get install make&lt;/li&gt;
&lt;li&gt;pcre &amp;amp; pcre-dev: 정규표현식&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;PCRE &amp;amp; pcre-dev&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;pcre-dev는 패키지 매니저를 통해 다운받았습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그 후 pcre를 다운받아 압축해제하고 ./configure를 실행해 설치될 주소를 설정합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1600955417796&quot; class=&quot;python&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background: #f6f7f8; font-size: 14px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apt-get install pcre-dev		#패키지 매니저로 설치 ㅠ

wget ftp://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz	#소스코드 가져오기
tar xvfz pcre-8.44.tar.gz 					#압축해제
cd pcre-8.36		


./configure --prefix=/usr/local			#설치위치 설정


make			#빌드
make install		#설치&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음은 apache 코드를 네트워크 상에서 다운받아옵니다. 이 때 명령어로 wget을 사용하는데 wget은 web get의 약자로 네트워크 상 데이터를 다운받을 때 쓰는 명령어입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;아래 &lt;a href=&quot;http://httpd.apache.org/download.cgi&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;apache 페이지&lt;/a&gt;를 보면 안정화된 버전이 2.4.46이라고 나옵니다. 따라서 2.4.46 버전을 다운받겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 10.34.27.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;622&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQKGXC/btqJvT4G6Ly/bD0OkvvLLxjamnbkgbvzRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQKGXC/btqJvT4G6Ly/bD0OkvvLLxjamnbkgbvzRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQKGXC/btqJvT4G6Ly/bD0OkvvLLxjamnbkgbvzRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQKGXC%2FbtqJvT4G6Ly%2FbD0OkvvLLxjamnbkgbvzRk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 10.34.27.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;622&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;wget을 통해 압축된 소스코드를 받아옵니다.&lt;/p&gt;
&lt;pre id=&quot;code_1600954689679&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wget http://apache.mirror.cdnetworks.com/httpd-2.4.46.tar.gz&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;apache 2.4.46 다운 받을 시 필요한 apr-util1.6.1 버전과 PCRE8.44 버전이 필요하다고 명시되어있습니다. 따라서 위와 마찬가지로 설치해줍니다. (PCRE는 위에서 설치했습니다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 10.41.20.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;200&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dpFGvq/btqJxakQE0g/kQ3TdKPQ5hO8k1KFPKomK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dpFGvq/btqJxakQE0g/kQ3TdKPQ5hO8k1KFPKomK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dpFGvq/btqJxakQE0g/kQ3TdKPQ5hO8k1KFPKomK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdpFGvq%2FbtqJxakQE0g%2FkQ3TdKPQ5hO8k1KFPKomK0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 10.41.20.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;200&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;apr-util을 받기 전에 apr을 받아줍니다. 그 후 apr-util을 받아줍니다. apr-util1.6.1에 apr 1.7.0이 필요하다고 명시되어있으므로 따로 받아주었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1600954752593&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wget http://apache.tt.co.kr/apr-1.7.0.tar.gz
wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;압축된 파일을 네트워크상에서 받아왔으면 이제 압축을 풀어줍니다.&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1600955232721&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#압축 해제

tar xvfz httpd-2.4.46.tar.gz
tar xvfz apr-1.7.0.tar.gz 
tar xvfz apr-util-1.6.1.tar.gz

#아파치 소스라이브러리로 압축해제된 파일을 옮겨줍니다.
mv apr-1.6.3 httpd-2.4.46/srclib/apr
mv apr-util-1.6.1 httpd-2.4.46/srclib/apr-util

cd httpd-2.4.46&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1600955627747&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir /usr/local/victolee		#해당 디렉토리는 여러 라이브러리를 모아두기 위한 디렉토리입니다.

apt-get install libexpat1-dev		


./configure \
--prefix=/usr/local/victolee/apache2.4.33 \
--with-included-apr \
--with-pcre=/usr/local/bin/pcre-config

make
make install

cd /usr/local/victolee/apache2.4.33&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;이제 설치가 완료되었습니다. 만약 apache에 대한 설정을 바꾸고싶다면 설치된 곳에 conf/httpd.conf 파일을 수정하면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;마지막으로 실행하기 위해서&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1600955777744&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd /usr/local/victolee/bin

./apachectl start		#데몬 시작
./apachectl stop		#데몬 정지&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;아무 브라우저에 들어가서 localhost로 접근했을 때 다음과 같이 나오면 실행 성공입니다!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 10.57.53.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;98&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwhbAp/btqJyMjpxM6/0qNVeWd9d8ZO5wKuFLR2mk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwhbAp/btqJyMjpxM6/0qNVeWd9d8ZO5wKuFLR2mk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwhbAp/btqJyMjpxM6/0qNVeWd9d8ZO5wKuFLR2mk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwhbAp%2FbtqJyMjpxM6%2F0qNVeWd9d8ZO5wKuFLR2mk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 10.57.53.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;98&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;reference&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p&gt;&lt;a href=&quot;https://victorydntmd.tistory.com/220&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;victorydntmd.tistory.com/220&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1600956280678&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Web Server] 아파치( Apache ) 2.4.33 컴파일 설치&quot; data-og-description=&quot;CentOS 7에서 Apache 2.4.33&amp;nbsp;버전을 컴파일해서 설치하는 방법에 대해 알아보겠습니다. 아파치 2.0.64 설치와의 차이점 1) apr&amp;nbsp;(Apache Portable Runtime ) ,&amp;nbsp;apr-util 아파치 2.0을 설치할 때는 yum으로 apr,..&quot; data-og-host=&quot;victorydntmd.tistory.com&quot; data-og-source-url=&quot;https://victorydntmd.tistory.com/220&quot; data-og-url=&quot;https://victorydntmd.tistory.com/220&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bozQvN/hyHB7iBNOV/QEHcPsM4gMEdOZO0MfzkVk/img.png?width=696&amp;amp;height=220&amp;amp;face=0_0_696_220,https://scrap.kakaocdn.net/dn/bLvvfk/hyHBhdhJG1/x7m0U8wrhHY8Fh5kqehKN0/img.png?width=696&amp;amp;height=220&amp;amp;face=0_0_696_220,https://scrap.kakaocdn.net/dn/Fc7sL/hyHB9Huz7b/a0kZDZZkKddIgF2XmLb2y1/img.png?width=696&amp;amp;height=220&amp;amp;face=0_0_696_220&quot;&gt;&lt;a href=&quot;https://victorydntmd.tistory.com/220&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://victorydntmd.tistory.com/220&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bozQvN/hyHB7iBNOV/QEHcPsM4gMEdOZO0MfzkVk/img.png?width=696&amp;amp;height=220&amp;amp;face=0_0_696_220,https://scrap.kakaocdn.net/dn/bLvvfk/hyHBhdhJG1/x7m0U8wrhHY8Fh5kqehKN0/img.png?width=696&amp;amp;height=220&amp;amp;face=0_0_696_220,https://scrap.kakaocdn.net/dn/Fc7sL/hyHB9Huz7b/a0kZDZZkKddIgF2XmLb2y1/img.png?width=696&amp;amp;height=220&amp;amp;face=0_0_696_220');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[Web Server] 아파치( Apache ) 2.4.33 컴파일 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;CentOS 7에서 Apache 2.4.33&amp;nbsp;버전을 컴파일해서 설치하는 방법에 대해 알아보겠습니다. 아파치 2.0.64 설치와의 차이점 1) apr&amp;nbsp;(Apache Portable Runtime ) ,&amp;nbsp;apr-util 아파치 2.0을 설치할 때는 yum으로 apr,..&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;victorydntmd.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정리</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/31</guid>
      <comments>https://dibtd.tistory.com/31#entry31comment</comments>
      <pubDate>Thu, 24 Sep 2020 23:05:09 +0900</pubDate>
    </item>
    <item>
      <title>1. 가상환경 설치</title>
      <link>https://dibtd.tistory.com/30</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3n5QG/btqJs5j3BMg/A34Ub9K0noAxbLYAqleKDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3n5QG/btqJs5j3BMg/A34Ub9K0noAxbLYAqleKDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3n5QG/btqJs5j3BMg/A34Ub9K0noAxbLYAqleKDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3n5QG%2FbtqJs5j3BMg%2FA34Ub9K0noAxbLYAqleKDK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;서버 구축 전에..&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;서버를 구축하기 앞서 서버를 구축할 운영환경을 설정하겠습니다. 보통 서버를 구축하는데에 사용하는 운영체제는 linux 계열의 운영체제입니다. 리눅스를 활용하는 이유는 바로 무료 오픈소스라는 점에 있습니다. 또한 여러 서버 구축에 관련된 도구들을 패키지 매니저를 활용해 손쉽게 설치할 수 있습니다. 물론 서버를 운영하기위해 윈도우를 사용하려면 할 순 있겠지만 굳이 비싼 돈 주고 설정하기도 어려운 환경을 설치할 필요는 없습니다. 따라서 저는 무료 OS인 우분투를 활용하여 서버를 구축하겠습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;가상머신&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;우선 리눅스를 설치할 가상머신을 다운받겠습니다. 가상 머신이란 운영체제 위에서 가상으로 돌아가는 운영체제를 설치할 수 있도록 해주는 말 그대로 가상머신입니다. 대표적으로 VirtualBox와 VMWare가 있지만 저는 무료인 VirtualBox를 사용하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. 아래 페이지에 들어가 본인 OS에 맞는 버전을 다운로드 해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.virtualbox.org/wiki/Downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.virtualbox.org/wiki/Downloads&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1600937687016&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Downloads &amp;ndash; Oracle VM VirtualBox&quot; data-og-description=&quot;Download VirtualBox Here you will find links to VirtualBox binaries and its source code. VirtualBox binaries By downloading, you agree to the terms and conditions of the respective license. If you're looking for the latest VirtualBox 6.0 packages, see Virt&quot; data-og-host=&quot;www.virtualbox.org&quot; data-og-source-url=&quot;https://www.virtualbox.org/wiki/Downloads&quot; data-og-url=&quot;https://www.virtualbox.org/wiki/Downloads&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.virtualbox.org/wiki/Downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.virtualbox.org/wiki/Downloads&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Downloads &amp;ndash; Oracle VM VirtualBox&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Download VirtualBox Here you will find links to VirtualBox binaries and its source code. VirtualBox binaries By downloading, you agree to the terms and conditions of the respective license. If you're looking for the latest VirtualBox 6.0 packages, see Virt&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.virtualbox.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. 다운로드 후 쭉쭉 설치하면 다음과 같이 진행됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.13.22.png&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;1100&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQISko/btqJog7KE6F/Aou1lt6qUdvB59inINPh6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQISko/btqJog7KE6F/Aou1lt6qUdvB59inINPh6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQISko/btqJog7KE6F/Aou1lt6qUdvB59inINPh6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQISko%2FbtqJog7KE6F%2FAou1lt6qUdvB59inINPh6k%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.13.22.png&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;1100&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;# Error&lt;/p&gt;
&lt;p&gt;mac에서 &quot;설치할 수 없습니다. &quot; 가 뜰 경우 '시스템 환경설정 &amp;gt; 보안 및 개인정보보호 &amp;gt; 일반' 탭에서 VirtualBox를 허용으로 변경해주세요!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3. 성공적으로 설치되었으면 VirtualBox를 실행해주세요. 다음과 같은 화면이 나타납니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.16.21.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgAWhS/btqJnFfDxuK/y60OmPRN9xsJKP1OYPYm1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgAWhS/btqJnFfDxuK/y60OmPRN9xsJKP1OYPYm1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgAWhS/btqJnFfDxuK/y60OmPRN9xsJKP1OYPYm1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgAWhS%2FbtqJnFfDxuK%2Fy60OmPRN9xsJKP1OYPYm1k%2Fimg.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.16.21.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4. 새로만들기 버튼을 누르고 자신의 가상환경 이름을 설정해주세요. 그리고 설치할 운영체제 종류도 다음과 같이 설정해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.17.49.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1UMk7/btqJofHNzMN/BTLSiSPCkAYS7K8OgpyGJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1UMk7/btqJofHNzMN/BTLSiSPCkAYS7K8OgpyGJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1UMk7/btqJofHNzMN/BTLSiSPCkAYS7K8OgpyGJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1UMk7%2FbtqJofHNzMN%2FBTLSiSPCkAYS7K8OgpyGJ0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.17.49.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;5. 계속해서 진행합니다. 가상환경에 할당할 메모리를 설정해줍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.18.04.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/deNlk6/btqJx5b0i3G/8Q2dQCkzEaVfDPr9GzRao0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/deNlk6/btqJx5b0i3G/8Q2dQCkzEaVfDPr9GzRao0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/deNlk6/btqJx5b0i3G/8Q2dQCkzEaVfDPr9GzRao0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeNlk6%2FbtqJx5b0i3G%2F8Q2dQCkzEaVfDPr9GzRao0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.18.04.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;6. 가상환경이 사용할 저장공간을 할당해줍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.18.24.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2rgtg/btqJxHWBufC/JzAkha2FbwN9MHMVDDSRIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2rgtg/btqJxHWBufC/JzAkha2FbwN9MHMVDDSRIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2rgtg/btqJxHWBufC/JzAkha2FbwN9MHMVDDSRIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2rgtg%2FbtqJxHWBufC%2FJzAkha2FbwN9MHMVDDSRIk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.18.24.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.19.10.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btfHnE/btqJpg7uWQS/0CwcdgV13j09u7bK60inD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btfHnE/btqJpg7uWQS/0CwcdgV13j09u7bK60inD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btfHnE/btqJpg7uWQS/0CwcdgV13j09u7bK60inD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtfHnE%2FbtqJpg7uWQS%2F0CwcdgV13j09u7bK60inD0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.19.10.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;7. 물리적 하드 드라이브를 저는 고정크기로 할당했습니다. 고정크기가 더 빠르다고 하네요. 하지만 본인이 편하신대로 하면 됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.19.29.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zNfz1/btqJskn5E0B/dljJkuEzhbwvRDlarfGBK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zNfz1/btqJskn5E0B/dljJkuEzhbwvRDlarfGBK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zNfz1/btqJskn5E0B/dljJkuEzhbwvRDlarfGBK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzNfz1%2FbtqJskn5E0B%2FdljJkuEzhbwvRDlarfGBK0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.19.29.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;8. 할당할 하드 디스크 크기를 설정해줍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.19.50.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m6j63/btqJvTQMULh/EkS2oAulIXcOcpUP4ZlhNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m6j63/btqJvTQMULh/EkS2oAulIXcOcpUP4ZlhNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m6j63/btqJvTQMULh/EkS2oAulIXcOcpUP4ZlhNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm6j63%2FbtqJvTQMULh%2FEkS2oAulIXcOcpUP4ZlhNk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.19.50.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;9. 설정이 완료되면 다음과 같은 화면이 나타납니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.20.43.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZtRbH/btqJog01rJ5/ZRKJaK8Qk5azNNgl7Vx4KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZtRbH/btqJog01rJ5/ZRKJaK8Qk5azNNgl7Vx4KK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZtRbH/btqJog01rJ5/ZRKJaK8Qk5azNNgl7Vx4KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZtRbH%2FbtqJog01rJ5%2FZRKJaK8Qk5azNNgl7Vx4KK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.20.43.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;10. 이제 운영체제를 설정해주어야하는데요. 운영체제는 저 같은 경우는 우분트를 다운받았습니다. 아래 페이지에서 다운받아주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ubuntu.com/download/desktop&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ubuntu.com/download/desktop&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1600938663487&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Download Ubuntu Desktop | Download | Ubuntu&quot; data-og-description=&quot;Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.&quot; data-og-host=&quot;ubuntu.com&quot; data-og-source-url=&quot;https://ubuntu.com/download/desktop&quot; data-og-url=&quot;https://ubuntu.com/download/desktop&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://ubuntu.com/download/desktop&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ubuntu.com/download/desktop&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Download Ubuntu Desktop | Download | Ubuntu&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;ubuntu.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;11. 이제 만든 가상환경의 설정을 해줄 차례입니다. 가상환경 클릭 후 설정버튼을 눌러 다음과 같은 저장소 탭에 들어가주세요.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;컨트롤러: IDE 밑에 비어있음으로 되어있는 것을 확인할 수 있습니다. 옆 IDE 세컨더리 마스터의 디스크 모양을 눌러주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.21.01.png&quot; data-origin-width=&quot;1596&quot; data-origin-height=&quot;1372&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DySS5/btqJt0WUNDD/Hop6iN8pQGa6xhyCfYHUYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DySS5/btqJt0WUNDD/Hop6iN8pQGa6xhyCfYHUYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DySS5/btqJt0WUNDD/Hop6iN8pQGa6xhyCfYHUYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDySS5%2FbtqJt0WUNDD%2FHop6iN8pQGa6xhyCfYHUYK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.21.01.png&quot; data-origin-width=&quot;1596&quot; data-origin-height=&quot;1372&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.21.10.png&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;246&quot; width=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3LnNj/btqJt0ilCB9/1x9jbpila83k8b6OzP7651/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3LnNj/btqJt0ilCB9/1x9jbpila83k8b6OzP7651/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3LnNj/btqJt0ilCB9/1x9jbpila83k8b6OzP7651/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3LnNj%2FbtqJt0ilCB9%2F1x9jbpila83k8b6OzP7651%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.21.10.png&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;246&quot; width=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;12. 아까 다운로드한 우분투 이미지를 선택해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.22.39.png&quot; data-origin-width=&quot;1596&quot; data-origin-height=&quot;1372&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cs7SOH/btqJs4Ff22H/ufZ3dQxhbF6z88P0n1UI50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cs7SOH/btqJs4Ff22H/ufZ3dQxhbF6z88P0n1UI50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cs7SOH/btqJs4Ff22H/ufZ3dQxhbF6z88P0n1UI50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcs7SOH%2FbtqJs4Ff22H%2FufZ3dQxhbF6z88P0n1UI50%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.22.39.png&quot; data-origin-width=&quot;1596&quot; data-origin-height=&quot;1372&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;13. 이제 시작 버튼을 눌러 가상환경을 실행하면 됩니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.23.07.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ch90XC/btqJrytjMAI/IKkQqQFKIZ1eCB5qaIk6A1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ch90XC/btqJrytjMAI/IKkQqQFKIZ1eCB5qaIk6A1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ch90XC/btqJrytjMAI/IKkQqQFKIZ1eCB5qaIk6A1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fch90XC%2FbtqJrytjMAI%2FIKkQqQFKIZ1eCB5qaIk6A1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.23.07.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1248&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.30.19.png&quot; data-origin-width=&quot;1584&quot; data-origin-height=&quot;554&quot; width=&quot;450&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bobOyV/btqJxaEKbOh/TAps0GFdhkuCkFKivWCIk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bobOyV/btqJxaEKbOh/TAps0GFdhkuCkFKivWCIk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bobOyV/btqJxaEKbOh/TAps0GFdhkuCkFKivWCIk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbobOyV%2FbtqJxaEKbOh%2FTAps0GFdhkuCkFKivWCIk0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 4.30.19.png&quot; data-origin-width=&quot;1584&quot; data-origin-height=&quot;554&quot; width=&quot;450&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;&amp;nbsp;만약 위와 같이 에러 메세지가 발생하면 스크립트로 직접 실행해주세요.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;ViratulBoxVM -- startvm [가상환경이름]&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;운영체제 설치&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;가상환경을 설치하고 나면 자동으로 아까 설정한 운영체제가 실행됩니다. 그럼 아래와 같이 쭉 실행하시면 성공적으로 설치됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.50.42.png&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;1082&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pIVEh/btqJx5J0TbQ/CKl710wbb988rbkOfCdWm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pIVEh/btqJx5J0TbQ/CKl710wbb988rbkOfCdWm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pIVEh/btqJx5J0TbQ/CKl710wbb988rbkOfCdWm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpIVEh%2FbtqJx5J0TbQ%2FCKl710wbb988rbkOfCdWm1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.50.42.png&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;1082&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.52.00.png&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1170&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mAY3J/btqJyxGmcGd/X7DWf8Iwd1u6vevPAnzteK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mAY3J/btqJyxGmcGd/X7DWf8Iwd1u6vevPAnzteK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mAY3J/btqJyxGmcGd/X7DWf8Iwd1u6vevPAnzteK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmAY3J%2FbtqJyxGmcGd%2FX7DWf8Iwd1u6vevPAnzteK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.52.00.png&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1170&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.52.18.png&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1170&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pxNeW/btqJvTcifhU/OH9lp5KVOqMISVG1iMRVW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pxNeW/btqJvTcifhU/OH9lp5KVOqMISVG1iMRVW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pxNeW/btqJvTcifhU/OH9lp5KVOqMISVG1iMRVW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpxNeW%2FbtqJvTcifhU%2FOH9lp5KVOqMISVG1iMRVW0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.52.18.png&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1170&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.52.49.png&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1170&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dew2Gi/btqJsiw8AUm/9UHk4Ms7Ol9YarO8wglK11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dew2Gi/btqJsiw8AUm/9UHk4Ms7Ol9YarO8wglK11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dew2Gi/btqJsiw8AUm/9UHk4Ms7Ol9YarO8wglK11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdew2Gi%2FbtqJsiw8AUm%2F9UHk4Ms7Ol9YarO8wglK11%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 5.52.49.png&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1170&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-24 오후 6.15.34.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;910&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKHiEL/btqJtj3P76Q/seERPlGuYj72ELl06mUPVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKHiEL/btqJtj3P76Q/seERPlGuYj72ELl06mUPVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKHiEL/btqJtj3P76Q/seERPlGuYj72ELl06mUPVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKHiEL%2FbtqJtj3P76Q%2FseERPlGuYj72ELl06mUPVK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-24 오후 6.15.34.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;910&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이것으로 가상환경 및 운영체제를 설치했습니다. 다음으로는 서버 프로그램인 Apache를 설치해보도록하겠습니다.&lt;/p&gt;</description>
      <category>정리</category>
      <category>ubuntu</category>
      <category>VirtualBox</category>
      <category>가상환경</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/30</guid>
      <comments>https://dibtd.tistory.com/30#entry30comment</comments>
      <pubDate>Thu, 24 Sep 2020 18:24:39 +0900</pubDate>
    </item>
    <item>
      <title>0. 서버 개요</title>
      <link>https://dibtd.tistory.com/29</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;597&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qLVEA/btqJsv3AlRw/bncTdbUuKdnwB0Wh9OAB70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qLVEA/btqJsv3AlRw/bncTdbUuKdnwB0Wh9OAB70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qLVEA/btqJsv3AlRw/bncTdbUuKdnwB0Wh9OAB70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqLVEA%2FbtqJsv3AlRw%2FbncTdbUuKdnwB0Wh9OAB70%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;597&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;서버란?&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;서버&lt;/b&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%98%81%EC%96%B4&quot;&gt;영어&lt;/a&gt;:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt;)는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8_(%EC%BB%B4%ED%93%A8%ED%8C%85)&quot;&gt;클라이언트&lt;/a&gt;&lt;span&gt;에게&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC&quot;&gt;네트워크&lt;/a&gt;&lt;span&gt;를 통해&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%A0%95%EB%B3%B4&quot;&gt;정보&lt;/a&gt;&lt;span&gt;나 서비스를 제공하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%EC%8B%9C%EC%8A%A4%ED%85%9C&quot;&gt;컴퓨터 시스템&lt;/a&gt;&lt;span&gt;으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;컴퓨터 프로그램&lt;/b&gt;&lt;span&gt;(server program) 또는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;장치&lt;/b&gt;&lt;span&gt;(device)를 의미한다.&lt;br /&gt;&lt;br /&gt;출처 - &lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%84%9C%EB%B2%84&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;위키백과&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;서버란 말 그대로 무언가를 Serve(제공)하는 -er(행위자)를 뜻합니다. 이해를 돕기 위해 아주 재밌는 이야기 하나를 해보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;어느 한적한 마을에 놀러가 식당에 들어갔습니다. &lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;저는 무엇을 먹을지 정하기위해 종업원에게 메뉴판을 요청했습니다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt; 종업원은 메뉴판을 가져다 주었고 저는 한참을 고르다가 마침내 도라지 구이를 주문했습니다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt; 그러자 종업원은 주방으로 달려가 도라지구이 하나를 주방장에게 요청하고 다시 돌아와 다른 손님들을 받았습니다. &lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;주방에서는 주문을 확인하고 도라지구이를 만들기 위해 스마트 냉장고에 도라지를 달라고 요청했습니다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;그러자 스마트 냉장고에서 냉장고 자체에 도라지가 있는지 검사하고 꺼내어 주방장에게 가져다주었습니다.&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 예시를 IT 용어로 바꿔보면 다음과 같이 볼 수 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;손님 - Client&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;종업원 - Server Program (Web Server)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;주방장 - Backend language (php, jsp, java, python 등)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;스마트 냉장고 - DBMS (My Sql, MariaDB 등)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;냉장고 - DB (데이터 집합)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;도라지 - data&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Client &amp;lt;-&amp;gt; Server Program &amp;lt;-&amp;gt; Backend language &amp;lt;-&amp;gt; DBMS(DB)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;따라서 위 상황은 다음 상황과 일치합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;클라이언트가 웹서버에게 요청을 합니다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;그러자 웹 서버는 내가 줄 수 있는 것들(메뉴판 == 정적 컨텐츠)들은 직접 반환해주고 내가 줄 수 없는 것들(도라지 구이 == 동적 컨텐츠)들은 Backend Language를 통해 작성한 프로그램에 맡깁니다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;요청을 받은 프로그램은 요청을 수행하기 위해 필요한 데이터들을 DBMS에게 요청합니다.DBMS는 데이터 베이스에 있는 데이터에 접근하여 데이터에 대한 요청을 수행해줍니다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(DBMS란 데이터베이스 관리 시스템입니다. DB는 데이터 집합을 말하고 DBMS는 데이터 베이스에 접근하게 해 주는 소프트웨어 도구의 집합입니다.)&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;따라서 상황을 잘 분석해보면 다음과 같은 특징을 알 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-ke-size=&quot;size16&quot;&gt;N:1 (Client : Server)&lt;/li&gt;
&lt;li data-ke-size=&quot;size16&quot;&gt;client - server란 상대적인 개념&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;우선 클라이언트와 서버는&amp;nbsp; N : 1의 관계를 가집니다. 만약 손님 한명당 종업원 한 명, 음식 하나당 주방장 한 명씩이 더 필요하다면 배보다 배꼽이 더 큰 격일 겁니다. 따라서 일손이 모자라지 않는 한&amp;nbsp;하나의 서버는 클라이언트의 여러 요청을 수행할 수 있어야 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;두 번째 특징으로는 서버와 클라이언트는 상대적인 개념이란 것입니다. 손님의 입장에서는 종업원이 서버입니다. 하지만 종업원 입장에서는 주방장에게 요청을 하므로 주방장이 서버입니다. 즉, 서버란 무언가를 제공해준다는 점에서 서버라고 부릅니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;따라서 흔히 우리가 서버를 구축한다는 표현은 Server program &amp;lt;-&amp;gt; Backend Language &amp;lt;-&amp;gt; DBMS 가 작동하는 환경을 의미합니다. 서버에 대한 이해를 깊이 하기 위해 저는 Server program의 대표주자 &lt;b&gt;Apache&lt;/b&gt;, Backend language의 &lt;b&gt;php&lt;/b&gt;, DBMS의&lt;b&gt; My Sql&lt;/b&gt;를 컴파일 설치를 통해 구축해보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정리</category>
      <category>apm</category>
      <category>개요</category>
      <category>서버</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/29</guid>
      <comments>https://dibtd.tistory.com/29#entry29comment</comments>
      <pubDate>Thu, 24 Sep 2020 01:30:25 +0900</pubDate>
    </item>
    <item>
      <title>CI/CD 적용하기</title>
      <link>https://dibtd.tistory.com/28</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCxh38/btqHQG6jl8h/QCGK7B0H9kcPfy7SSveQYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCxh38/btqHQG6jl8h/QCGK7B0H9kcPfy7SSveQYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCxh38/btqHQG6jl8h/QCGK7B0H9kcPfy7SSveQYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCxh38%2FbtqHQG6jl8h%2FQCGK7B0H9kcPfy7SSveQYK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;개요&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;DevOps&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;DevOps란 개발과 운영을 함께하는 소프트웨어 개발 방법론입니다. 소프트웨어 개발 시에는 개발뿐만 아니라 빌드, 테스트, 배포 등 여러 과정이 필요합니다. 따라서 기존의 회사들은 하나의 서비스를 개발과 운영팀으로 나눠 관리했습니다. 이렇게 하나의 서비스를 개발과 운영으로 나누다보니 의사결정과 소통에서 비효율적인 문제가 발생했습니다. 따라서 개발과 운영을 함께 할 수 있는 방법론인 DevOps가 탄생하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;하나의 서비스를 개발한 후 운영하다보면 필연적으로 그 서비스는 여러 변경사항이 생깁니다. 과거에는 이 변경된 코드를 적용하기 위해서 모든 개발자가 모여 직접 코드를 병합하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;최근에는 애플리케이션 배포 주기가 짧아지면서 잦은 코드 병합이 일어나고 이 때마다 여러 개발자가 모여 직접 병합할 경우 생산성 저하라는 문제가 발생되었습니다. 배포 또한 마찬가지로 여러 서버에서 배포를 진행해야한다면 수동으로 배포하기엔 실수를 할 가능성이 높아지고 특히 서버가 몇 백대라면 수동 배포에 한계가 존재하게되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;따라서 통합과 배포를 자동화하여 운영해주는 DevOps의 CI/CD 개념이 탄생하게되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;CI/CD 란?&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CI(Contiuous Integration):&lt;/b&gt; 지속적 통합을 의미하는 용어로 추가되거나 수정된 코드들을 실시간으로 병합하여 안정적인 배포 파일을 만드는 과정을 의미.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CD(Contiuous Deployment):&lt;/b&gt; 지속적인 배포를 의미하는 용어로 병합된 코드를 자동으로 배포해주는 과정을 의미&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;h3&gt;CI란?&lt;/h3&gt;
&lt;p&gt;CI지속적 통합는&lt;span&gt;&amp;nbsp;&lt;/span&gt;지속적으로 퀄리티 컨트롤을 적용하는 프로세스를 실행하는 것이라고 정의가 쓰여있습니다. 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;빌드&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;및&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;테스트&lt;/b&gt;되어서 하나의 레포지토리로 관리되는 것을 의미합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SCMSource Code Management의 과정도 CI에 속합니다.
&lt;ul&gt;
&lt;li&gt;Git을 사용해 Github 레포 하나로 여러명의 개발자가 소스코드를 올리고 충돌을 처리하는 모든 과정도 CI에 속합니다.&lt;/li&gt;
&lt;li&gt;Git이 아닌 SVN도 마찬가지입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;빌드 후 작성된 테스트 코드를 통해 유효성을 검증하는 것도 CI에 속합니다.
&lt;ul&gt;
&lt;li&gt;아주 간단한 예시로 Pull Request를 생성했을 때, 소스코드가 Conflict나는 경우 Merge 버튼이 비활성화 되는 경험을 해보셨을 겁니다. 그것 또한 유효성 검사에서 실패한 것으로 CI에 속합니다.&lt;/li&gt;
&lt;li&gt;더 나아가, CI 툴을 사용해 소스코드가 컨벤션에 준수하는지 등을 체크하는 린터linter로 검증을 하도록 할 수 있는 등 다양한 일이 가능합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;CI를 하면 뭐가 좋은가요?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;지속적 통합을 하게되면 소스코드는 항상 Ready-to-run 상태(배포가 가능한 상태는 아닙니다.)가 됩니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;즉, 중간에 누군가 합류를 해도 빌드가 되는 코드를 받을 수 있습니다.&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;혼자서 개발할 때는 이런 문제를 겪어보지 못해서 중요성을 체감하지 못합니다.&lt;/li&gt;
&lt;li&gt;하지만, 회사 프로젝트나 오픈소스 프로젝트 등 여러명이서 개발을 하는 상태라면 이 문제는 더욱 중요해집니다.
&lt;ul&gt;
&lt;li&gt;중간에 합류해서 새로운 기능을 개발하려고 하는데 누군가 작업하고 있는 코드가 아직 공유 레포upstream에 올라가 있어서 빌드가 안된다.&lt;/li&gt;
&lt;li&gt;이런 경우가 발생하면 그 사람과 얘기해서 해결하던가, 직접 소스코드를 보고 돌아가도록 디버깅을 하던가 해야합니다. 하지만, 이 자체로도 시간이 소요되므로 생산성이&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;매우매우&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;떨어지게 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;게다가, 특정한 날을 정해서 각자 개발한 소스코드를 병합하도록 하게되면 그에 따르는 많은 시간을 소모하게 됩니다.
&lt;ul&gt;
&lt;li&gt;만약, 기존 코드와 Merge한 코드가 에러가 난다면 이를 처리하는 과정에도 많은 시간이 소요될 것입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;항상 양질의 코드 퀄리티를 유지할 수 있습니다.
&lt;ul&gt;
&lt;li&gt;테스트의 자동화를 이루게되면 항상 테스트 코드를 통과하는 코드만 공유 레포에 올라갈 수 있기 때문에 상당한 퀄리티의 소스코드로 유지되게 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;CD란?&lt;/h3&gt;
&lt;p&gt;CD는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;지속적 제공Continuous Delivery과 지속적 배포Continuous Deployment&lt;/b&gt;를 모두 의미합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;지속적 제공Continuous Delivery&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: CI 과정이 모두 끝난 뒤 유효성 검증이 된 코드를 레포지토리에 올리는 것을 자동화합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(프로덕션 레벨로 배포하는 것과는 별개입니다.)
&lt;ul&gt;
&lt;li&gt;항상 프로덕션 레벨로 배포할 수 있는 준비가 되어있는 소스코드를 자동으로 올라갈 수 있도록 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;지속적 배포Continuous Deployment&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: CI/CD 과정의 마지막 단계입니다. 지속적 제공을 통해 배포 가능한 소스코드를 프로덕션 레벨로 릴리즈하는 것을 의미합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;실제 사례에서 지속적 배포는 개발자가 애플리케이션을 수정한 뒤 몇 분 이내에 애플리케이션을 자동으로 실행할 수 있는 것을 의미합니다.&lt;/p&gt;
&lt;p&gt;CD를 하면 뭐가 좋은가요?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;개발부터 배포까지 과정이 번거롭지 않고 간소화 되기 때문에 사용자 피드백을 빠르게 반영할 수 있습니다.
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;장애 대응이 빨라집니다.&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;릴리즈를 했는데 굉장히 크리티컬한 이슈가 발견되었을 때, 개발부터 배포까지의 과정이 복잡하면 반영에 오래걸리게 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;만약, 로드밸런서로 수십대의 서버를 동시에 운용한다면?
&lt;ul&gt;
&lt;li&gt;자동화를 하지않으면 직접 서버에 들어가서 일일이 실행해야하기 때문에 하루종일 배포를 할 수도 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;출처:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://minz.dev/18?category=850293&quot;&gt;https://minz.dev/18?category=850293&lt;/a&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;[MinJunKweon 개발 블로그]&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;적용&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;지속적 통합, 지속적 배포를 프로젝트에 적용시켜 통합과 배포를 자동화시켜보도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;CI 도구를 도입할 것이나 사실 정확히 CI를 하고 있지는 않습니다. 왜냐하면 CI에 대한 4가지 규칙 중 테스트 자동화에 대한 내용이 충족되지 않았기 때문입니다. 정확한 CI를 하고 싶은 경우 견고한 소프트웨어를 위한 테스트 코드를 작성해주세요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;마틴 파울러 CI 4가지 규칙&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 소스 코드가 실행되고 누구든 현재 소스에 접근할 수 있는 단일 지점을 유지할 것&lt;/li&gt;
&lt;li&gt;빌드 프로세스를 자동화해서 누구든 소스로부터 시스템을 빌드하는 단일 명령어를 사용할 수 있게 할 것&lt;/li&gt;
&lt;li&gt;테스팅 자동화를 단일 명령어로 실행해 시스템에 대한 건전한 테스트 수트를 실행할 수 있게 할 것&lt;/li&gt;
&lt;li&gt;누구나 현재 실행 파일을 얻으면 지금까지 가장 완전한 실행 파일을 얻었다는 확신을 하게 할 것&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Travis Ci 설정&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Travis는 깃허브에서 제공하는 CI 서비스입니다. public repository에 한해 무료로 제공됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://travis-ci.org/&quot;&gt;https://travis-ci.org/ &lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;로 들어갑니다.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599114289931&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Travis CI - Test and Deploy Your Code with Confidence&quot; data-og-description=&quot;&quot; data-og-host=&quot;travis-ci.org&quot; data-og-source-url=&quot;https://travis-ci.org/&quot; data-og-url=&quot;https://travis-ci.org/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://travis-ci.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://travis-ci.org/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Travis CI - Test and Deploy Your Code with Confidence&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;travis-ci.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;travis는 깃허브에서 제공하는 서비스로 깃허브 아이디로 연동가능합니다. 깃 허브 아이디로 로그인 한 뒤 오른쪽 위 메뉴바에서 Settings를 클릭해 들어갑니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 3.25.58.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MXHrR/btqHXEtSICh/YokWGGTskXo583YJ2hJbD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MXHrR/btqHXEtSICh/YokWGGTskXo583YJ2hJbD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MXHrR/btqHXEtSICh/YokWGGTskXo583YJ2hJbD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMXHrR%2FbtqHXEtSICh%2FYokWGGTskXo583YJ2hJbD1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 3.25.58.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;깃허브에 등록된 repository 들 중 travis 연동을 원하는 프로젝트를 클릭합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 3.26.46.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VP8IW/btqHVnFXzFY/jK5Kcgrq7hUfjkd4SnsBQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VP8IW/btqHVnFXzFY/jK5Kcgrq7hUfjkd4SnsBQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VP8IW/btqHVnFXzFY/jK5Kcgrq7hUfjkd4SnsBQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVP8IW%2FbtqHVnFXzFY%2FjK5Kcgrq7hUfjkd4SnsBQ0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 3.26.46.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;해당 Repository를 활성화시킵니다. 다음과 같이 빌드 히스토리 페이지가 나옵니다. travis 웹 사이트에서 설정은 이것으로 끝입니다. 나머지 설정은 프로젝트에서 진행합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 3.27.06.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SiPIa/btqHWvKAS24/wVykm7MyXkF9T37hkiKG20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SiPIa/btqHWvKAS24/wVykm7MyXkF9T37hkiKG20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SiPIa/btqHWvKAS24/wVykm7MyXkF9T37hkiKG20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSiPIa%2FbtqHWvKAS24%2FwVykm7MyXkF9T37hkiKG20%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 3.27.06.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;프로젝트 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;프로젝트 root 디렉토리 아래에 .travis.yml 파일을 생성합니다.(build.gradle.kts 와 같은 위치)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tavis가 시작 시 해당 파일을 읽어드립니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 4.07.18.png&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;872&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l6R1b/btqHR65JRad/ADZPzP6TZQ0D7NQhjWfi00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l6R1b/btqHR65JRad/ADZPzP6TZQ0D7NQhjWfi00/img.png&quot; data-alt=&quot;.travis.yml&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l6R1b/btqHR65JRad/ADZPzP6TZQ0D7NQhjWfi00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl6R1b%2FbtqHR65JRad%2FADZPzP6TZQ0D7NQhjWfi00%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 4.07.18.png&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;872&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.travis.yml&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음과 같이 설정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;language&lt;/b&gt;&amp;nbsp;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;저는 kotlin을 사용했으므로 koltin이라고 명시하였으나 다른 언어를 사용한 경우 해당 언어를 입력해주세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;사용한 jdk를 명시합니다.&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;branches&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;travis CI를 수행할 github branch를 설정합니다. 저는 오직 master branch에 푸쉬될 경우에만 수행하도록 설정하였습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;cache&lt;/b&gt;&amp;nbsp;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;캐시 디렉토리를 설정합니다. 같은 의존성을 받을 경우를 방지합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;script&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;master branch에 푸쉬됐을 경우 실행하는 스크립트입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;notifications&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;푸쉬 되었을 경우 이메일로 알림이 오도록 하는 설정입니다. recipients:에 본인의 이메일을 입력해주세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위와 같이 설정을 마쳤으면 master branch로 푸쉬해보세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;그 다음 travis 저장소 페이지로 이동하면 현재 상태를 알 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 4.09.04.png&quot; data-origin-width=&quot;2030&quot; data-origin-height=&quot;478&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qfiXj/btqHXDodNkN/GKYJohGxtJT7pZtcXpQafK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qfiXj/btqHXDodNkN/GKYJohGxtJT7pZtcXpQafK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qfiXj/btqHXDodNkN/GKYJohGxtJT7pZtcXpQafK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqfiXj%2FbtqHXDodNkN%2FGKYJohGxtJT7pZtcXpQafK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 4.09.04.png&quot; data-origin-width=&quot;2030&quot; data-origin-height=&quot;478&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;빌드가 성공하면 우측 위에 pass로 나타납니다. 마찬가지로 이메일을 확인해보면 다음과 같이 메일이 전달되었을 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 4.09.53.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;872&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwzsmf/btqHLgatuHh/KPKLLiSyfGDAIA7luymyLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwzsmf/btqHLgatuHh/KPKLLiSyfGDAIA7luymyLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwzsmf/btqHLgatuHh/KPKLLiSyfGDAIA7luymyLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcwzsmf%2FbtqHLgatuHh%2FKPKLLiSyfGDAIA7luymyLK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 4.09.53.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;872&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Travis + S3 연동&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;앞서 Travis CI를 실행하여 jar 파일을 생성했습니다. 이 생성된 jar 파일을 배포하기 위해 AWS Code Deploy 서비스를 이용합니다. 하지만 AWS Code Deploy에는 저장 기능이 따로 없기에 S3에 jar 파일을 저장하고 이 파일을 AWS Code Deploy가 가져갈 수 있게끔 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;따라서 우선 AWS에 접근 관련 설정부터 진행하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;IAM&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;AWS에서 제공하는 서비스는 외부 서비스가 접근할 수가 없습니다. 만약 접근하고자 할 경우에는 접근 권한을 부여 받아야합니다. 이 때 인증과 권한 부여와 같은 기능을 하는 서비스가 바로 IAM(Identity and Access Management) 입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;AWS 콘솔에 들어가 IAM을 검색하고 들어갑니다. 해당 페이지에서 사용자 -&amp;gt; 사용자 추가를 클릭해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.13.28.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;422&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bySkVH/btqHMuNgtFK/1Bzo99FvSdLlKW9mKtcOy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bySkVH/btqHMuNgtFK/1Bzo99FvSdLlKW9mKtcOy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bySkVH/btqHMuNgtFK/1Bzo99FvSdLlKW9mKtcOy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbySkVH%2FbtqHMuNgtFK%2F1Bzo99FvSdLlKW9mKtcOy1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.13.28.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;422&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;생성할 사용자 이름을 입력하고 프로그래밍 방식 액세스 유형을 선택해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.15.26.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;704&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/G3ByY/btqHUaNLp8Q/BzOrTy28M5vkYeSBX7nPt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/G3ByY/btqHUaNLp8Q/BzOrTy28M5vkYeSBX7nPt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/G3ByY/btqHUaNLp8Q/BzOrTy28M5vkYeSBX7nPt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG3ByY%2FbtqHUaNLp8Q%2FBzOrTy28M5vkYeSBX7nPt0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.15.26.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;704&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다음으로 권한을 설정합니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;저는 기존 정책 직접 연결을 통해 AmazonS3FullAccess, AWSCodeDeployFullAccess을 연결하겠습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.17.40.png&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;704&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LSnBL/btqHT1C8iqy/ugwiJbvhDxiWVBT8VoHBkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LSnBL/btqHT1C8iqy/ugwiJbvhDxiWVBT8VoHBkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LSnBL/btqHT1C8iqy/ugwiJbvhDxiWVBT8VoHBkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLSnBL%2FbtqHT1C8iqy%2FugwiJbvhDxiWVBT8VoHBkk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.17.40.png&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;704&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다음으로 넘어가 태그를 설정해주세요. name : &quot;본인 설정 이름&quot; 으로 설정합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;704&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.19.29.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRh7lM/btqHYJopERO/ZYDH62VUhgbJkgmYUMJki1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRh7lM/btqHYJopERO/ZYDH62VUhgbJkgmYUMJki1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRh7lM/btqHYJopERO/ZYDH62VUhgbJkgmYUMJki1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRh7lM%2FbtqHYJopERO%2FZYDH62VUhgbJkgmYUMJki1%2Fimg.png&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;704&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.19.29.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;마지막으로 검토 한번 하고 사용자를 생성해줍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.20.38.png&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1182&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9O8cu/btqHNxDgssL/SsJnckYs5uFWJSwGDLPKjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9O8cu/btqHNxDgssL/SsJnckYs5uFWJSwGDLPKjk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9O8cu/btqHNxDgssL/SsJnckYs5uFWJSwGDLPKjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9O8cu%2FbtqHNxDgssL%2FSsJnckYs5uFWJSwGDLPKjk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.20.38.png&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1182&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;생성하고 나면 Access ID와 Secret 키가 나타납니다. 이 키를 통해 Travis CI를 등록하겠습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;키 등록&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;travis 페이지로 돌아가 repository 설정에서 아래로 내려가보면 다음과 같이 환경변수를 설정하는 칸이 있습니다. 해당 칸에 위에 Access ID와 &lt;span style=&quot;color: #333333;&quot;&gt;Secret key를 등록합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.25.14.png&quot; data-origin-width=&quot;2580&quot; data-origin-height=&quot;380&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zaySO/btqHNxi1NUk/jJI7EXMLoTXXWdUOKZn7D0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zaySO/btqHNxi1NUk/jJI7EXMLoTXXWdUOKZn7D0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zaySO/btqHNxi1NUk/jJI7EXMLoTXXWdUOKZn7D0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzaySO%2FbtqHNxi1NUk%2FjJI7EXMLoTXXWdUOKZn7D0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.25.14.png&quot; data-origin-width=&quot;2580&quot; data-origin-height=&quot;380&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;이제 위 등록한 변수들을 .travis.yml 에서 사용가능합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;S3 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 S3 서버를 만들겠습니다. S3 서버란 Simple Storage Service의 줄임말로 파일을 관리하는 서버입니다. 이 S3 서버에 Travis CI가 생성한 빌드파일이 저장되도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;AWS 콘솔에서 S3를 검색해 S3 페이지로 입장해주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;버킷 생성을 클릭해 다음과 같이 버킷 이름을 작성해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.32.33.png&quot; data-origin-width=&quot;2170&quot; data-origin-height=&quot;1542&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnhTof/btqHNwkcAUO/No8GAGK3p5cl5fdetwfyDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnhTof/btqHNwkcAUO/No8GAGK3p5cl5fdetwfyDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnhTof/btqHNwkcAUO/No8GAGK3p5cl5fdetwfyDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnhTof%2FbtqHNwkcAUO%2FNo8GAGK3p5cl5fdetwfyDK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.32.33.png&quot; data-origin-width=&quot;2170&quot; data-origin-height=&quot;1542&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;옵션은 구성할 것이 없으니 바로 권한 설정으로 넘어가 퍼블릭 액세스 차단에 체크를 해주세요. 퍼블릭을 열어둘 경우 빌드된 파일이 탈취되어 중요한 정보들이 모두 탈취될 수 있습니다. 해당 옵션을 활성화해도 IAM&amp;nbsp; 사용자로 발급받은 키를 사용할 수 있어 접근 가능하니 걱정 안하셔도됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.33.38.png&quot; data-origin-width=&quot;2170&quot; data-origin-height=&quot;1542&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/szQ4h/btqHQGsPR5j/ke1T1jpASdH54D9WMpNPF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/szQ4h/btqHQGsPR5j/ke1T1jpASdH54D9WMpNPF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/szQ4h/btqHQGsPR5j/ke1T1jpASdH54D9WMpNPF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FszQ4h%2FbtqHQGsPR5j%2Fke1T1jpASdH54D9WMpNPF1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.33.38.png&quot; data-origin-width=&quot;2170&quot; data-origin-height=&quot;1542&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;모두 완료한 다음 아래와 같이 버킷이 생성되면 S3 버킷이 성공적으로 완성되었습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.36.12.png&quot; data-origin-width=&quot;2170&quot; data-origin-height=&quot;738&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dPFetb/btqHR7cB5xd/LKQeVGzQBkfbx8AlrAI3gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dPFetb/btqHR7cB5xd/LKQeVGzQBkfbx8AlrAI3gk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dPFetb/btqHR7cB5xd/LKQeVGzQBkfbx8AlrAI3gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdPFetb%2FbtqHR7cB5xd%2FLKQeVGzQBkfbx8AlrAI3gk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 5.36.12.png&quot; data-origin-width=&quot;2170&quot; data-origin-height=&quot;738&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;.travis.yml 변경&lt;br /&gt;&lt;br /&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 프로젝트에서 S3 서버에 연동할 수 있도록 .travis.yml을 다음과 같이 수정합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 6.45.35.png&quot; data-origin-width=&quot;1296&quot; data-origin-height=&quot;656&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xpqtR/btqHTZSXFHx/qto0V4Op3DWOhpnzJOvXr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xpqtR/btqHTZSXFHx/qto0V4Op3DWOhpnzJOvXr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xpqtR/btqHTZSXFHx/qto0V4Op3DWOhpnzJOvXr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxpqtR%2FbtqHTZSXFHx%2Fqto0V4Op3DWOhpnzJOvXr0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 6.45.35.png&quot; data-origin-width=&quot;1296&quot; data-origin-height=&quot;656&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;before_deploy&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;before_deploy&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;deploy 되기 전에 실행합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;zip -r springboot2-davinci-webservice : springboot2-davnici-webservice라는 이름으로 파일을 압축합니다.&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;mkdir -p deploy : 현재 프로세스가 실행되고 있는 지점에 deploy 파일을 생성합니다.&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;mv&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;zip 파일을 뒤에 오는 인자의 경로로 이동시킵니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;deploy&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;deploy&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;외부 서비스와 연동될 행위를 선언합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;travis 환경 변수에 입력했던 key들을 변수로 사용하여 access key를 할당합니다.&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;bucket&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;S3에 생성한 버켓 이름을 입력해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;skip_cleanup&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;빌드 결과물을 삭제하지 않도록 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;acl&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;zip 파일에 대한 접근을 설정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;local_dir&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;해당 위치 파일을 s3로 전송합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;이제 github의 master branch로 푸쉬합니다. 다음과 같이 s3 버킷에 zip 파일이 전송됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 8.59.05.png&quot; data-origin-width=&quot;1958&quot; data-origin-height=&quot;256&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nNYMR/btqHMuNqHD5/DRvg2vlp6q07lqODMQOK4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nNYMR/btqHMuNqHD5/DRvg2vlp6q07lqODMQOK4K/img.png&quot; data-alt=&quot;s3 bucket&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nNYMR/btqHMuNqHD5/DRvg2vlp6q07lqODMQOK4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnNYMR%2FbtqHMuNqHD5%2FDRvg2vlp6q07lqODMQOK4K%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 8.59.05.png&quot; data-origin-width=&quot;1958&quot; data-origin-height=&quot;256&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;s3 bucket&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;CodeDeploy 연결&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;CodeDeploy이는 배포를 해주는 AWS 서비스입니다. EC2 인스턴스와 연결해야하므로 IAM 설정을 먼저 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;IAM 콘솔로 들어가 역할 - 역할 만들기를 클릭합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.05.22.png&quot; data-origin-width=&quot;1110&quot; data-origin-height=&quot;784&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zie6m/btqHVnTJnZN/FNyQ9sQhoCIiNze97jwgkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zie6m/btqHVnTJnZN/FNyQ9sQhoCIiNze97jwgkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zie6m/btqHVnTJnZN/FNyQ9sQhoCIiNze97jwgkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZie6m%2FbtqHVnTJnZN%2FFNyQ9sQhoCIiNze97jwgkk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.05.22.png&quot; data-origin-width=&quot;1110&quot; data-origin-height=&quot;784&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;AWS 서비스의 EC2 인스턴스를 선택합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.06.12.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;784&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IVSs6/btqHZjQHJcB/NXxtSFak4KDDvu2UVUQkS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IVSs6/btqHZjQHJcB/NXxtSFak4KDDvu2UVUQkS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IVSs6/btqHZjQHJcB/NXxtSFak4KDDvu2UVUQkS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIVSs6%2FbtqHZjQHJcB%2FNXxtSFak4KDDvu2UVUQkS1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.06.12.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;784&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다음으로 넘어가 아래 그림과 같이 정책을 선택합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.06.52.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;380&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9hNT6/btqHZJhx5xM/p3KwAfxOIOhnFsycoDGL6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9hNT6/btqHZJhx5xM/p3KwAfxOIOhnFsycoDGL6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9hNT6/btqHZJhx5xM/p3KwAfxOIOhnFsycoDGL6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9hNT6%2FbtqHZJhx5xM%2Fp3KwAfxOIOhnFsycoDGL6k%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.06.52.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;380&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;태그에 name도 추가합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.10.01.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;402&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dZJSSn/btqHT1DfiAV/Eud80Gj66qkSviZekfcDp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dZJSSn/btqHT1DfiAV/Eud80Gj66qkSviZekfcDp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dZJSSn/btqHT1DfiAV/Eud80Gj66qkSviZekfcDp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdZJSSn%2FbtqHT1DfiAV%2FEud80Gj66qkSviZekfcDp1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.10.01.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;402&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;마지막으로 검토 후 역할을 생성합니다&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.10.37.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1148&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9EeDk/btqHR5MIcUJ/9phDx71R5kb9wBF65IrsH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9EeDk/btqHR5MIcUJ/9phDx71R5kb9wBF65IrsH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9EeDk/btqHR5MIcUJ/9phDx71R5kb9wBF65IrsH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9EeDk%2FbtqHR5MIcUJ%2F9phDx71R5kb9wBF65IrsH0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.10.37.png&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1148&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;만든 역할을 EC2 인스턴스에게 부여합니다. 부여한 뒤 인스턴스 재부팅을 한번 실행해줍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.11.48.png&quot; data-origin-width=&quot;1788&quot; data-origin-height=&quot;790&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lqHtN/btqHO1jTlKH/xyk52a8CM9eI2iD1fYQoNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lqHtN/btqHO1jTlKH/xyk52a8CM9eI2iD1fYQoNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lqHtN/btqHO1jTlKH/xyk52a8CM9eI2iD1fYQoNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlqHtN%2FbtqHO1jTlKH%2Fxyk52a8CM9eI2iD1fYQoNk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.11.48.png&quot; data-origin-width=&quot;1788&quot; data-origin-height=&quot;790&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 EC2 인스턴스에 ssh 접속하여아래와 같이 설치를 진행해주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;성공시 download : ~~ 가 출력되어 나타납니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.18.10.png&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;72&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctmJWx/btqHQYAtzho/vujrooa9ukvAaWe8lrzm8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctmJWx/btqHQYAtzho/vujrooa9ukvAaWe8lrzm8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctmJWx/btqHQYAtzho/vujrooa9ukvAaWe8lrzm8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctmJWx%2FbtqHQYAtzho%2Fvujrooa9ukvAaWe8lrzm8K%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.18.10.png&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;72&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;install 파일이 설치되었지만 실행 권한이 없습니다. 따라서 실행파일로 변경해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.19.37.png&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;62&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxl29T/btqHVors2Gu/XFEDkdKRWGgfVQyDwBInXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxl29T/btqHVors2Gu/XFEDkdKRWGgfVQyDwBInXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxl29T/btqHVors2Gu/XFEDkdKRWGgfVQyDwBInXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbxl29T%2FbtqHVors2Gu%2FXFEDkdKRWGgfVQyDwBInXk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.19.37.png&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;62&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래와 같은 명령어 입력후 The AWS ~~ 가 출력되면 제대로 실행되고 있는 겁니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.20.07.png&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;62&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFENL1/btqHMuT7IBO/a94aAVQdkUb0R4c9GiQ1S0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFENL1/btqHMuT7IBO/a94aAVQdkUb0R4c9GiQ1S0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFENL1/btqHMuT7IBO/a94aAVQdkUb0R4c9GiQ1S0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFENL1%2FbtqHMuT7IBO%2Fa94aAVQdkUb0R4c9GiQ1S0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.20.07.png&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;62&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 다시 AWS 콘솔로 돌아가 CodeDeploy 를 검색해 해당 페이지로 들어가세요. 그 다음 애플리케이션 - 애플리케이션 생성 버튼을 클릭해 애플리케이션을 생성하도록 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.24.29.png&quot; data-origin-width=&quot;2602&quot; data-origin-height=&quot;644&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDD3NJ/btqHVnlMJOR/HJnaFkiGV6Ghw5K3llkiDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDD3NJ/btqHVnlMJOR/HJnaFkiGV6Ghw5K3llkiDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDD3NJ/btqHVnlMJOR/HJnaFkiGV6Ghw5K3llkiDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDD3NJ%2FbtqHVnlMJOR%2FHJnaFkiGV6Ghw5K3llkiDk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.24.29.png&quot; data-origin-width=&quot;2602&quot; data-origin-height=&quot;644&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;아래와 같이 이름을 지어주고 컴퓨팅 플랫폼을 EC2/온프레미스로 설정해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.31.25.png&quot; data-origin-width=&quot;1694&quot; data-origin-height=&quot;720&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LfbY1/btqHXCQBt7v/QRNUMOWMrOrLWlOA6vflkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LfbY1/btqHXCQBt7v/QRNUMOWMrOrLWlOA6vflkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LfbY1/btqHXCQBt7v/QRNUMOWMrOrLWlOA6vflkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLfbY1%2FbtqHXCQBt7v%2FQRNUMOWMrOrLWlOA6vflkk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.31.25.png&quot; data-origin-width=&quot;1694&quot; data-origin-height=&quot;720&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;생성한 뒤 페이지 하단에 배포 그룹 생성을 눌러주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.32.16.png&quot; data-origin-width=&quot;2536&quot; data-origin-height=&quot;720&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OTKzb/btqHT0qScih/gwO69GXyqOekT2aPRLEUtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OTKzb/btqHT0qScih/gwO69GXyqOekT2aPRLEUtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OTKzb/btqHT0qScih/gwO69GXyqOekT2aPRLEUtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOTKzb%2FbtqHT0qScih%2FgwO69GXyqOekT2aPRLEUtk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.32.16.png&quot; data-origin-width=&quot;2536&quot; data-origin-height=&quot;720&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;아까 만든 역할을 부여하고 현재 위치 배포 유형을 선택해주세요. EC2 인스턴스가 하나밖에 없으므로 괜찮습니다. 만약 두 개 이상이라면 블루/그린을 선택해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.34.21.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;442&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUr9Mk/btqHMuT72UX/kFQmaqIilREPOeHSpD33I0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUr9Mk/btqHMuT72UX/kFQmaqIilREPOeHSpD33I0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUr9Mk/btqHMuT72UX/kFQmaqIilREPOeHSpD33I0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUr9Mk%2FbtqHMuT72UX%2FkFQmaqIilREPOeHSpD33I0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.34.21.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;442&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;환경 구성에서는 EC2 인스턴스를 선택하고 등록한 태그를 입력해주세요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.43.16.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;510&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSzvRa/btqHVnGaVFO/lHRehQfGwxONTCzErMDlV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSzvRa/btqHVnGaVFO/lHRehQfGwxONTCzErMDlV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSzvRa/btqHVnGaVFO/lHRehQfGwxONTCzErMDlV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSzvRa%2FbtqHVnGaVFO%2FlHRehQfGwxONTCzErMDlV0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.43.16.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;510&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;마지막으로 배포 설정을 아래와 같이 설정하면 끝입니다! 서버가 1대이니 전체 배포 옵션을 선택합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.45.57.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;666&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqR5HB/btqHZjJYXyI/zGE9K0Wdx0D3dNj0lLefHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqR5HB/btqHZjJYXyI/zGE9K0Wdx0D3dNj0lLefHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqR5HB/btqHZjJYXyI/zGE9K0Wdx0D3dNj0lLefHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqR5HB%2FbtqHZjJYXyI%2FzGE9K0Wdx0D3dNj0lLefHK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.45.57.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;666&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Travis Ci, S3, CodeDeploy 연동&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;앞서 CodeDeploy와 EC2 인스턴스를 연결했으니 이제는 Travis, S3, CodeDeploy를 연결하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;우선&amp;nbsp; EC2 서버에 접속해서 빌드된 Zip 파일을 저장할 디렉토리를 생성해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.51.57.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;40&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/78chR/btqHQHk4M01/l9ovRJbrzR0wzgYvr0BQ2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/78chR/btqHQHk4M01/l9ovRJbrzR0wzgYvr0BQ2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/78chR/btqHQHk4M01/l9ovRJbrzR0wzgYvr0BQ2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F78chR%2FbtqHQHk4M01%2Fl9ovRJbrzR0wzgYvr0BQ2K%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.51.57.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;40&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 프로젝트 파일로 돌아와 appspec.yml을 .travis.yml과 같은 위치에 생성해주세요. appspec.yml은 codeDeploy 설정 파일입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.54.27.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;132&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lq7jr/btqHO0E8NEJ/BLkY9AJybRKeKCWff0fxsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lq7jr/btqHO0E8NEJ/BLkY9AJybRKeKCWff0fxsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lq7jr/btqHO0E8NEJ/BLkY9AJybRKeKCWff0fxsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLq7jr%2FbtqHO0E8NEJ%2FBLkY9AJybRKeKCWff0fxsk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 9.54.27.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;132&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래와 같이 입력해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;268&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.21.15.png&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wdznu/btqHMu7GuUA/nfu37p10tREFc1dRBZqVAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wdznu/btqHMu7GuUA/nfu37p10tREFc1dRBZqVAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wdznu/btqHMu7GuUA/nfu37p10tREFc1dRBZqVAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwdznu%2FbtqHMu7GuUA%2Fnfu37p10tREFc1dRBZqVAK%2Fimg.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;268&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.21.15.png&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;version&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt; CodeDeploy 버전입니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;files&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;- source: /&amp;nbsp; 전체 파일 선택을 의미합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;destination:파일이 저장될 위치입니다.&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;overwrite: 파일이 이미 존재할 경우 덮어씁니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래 설정을 .travis.yml에 추가해주세요. S3에서 jar 파일을 가져와 배포할 배포 그룹과 애플리케이션을 선택해 Codeploy에 배포 요청을 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.07.03.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;506&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P3KAs/btqHO1KOTZt/ZBwuLrrrFoge0KYElqLO5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P3KAs/btqHO1KOTZt/ZBwuLrrrFoge0KYElqLO5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P3KAs/btqHO1KOTZt/ZBwuLrrrFoge0KYElqLO5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP3KAs%2FbtqHO1KOTZt%2FZBwuLrrrFoge0KYElqLO5k%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.07.03.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;506&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;성공적으로 배포 성공했을 경우 codedeploy 페이지에 아래와 같이 나타납니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.29.01.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;268&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqWJxu/btqHZIJHdTY/M8CwkFTKsjtkdsJQsAuCL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqWJxu/btqHZIJHdTY/M8CwkFTKsjtkdsJQsAuCL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqWJxu/btqHZIJHdTY/M8CwkFTKsjtkdsJQsAuCL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqWJxu%2FbtqHZIJHdTY%2FM8CwkFTKsjtkdsJQsAuCL0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.29.01.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;268&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;JAR 배포&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;빌드 파일을 만들고 EC2 서버로 배포까지 했으니 이제 새로 빌드된 파일을 실행시키도록 스크립트를 변경해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;프로젝트로 들어가 scripts/deploy.sh를 아래와 같이 생성해줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.57.42.png&quot; data-origin-width=&quot;1686&quot; data-origin-height=&quot;1614&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zlq8W/btqHZIbWjc9/yKxFq3mZd4KxTxqlHheyy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zlq8W/btqHZIbWjc9/yKxFq3mZd4KxTxqlHheyy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zlq8W/btqHZIbWjc9/yKxFq3mZd4KxTxqlHheyy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzlq8W%2FbtqHZIbWjc9%2FyKxFq3mZd4KxTxqlHheyy1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.57.42.png&quot; data-origin-width=&quot;1686&quot; data-origin-height=&quot;1614&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;생성한 뒤 .travis.yml을 아래와 같이 변경해줍니다. &lt;i&gt;(배포 시 실행 파일 외 파일은 필요없지만 travis는 파일 하나만 s3로 전송하지 못합니다. 단지 디렉토리 단위로 전송할 뿐입니다. 따라서 필요한 파일만 따로 뽑아내 압축한 다음 s3로 전송해줍니다.)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.50.36.png&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;352&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LgDpV/btqH0oYDB6P/sdzisquFwybe6ONKQL2w4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LgDpV/btqH0oYDB6P/sdzisquFwybe6ONKQL2w4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LgDpV/btqH0oYDB6P/sdzisquFwybe6ONKQL2w4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLgDpV%2FbtqH0oYDB6P%2FsdzisquFwybe6ONKQL2w4k%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.50.36.png&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;352&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;마지막으로 appspec.yml을 변경해줍니다. ec2 서버로 넘겨준 파일을 ec2-user 권한을 가지도록 설정해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 배포시 ec2-user의 권한으로 deploy.sh를 실행하도록 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;550&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.58.24.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Pb0DX/btqHLfv4FlN/OAw2iXL3fRxqtDlJCagtKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Pb0DX/btqHLfv4FlN/OAw2iXL3fRxqtDlJCagtKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Pb0DX/btqHLfv4FlN/OAw2iXL3fRxqtDlJCagtKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPb0DX%2FbtqHLfv4FlN%2FOAw2iXL3fRxqtDlJCagtKk%2Fimg.png&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;550&quot; data-filename=&quot;스크린샷 2020-09-03 오후 10.58.24.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;이 후 master branch에 push하거나 PR을 보내면 빌드와 배포가 자동으로 이뤄지고 아래와 같이 빌드, 배포가 자동적으로 이루워진 것을 확인할 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Travis 홈페이지&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.23.07.png&quot; data-origin-width=&quot;1734&quot; data-origin-height=&quot;250&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q65Rm/btqHWvc8CqK/oADcBV2T7gFKNHj1Znzkv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q65Rm/btqHWvc8CqK/oADcBV2T7gFKNHj1Znzkv0/img.png&quot; data-alt=&quot; travis&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q65Rm/btqHWvc8CqK/oADcBV2T7gFKNHj1Znzkv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ65Rm%2FbtqHWvc8CqK%2FoADcBV2T7gFKNHj1Znzkv0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.23.07.png&quot; data-origin-width=&quot;1734&quot; data-origin-height=&quot;250&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt; travis&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;AWS codeDeploy 배포&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.22.16.png&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;250&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLhLt2/btqHLe45AXJ/pI6Ja3VHeeakN6OclOkNZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLhLt2/btqHLe45AXJ/pI6Ja3VHeeakN6OclOkNZk/img.png&quot; data-alt=&quot;codedeploy&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLhLt2/btqHLe45AXJ/pI6Ja3VHeeakN6OclOkNZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLhLt2%2FbtqHLe45AXJ%2FpI6Ja3VHeeakN6OclOkNZk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.22.16.png&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;250&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;codedeploy&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;외부에서 접근&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.32.53.png&quot; data-origin-width=&quot;1734&quot; data-origin-height=&quot;330&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LTrEW/btqHXEubEzh/BaRf9epLQOEwetKCRNBFBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LTrEW/btqHXEubEzh/BaRf9epLQOEwetKCRNBFBk/img.png&quot; data-alt=&quot;외부 접근&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LTrEW/btqHXEubEzh/BaRf9epLQOEwetKCRNBFBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLTrEW%2FbtqHXEubEzh%2FBaRf9epLQOEwetKCRNBFBk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-04 오전 1.32.53.png&quot; data-origin-width=&quot;1734&quot; data-origin-height=&quot;330&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;외부 접근&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;reference&lt;/p&gt;
&lt;hr style=&quot;border: none; font-size: 0px; line-height: 0; height: 20px; margin: 20px auto; background: url('https://t1.daumcdn.net/keditor/dist/0.4.0/image/divider-line.svg') 0px -40px / 200px 200px no-repeat #ffffff; cursor: pointer !important; width: 64px; color: #666666; font-family: 'Noto Sans', sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;출처:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://minz.dev/18?category=850293&quot;&gt;https://minz.dev/18?category=850293&lt;/a&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;[MinJunKweon 개발 블로그]&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599151023406&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[CI/CD] 개발부터 배포까지 자동화 - 01 개요&quot; data-og-description=&quot;계기 이번에 정부에서 공적마스크 5부제를 시행하면서 판매처(약국, 우체국, 농협 하나로마트)의 재고현황을 알 수 있는 공공 API가 생겼습니다. 예상대로 공공 API를 활용해 재고현황을 알려주는&quot; data-og-host=&quot;minz.dev&quot; data-og-source-url=&quot;https://minz.dev/18?category=850293&quot; data-og-url=&quot;https://minz.dev/18&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ct13lS/hyHmKV3ppj/B2abSnchV96fyekiO7IHVk/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/btuSmh/hyHmOD9xur/aQiiplpq4Li6OmQeHNr520/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/0pRgn/hyHh6qImB5/K0FS3Fi9EOfG8QrrIneRJ0/img.png?width=1982&amp;amp;height=991&amp;amp;face=0_0_1982_991&quot;&gt;&lt;a href=&quot;https://minz.dev/18?category=850293&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://minz.dev/18?category=850293&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ct13lS/hyHmKV3ppj/B2abSnchV96fyekiO7IHVk/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/btuSmh/hyHmOD9xur/aQiiplpq4Li6OmQeHNr520/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/0pRgn/hyHh6qImB5/K0FS3Fi9EOfG8QrrIneRJ0/img.png?width=1982&amp;amp;height=991&amp;amp;face=0_0_1982_991');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[CI/CD] 개발부터 배포까지 자동화 - 01 개요&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;계기 이번에 정부에서 공적마스크 5부제를 시행하면서 판매처(약국, 우체국, 농협 하나로마트)의 재고현황을 알 수 있는 공공 API가 생겼습니다. 예상대로 공공 API를 활용해 재고현황을 알려주는&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;minz.dev&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://wotjd.github.io/2019/06/blogging-hugo-%EB%A1%9C-github-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-5.-travis-ci-%EC%97%B0%EB%8F%99/&quot;&gt;https://wotjd.github.io/2019/06/blogging-hugo-%EB%A1%9C-github-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-5.-travis-ci-%EC%97%B0%EB%8F%99/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599151024636&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Blogging] Hugo 로 github 블로그 시작하기 - 5. Travis CI 연동&quot; data-og-description=&quot;Hosting Blog via Github Pages with Hugo on Mac, 맥에서 Hugo로 Github Pages에 블로그 호스팅하기 Git에 대한 충분한 지식이 있다는 전제하에 적은 문서이다. Travis CI 연동 Travis CI는 지속적 통합(Continuous Integration,&quot; data-og-host=&quot;wotjd.github.io&quot; data-og-source-url=&quot;https://wotjd.github.io/2019/06/blogging-hugo-%EB%A1%9C-github-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-5.-travis-ci-%EC%97%B0%EB%8F%99/&quot; data-og-url=&quot;https://wotjd.github.io/2019/06/blogging-hugo-%EB%A1%9C-github-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-5.-travis-ci-%EC%97%B0%EB%8F%99/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/iFoi5/hyHmM0EDzD/WjwrKbszNKnNi2zFkHcDGK/img.png?width=460&amp;amp;height=460&amp;amp;face=164_131_404_393,https://scrap.kakaocdn.net/dn/cs8Kgl/hyHnJVwQZj/Q3Yk9LMmjJ61OKAj85pgX0/img.png?width=460&amp;amp;height=460&amp;amp;face=164_131_404_393,https://scrap.kakaocdn.net/dn/tFaGZ/hyHmNSMyuk/2hAB8HkUJJpAMDjCwzCyz1/img.png?width=2060&amp;amp;height=628&amp;amp;face=0_0_2060_628&quot;&gt;&lt;a href=&quot;https://wotjd.github.io/2019/06/blogging-hugo-%EB%A1%9C-github-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-5.-travis-ci-%EC%97%B0%EB%8F%99/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://wotjd.github.io/2019/06/blogging-hugo-%EB%A1%9C-github-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-5.-travis-ci-%EC%97%B0%EB%8F%99/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/iFoi5/hyHmM0EDzD/WjwrKbszNKnNi2zFkHcDGK/img.png?width=460&amp;amp;height=460&amp;amp;face=164_131_404_393,https://scrap.kakaocdn.net/dn/cs8Kgl/hyHnJVwQZj/Q3Yk9LMmjJ61OKAj85pgX0/img.png?width=460&amp;amp;height=460&amp;amp;face=164_131_404_393,https://scrap.kakaocdn.net/dn/tFaGZ/hyHmNSMyuk/2hAB8HkUJJpAMDjCwzCyz1/img.png?width=2060&amp;amp;height=628&amp;amp;face=0_0_2060_628');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[Blogging] Hugo 로 github 블로그 시작하기 - 5. Travis CI 연동&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Hosting Blog via Github Pages with Hugo on Mac, 맥에서 Hugo로 Github Pages에 블로그 호스팅하기 Git에 대한 충분한 지식이 있다는 전제하에 적은 문서이다. Travis CI 연동 Travis CI는 지속적 통합(Continuous Integration,&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;wotjd.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxVm86%2FbtqHQHREksD%2FJTZwTho6F0ZCE9nFIsKQG1%2Fimg.jpg&quot; width=&quot;250&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/snQrt/btqHMwqXn5D/3ZmqzVWlgWSyvrUacm6Pzk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/snQrt/btqHMwqXn5D/3ZmqzVWlgWSyvrUacm6Pzk/img.jpg&quot; data-alt=&quot;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/snQrt/btqHMwqXn5D/3ZmqzVWlgWSyvrUacm6Pzk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxVm86%2FbtqHQHREksD%2FJTZwTho6F0ZCE9nFIsKQG1%2Fimg.jpg&quot; width=&quot;250&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>배포</category>
      <category>AWS</category>
      <category>CD</category>
      <category>CI</category>
      <category>ci/cd</category>
      <category>CodeDeploy</category>
      <category>S3</category>
      <category>배포</category>
      <category>자동화</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/28</guid>
      <comments>https://dibtd.tistory.com/28#entry28comment</comments>
      <pubDate>Fri, 4 Sep 2020 01:37:23 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 다익스트라 (1261번)</title>
      <link>https://dibtd.tistory.com/27</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1261&quot;&gt;https://www.acmicpc.net/problem/1261&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599039682404&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1261번: 알고스팟&quot; data-og-description=&quot;첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 &amp;le; N, M &amp;le; 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은&amp;nbsp;벽을 의미&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1261&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1261&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bYN0oc/hyHmKnvQpV/OmavjNJYHSHNIxFqHxxu00/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1261&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1261&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bYN0oc/hyHmKnvQpV/OmavjNJYHSHNIxFqHxxu00/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;1261번: 알고스팟&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 &amp;le; N, M &amp;le; 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은&amp;nbsp;벽을 의미&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;다익스트라&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다익스트라 알고리즘은 그래프에서 간선 비용이 0 또는 양수일 때 그리고 시작 지점이 주어졌을 때 최소 비용 거리를 찾기에 유용한 알고리즘입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;원리는 간단합니다.&lt;span style=&quot;color: #dddddd;&quot;&gt;&lt;s&gt; (하지만 까먹습니다.)&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. 현재 노드에서 이동할 수 있는 후보 노드들을 조건을 따져 등록합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 후보 노드들 중 비용이 가장 적은 노드로 이동합니다. (따라서 heap queue가 유용합니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. current 노드가 이미 최소 비용이 아닐 경우는 패스합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4. 위 과정을&amp;nbsp; 반복합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음은 문제 풀이 코드입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1599040007033&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sys
import heapq

m, n= map(int, sys.stdin.readline().split())

INF = int(1e9)

board = []

for _ in range(n):
    row = list(map(int, list(sys.stdin.readline().rstrip())))
    board.append(row)

dx = [-1, 1, 0 ,0]
dy = [0, 0, -1, 1]

distance = [[INF for _ in range(m)] for _ in range(n)]	# 비용

q = [(0, 0, 0)]         # (w, x, y)

heapq.heapify(q)
distance[0][0] = 0
									# (1)
while q:
    current = heapq.heappop(q)

    w, x, y = current[0], current[1], current[2]

    if w &amp;gt; distance[x][y]:		# (2)
        continue

    for i in range(4):
        nx = x + dx[i]
        ny = y + dy[i]

        if nx &amp;lt; 0 or nx &amp;gt;= n or ny &amp;lt; 0 or ny &amp;gt;= m:		#(3)
            continue

        d = distance[x][y] + board[nx][ny]

        if d &amp;lt; distance[nx][ny]:			#(4)
            distance[nx][ny] = d
            heapq.heappush(q, (d,nx,ny))
            
print(distance[n-1][m-1])

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;#(1) : 번호의 위 쪽은 초기 세팅입니다. 시작지점이 (1, 1) 이므로 (0, 0) 으로 설정하고 자기 자신으로 가는 비용은 0이므로 0으로 설정해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;#(2) : current는 현재 노드를 의미합니다. 현재 노드에 오기 전에 다른 노드에서 비용을 업데이트 했을 경우를 체크해줍니다. (만약 다른 노드에서 이미 더 적은 비용으로 현재 노드를 방문했다면 현재 노드를 확인하지 않습니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;#(3) : nx는 다음에 갈 후보 노드입니다. 다음 노드가 index를 벗어나지 않도록 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;#(4) : d는 현재 노드에서 다음 노드를 갈 때 비용을 말합니다. distance는 실제로 이동했을 때 최소 비용을 의미합니다. 따라서 현재 노드에서 다음 노드로 가는 비용이 최소 비용보다 적을 경우에 큐에 push 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 최소 비용보다 적을 경우 distance를 업데이트 해주고 큐에 push 해줍니다.&lt;/p&gt;</description>
      <category>알고리즘</category>
      <category>다익스트라</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>알고스팟</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/27</guid>
      <comments>https://dibtd.tistory.com/27#entry27comment</comments>
      <pubDate>Wed, 2 Sep 2020 18:58:30 +0900</pubDate>
    </item>
    <item>
      <title>EC2에 배포하기</title>
      <link>https://dibtd.tistory.com/26</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VbRlT/btqHNxol2UJ/BnrH6sOPoCD3Gys2OrX6Rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VbRlT/btqHNxol2UJ/BnrH6sOPoCD3Gys2OrX6Rk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VbRlT/btqHNxol2UJ/BnrH6sOPoCD3Gys2OrX6Rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVbRlT%2FbtqHNxol2UJ%2FBnrH6sOPoCD3Gys2OrX6Rk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;AWS EC2와 RDS 서버 생성과 기본 설정을 마치고 실제 서버에 저의 프로젝트를 배포하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;전체적인 순서는 이렇습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. Github에서 AWS 서버로 코드를 가지고 옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. gradle을 이용하여 build하고 jar 파일을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. jar파일을 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;처음 서버를 실행했을 경우 Git이 설치되어있지않습니다. 따라서 git을 설치하고 github에 올라간 코드의 master branch를 clone하여 가지고 옵니다.&amp;nbsp; clone한 프로젝트 디렉토리에 들어가&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;./gradlew test를 실행하여 코드가 제대로 수행하는 지 확인합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;i&gt;(현재 EC2 서버에는 gradle이 설치되어있지 않지만 ./gradlew 가 실행됩니다. 이것이 가능한 이유는 프로젝트에 포함된 gradlew라는 파일 때문입니다. gradlew는 그레들이 설치되어있지 않는 환경, 버전이 다른 환경에서 해당 프로젝트에 한해서 gradle 명령어가 실행되도록 해주는 wrapper 파일입니다.)&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 이후 위 과정을 수행하는 스크립트를 실행하면됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;하지만 실제로 매번 배포 시 마다 스크립트를 일일이 작성하기가 어렵습니다. 따라서 쉘 스크립트를 작성하여 실행하도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;우선 스크립트를 작성할 deploy.sh 파일을 생성합니다. 확장자 .sh는 쉘 스크립트를 의미합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.12.37.png&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;40&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZSyii/btqHGTZYahI/ohx6QEB7MJvdKRT1dTZYE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZSyii/btqHGTZYahI/ohx6QEB7MJvdKRT1dTZYE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZSyii/btqHGTZYahI/ohx6QEB7MJvdKRT1dTZYE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZSyii%2FbtqHGTZYahI%2Fohx6QEB7MJvdKRT1dTZYE0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.12.37.png&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;40&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;deploy.sh&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.15.36.png&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;1298&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpjneF/btqHQHKKCmg/JaR6TMH8y1Df1jijMpqV11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpjneF/btqHQHKKCmg/JaR6TMH8y1Df1jijMpqV11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpjneF/btqHQHKKCmg/JaR6TMH8y1Df1jijMpqV11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpjneF%2FbtqHQHKKCmg%2FJaR6TMH8y1Df1jijMpqV11%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.15.36.png&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;1298&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1.REPOSITORY, PROJECT_NAME 은 변수입니다. 쉘에서는 타입없이 변수를 선언합니다. 그리고 사용할 때 ($변수명)을 이용해 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. cd: change directory, 현재 디렉토리를 변경해주는 명령어입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. echo: 터미널에 argument를 출력해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4. ./gradlew build: 프로젝트를 빌드하여 실행파일로 만들어줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;5. CURRENT_PID=$(pgrep -f ${PROJECT_NAME}*.jar) : pgrep은 프로세스의 id만 가져와줍니다. -f 옵션은 프로세스 이름으로 프로세스를 찾습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;6. if-else: 프로세스가 구동 중일 경우 process kill을 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;7. &lt;span&gt;&lt;b&gt;JAR_NAME&lt;/b&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; -tr &lt;/span&gt;&lt;span&gt;$REPOSITORY&lt;/span&gt;&lt;span&gt;/ &lt;/span&gt;&lt;span&gt;|&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; *.jar &lt;/span&gt;&lt;span&gt;|&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tail&lt;/span&gt;&lt;span&gt; -n &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;) : REPOSITORY 디렉토리에 존재하는 파일들을 시간 순으로 나열해줍니다. 실행 결과를 |(pipe)를 통해 전달해주고 grep 명령어를 통해 확장자가 .jar인 파일만 가지고 옵니다. 이 실행결과의 마지막 줄에 있는 파일을 JAR_NAME 변수에 저장합니다 (마지막으로 빌드된 파일을 얻기 위해)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;8. nohup : nohup은 no hangups의 줄임말인 명령어입니다. 해당 명령어는 프로세스를 데몬 형태로 실행시켜줍니다. 즉, 터미널이 끊겨도 실행되도록 하는 명령어입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;9. java -jar를 통해 실행 파이를 실행시켜줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;10. 2&amp;gt;&amp;amp;1 은 에러를 출력하는 명령어입니다. (0 입력, 1 출력, 2 에러) 마지막에 붙어있는 &amp;amp;의미는 백그라운드로 실행시키라는 의미입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;deploy.sh 를 생성했으면 해당 파일에 실행권한을 줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.31.27.png&quot; data-origin-width=&quot;324&quot; data-origin-height=&quot;42&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6CeJR/btqHA4uzfHR/F3YIQlIkJ6e7ShRaXP0kpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6CeJR/btqHA4uzfHR/F3YIQlIkJ6e7ShRaXP0kpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6CeJR/btqHA4uzfHR/F3YIQlIkJ6e7ShRaXP0kpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6CeJR%2FbtqHA4uzfHR%2FF3YIQlIkJ6e7ShRaXP0kpK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.31.27.png&quot; data-origin-width=&quot;324&quot; data-origin-height=&quot;42&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실행권한을 준 뒤 실행시키면 다음과 같이 실행됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;480&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.32.23.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lvOCR/btqHEeXJsr0/e5xoL4z8VVqflUKhDzAgmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lvOCR/btqHEeXJsr0/e5xoL4z8VVqflUKhDzAgmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lvOCR/btqHEeXJsr0/e5xoL4z8VVqflUKhDzAgmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlvOCR%2FbtqHEeXJsr0%2Fe5xoL4z8VVqflUKhDzAgmK%2Fimg.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;480&quot; data-filename=&quot;스크린샷 2020-09-01 오후 4.32.23.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실행이 제대로 수행되었는지 보려면 nohup.out 파일을 보면 됩니다. (nohup.out 파일은 애플리케이션의 모든 출력을 가지고 있습니다.)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;cat nohup.out&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.26.03.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;268&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq4tMM/btqHLe3EoW2/pSpRrT04kYfm3OKHzY65kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq4tMM/btqHLe3EoW2/pSpRrT04kYfm3OKHzY65kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq4tMM/btqHLe3EoW2/pSpRrT04kYfm3OKHzY65kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq4tMM%2FbtqHLe3EoW2%2FpSpRrT04kYfm3OKHzY65kk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.26.03.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;268&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;애플리케이션이 제대로 수행되었습니다!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다음은 데이터베이스를 설정해주어야합니다. 기존의 프로젝트는 인메모리형 h2 디비를 사용하고 있었습니다. 하지만 RDS 서버를 이용해 MariaDB를 사용하도록 변경해주어야 실제 배포 시 데이터베이스를 관리할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;MariaDB를 사용하기 위해 해야할 기본적인 설정은 아래와 같습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;테이블 생성&lt;/li&gt;
&lt;li&gt;프로젝트 설정&lt;/li&gt;
&lt;li&gt;EC2 설정&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 테이블 설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;테이블 생성같은 경우는 h2 디비를 사용할 경우 자동으로 생성해주고 드랍해주었지만 MariaDB에서는 실제 배포되는 디비기 때문에 직접 쿼리를 사용해 테이블을 생성해주어야합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;resource에 &lt;b&gt;application.properties&lt;/b&gt;에서&lt;b&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;spring.jpa.properties.show_sql=true&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;spring.jpa.properties.hibernate.format_sql=true&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;로 설정해주세요. sql문을 mysql 포맷으로 보여주는 설정입니다. 그 후 프로젝트를 실행할 경우 나오는 쿼리를 이용해 RDS 서버에 테이블을 생성해주세요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 프로젝트 설정&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;프로젝트 설정같은 경우는 MariaDB 드라이버와 디비에 접근하기위한 datasource를 설정하기 위해 꼭 필요합니다. 우선 gradle에서 MariaDB 드라이버를 가져와주세요.&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.33.18.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;84&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dasCwN/btqHEEbdr86/zNjNitomhFAlZvL79tXtQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dasCwN/btqHEEbdr86/zNjNitomhFAlZvL79tXtQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dasCwN/btqHEEbdr86/zNjNitomhFAlZvL79tXtQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdasCwN%2FbtqHEEbdr86%2FzNjNitomhFAlZvL79tXtQk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.33.18.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;84&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;resource 디렉토리에 application-real.properties를 생성한 뒤 아래와 같이 설정해주세요. (application.properties 파일의 -XX를 형태의 이름을 사용할 경우 profile=XX인 환경에서 실행되는 설정파일이라는 뜻입니다. )&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.34.08.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;84&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv9Gx1/btqHEepWUVn/pCFfoardxE3rwhc9D4lUXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv9Gx1/btqHEepWUVn/pCFfoardxE3rwhc9D4lUXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv9Gx1/btqHEepWUVn/pCFfoardxE3rwhc9D4lUXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv9Gx1%2FbtqHEepWUVn%2FpCFfoardxE3rwhc9D4lUXK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.34.08.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;84&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 설정을 마쳤으면 github로 push 해주세요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. EC2 설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;마지막으로 EC2 설정입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;RDS에 접근하는 정보는 보호되어야하므로 설정파일을 EC2 서버에 생성하여 둡니다. 프로젝트 디렉토리에 application-real-db.properties를 생성해주세요. (profile=real인 환경이 실행될 때 위 application-real.properties 설정파일에서 real-db를 include 했으므로 함께 실행됩니다.)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-31 오후 3.09.05.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;38&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qmhWj/btqHBxJFQl8/XYyEjRPiVYmpvEwCVgykU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qmhWj/btqHBxJFQl8/XYyEjRPiVYmpvEwCVgykU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qmhWj/btqHBxJFQl8/XYyEjRPiVYmpvEwCVgykU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqmhWj%2FbtqHBxJFQl8%2FXYyEjRPiVYmpvEwCVgykU0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-31 오후 3.09.05.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;38&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;application-real-db.properties&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1598949685572&quot; class=&quot;scala&quot; data-ke-language=&quot;scala&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;spring.jpa.hibernate.ddl-auto=none			
spring.datasource.url=jdbc:mariadb://rds주소:포트명(default: 3306)/database이름
spring.datasource.username=db계정
spring.datasource.password=db계정 비밀번호
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;spring.jpa.hibernate.ddl-auto=none : jpa 테이블 자동생성 옵션을 생성되지않음으로 변경합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;datasource.**: 데이터베이스에 접근을 위한 설정들입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;마지막으로 profile=real로 실행되도록 deploy.sh 를 변경합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;nohup 부분을 아래와 같이 변경해주세요. (\는 줄바꿈을 의미합니다. 줄을 바꾸지 않으면 오류가 발생하니 주의해주세요)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.44.19.png&quot; data-origin-width=&quot;1784&quot; data-origin-height=&quot;122&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4uiDX/btqHLfInJ2X/E2D9LLpbvIc0DB30zbxkek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4uiDX/btqHLfInJ2X/E2D9LLpbvIc0DB30zbxkek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4uiDX/btqHLfInJ2X/E2D9LLpbvIc0DB30zbxkek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4uiDX%2FbtqHLfInJ2X%2FE2D9LLpbvIc0DB30zbxkek%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.44.19.png&quot; data-origin-width=&quot;1784&quot; data-origin-height=&quot;122&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;-Dspring.config.location&lt;/b&gt; 옵션은 설정파일의 위치를 지정해줍니다. classpath가 붙으면 jar파일의 설정위치를 기본 경로로 파일이 지정됩니다. 외부경로에 있는 properties는 절대경로로 지정해서 설정해줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;-Dspring.profiles.active=real&lt;/b&gt;은 profile=real을 활성화시켜 실행시켜줍니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저장한 뒤&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;./deploy.sh를 실행하면 성공적으로 연결됩니다. 이제 내 컴퓨터의 로컬환경에서 프로젝트에 접근해봅시다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;AWS EC2 콘솔에 들어가 퍼블릭 DNS 주소를 복사해 브라우저 URL에 입력해봅시다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.50.05.png&quot; data-origin-width=&quot;1552&quot; data-origin-height=&quot;348&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZFiBX/btqHNwbWIXP/QevZaZamSJo0KmySIdfhD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZFiBX/btqHNwbWIXP/QevZaZamSJo0KmySIdfhD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZFiBX/btqHNwbWIXP/QevZaZamSJo0KmySIdfhD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZFiBX%2FbtqHNwbWIXP%2FQevZaZamSJo0KmySIdfhD0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-09-01 오후 5.50.05.png&quot; data-origin-width=&quot;1552&quot; data-origin-height=&quot;348&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;성공적으로 배포되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;reference&lt;/p&gt;
&lt;hr style=&quot;border: none; font-size: 0px; line-height: 0; height: 20px; margin: 20px auto; background: url('https://t1.daumcdn.net/keditor/dist/0.4.0/image/divider-line.svg') 0px -40px / 200px 200px no-repeat #ffffff; cursor: pointer !important; width: 64px; color: #666666; font-family: 'Noto Sans', sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv26zk%2FbtqHhFaE29l%2FjaJvJf2eFis5GsNkPIBxE1%2Fimg.jpg&quot; width=&quot;250&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxVm86/btqHQHREksD/JTZwTho6F0ZCE9nFIsKQG1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxVm86/btqHQHREksD/JTZwTho6F0ZCE9nFIsKQG1/img.jpg&quot; data-alt=&quot;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxVm86/btqHQHREksD/JTZwTho6F0ZCE9nFIsKQG1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv26zk%2FbtqHhFaE29l%2FjaJvJf2eFis5GsNkPIBxE1%2Fimg.jpg&quot; width=&quot;250&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>배포</category>
      <category>EC2</category>
      <category>RDS</category>
      <category>배포</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/26</guid>
      <comments>https://dibtd.tistory.com/26#entry26comment</comments>
      <pubDate>Tue, 1 Sep 2020 17:57:41 +0900</pubDate>
    </item>
    <item>
      <title>AWS RDS 사용하기</title>
      <link>https://dibtd.tistory.com/25</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6MJ8C/btqHhPxV7A2/6kt3FqK01Z8CTZLkXgdRd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6MJ8C/btqHhPxV7A2/6kt3FqK01Z8CTZLkXgdRd0/img.png&quot; data-alt=&quot;AWS RDS&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6MJ8C/btqHhPxV7A2/6kt3FqK01Z8CTZLkXgdRd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6MJ8C%2FbtqHhPxV7A2%2F6kt3FqK01Z8CTZLkXgdRd0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AWS RDS&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전에 AWS EC2 인스턴스를 생성하고 여러 설정들을 했습니다. 이제 데이터 베이스 서버를 설정할 차례입니다. 데이터 베이스 서버는 AWS 관계형 데이터 베이스 서비스인 RDS를 사용해 구축합니다. 프리티어로 사용할 경우 EC2와 마찬가지로 무료이기 때문에 학습용으로 적합합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. RDS 생성&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;콘솔로 로그인하여 검색창에 RDS를 검색하고 클릭하면 다음과 같은 화면이 나옵니다. 화면 아래부분에 있는 데이터베이스 생성을 클릭해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.19.14.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5sg8g/btqHxP96guO/ArqMsyFZwlNRKvViYdBDfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5sg8g/btqHxP96guO/ArqMsyFZwlNRKvViYdBDfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5sg8g/btqHxP96guO/ArqMsyFZwlNRKvViYdBDfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5sg8g%2FbtqHxP96guO%2FArqMsyFZwlNRKvViYdBDfK%2Fimg.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.19.14.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;클릭하고 엔진 옵션을 보면 여러 엔진이 있습니다. 저는 MariaDB를 사용하겠습니다. 무료로 사용하기 위해 프리 티어로 선택해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.23.22.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOQft5/btqHscrBXLr/laQFru8LtzxKMvxugnXiM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOQft5/btqHscrBXLr/laQFru8LtzxKMvxugnXiM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOQft5/btqHscrBXLr/laQFru8LtzxKMvxugnXiM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOQft5%2FbtqHscrBXLr%2FlaQFru8LtzxKMvxugnXiM0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.23.22.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래는 설정란입니다. 식별자는 본인 프로젝트 이름을 써주시고 나머지를 모두 작성하고 기억해주세요. 나중에 디비에 접속 시 필요합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.25.28.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCkNN8/btqHhPLqiSg/kOxKir7zz2D8Z2z2QrkQv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCkNN8/btqHhPLqiSg/kOxKir7zz2D8Z2z2QrkQv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCkNN8/btqHhPLqiSg/kOxKir7zz2D8Z2z2QrkQv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCkNN8%2FbtqHhPLqiSg%2FkOxKir7zz2D8Z2z2QrkQv0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.25.28.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;연결 탭에서 퍼블릭 액세스 가능에 '예'를 체크해주세요. 나중에 보안 그룹 설정에서 다시 설정할 예정입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.27.00.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bONcmH/btqHq1X8yCn/bfEcB5kYgajTLHdr0ayvN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bONcmH/btqHq1X8yCn/bfEcB5kYgajTLHdr0ayvN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bONcmH/btqHq1X8yCn/bfEcB5kYgajTLHdr0ayvN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbONcmH%2FbtqHq1X8yCn%2FbfEcB5kYgajTLHdr0ayvN1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.27.00.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터 베이스 이름을 설정해주세요. 그리고 파라미터 그룹을 디폴트로 설정한 다음 데이터 베이스를 생성해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.28.50.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvWj70/btqHvCDoNOo/SkmV6c6rRimWWMCcXz9BYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvWj70/btqHvCDoNOo/SkmV6c6rRimWWMCcXz9BYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvWj70/btqHvCDoNOo/SkmV6c6rRimWWMCcXz9BYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvWj70%2FbtqHvCDoNOo%2FSkmV6c6rRimWWMCcXz9BYk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.28.50.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터 베이스를 생성했으면 몇 가지 설정을 해야합니다. 이 때 파라미터 그룹을 사용하면 쉽게 설정할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래 세가지를 먼저 설정하겠습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;타임존&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;Character set&lt;/li&gt;
&lt;li data-ke-size=&quot;size18&quot;&gt;max connection&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;좌측 메뉴에서 파라미터 그룹을 클릭하고 파라미터 그룹 생성하기를 눌러주세요. 다음과 같은 화면이 나옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 때 파라미터 그룹 패밀리는 위에서 생성한 디비 버전과 일치하게 해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock floatRight&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.30.45.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vMJTM/btqHnj59bcL/7p51gVVrMvENbnjjPSSsHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vMJTM/btqHnj59bcL/7p51gVVrMvENbnjjPSSsHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vMJTM/btqHnj59bcL/7p51gVVrMvENbnjjPSSsHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvMJTM%2FbtqHnj59bcL%2F7p51gVVrMvENbnjjPSSsHK%2Fimg.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.30.45.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;생성된 파라미터 그룹을 클릭하고 편집하기를 눌러주세요. 그 후 검색창에 time_zone을 검색하시면 다음과 같이 나옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Asia/Seoul로 설정해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.32.21.png&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;78&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vJzTn/btqHlUFwwEP/xPzP2kRpEXJyKNw5u5otX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vJzTn/btqHlUFwwEP/xPzP2kRpEXJyKNw5u5otX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vJzTn/btqHlUFwwEP/xPzP2kRpEXJyKNw5u5otX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvJzTn%2FbtqHlUFwwEP%2FxPzP2kRpEXJyKNw5u5otX0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.32.21.png&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;78&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;마찬가지로 character을 검색하시고 아래 5가지 항목을 utf8mb4로 바꿔주세요.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.36.37.png&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;1538&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vnnEc/btqHvLAbXpe/QZ6LWN3UlqYx3nFKDPhMDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vnnEc/btqHvLAbXpe/QZ6LWN3UlqYx3nFKDPhMDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vnnEc/btqHvLAbXpe/QZ6LWN3UlqYx3nFKDPhMDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvnnEc%2FbtqHvLAbXpe%2FQZ6LWN3UlqYx3nFKDPhMDK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.36.37.png&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;1538&quot; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설정을 완료했으면 다시 데이터베이스로 돌아가 DB 파라미터 그룹을 방금 생성한 파라미터 그룹으로 설정해주세요.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.43.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c7EiMh/btqHvLmE6oF/9fFayY5dtTZq5mavJoDBX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c7EiMh/btqHvLmE6oF/9fFayY5dtTZq5mavJoDBX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c7EiMh/btqHvLmE6oF/9fFayY5dtTZq5mavJoDBX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7EiMh%2FbtqHvLmE6oF%2F9fFayY5dtTZq5mavJoDBX1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.43.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;적용 시 즉시 적용을 눌러 바로 적용되도록 하고 서버 재부팅을 한번 진행해 주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.43.29.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZqUdA/btqHnkqoAjx/OFWWofrwHe3URcOK7ILw7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZqUdA/btqHnkqoAjx/OFWWofrwHe3URcOK7ILw7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZqUdA/btqHnkqoAjx/OFWWofrwHe3URcOK7ILw7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZqUdA%2FbtqHnkqoAjx%2FOFWWofrwHe3URcOK7ILw7K%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-27 오후 10.43.29.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 보안설정&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;파라미터 설정을 마쳤으면 다음은 보안그룹 설정입니다. 데이터베이스로 돌아가 아래 화면 보안그룹을 클릭해주세요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.33.31.png&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;216&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjGuo4/btqHjpy2SuK/UYTSVvdnpEUveWZrffpKw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjGuo4/btqHjpy2SuK/UYTSVvdnpEUveWZrffpKw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjGuo4/btqHjpy2SuK/UYTSVvdnpEUveWZrffpKw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjGuo4%2FbtqHjpy2SuK%2FUYTSVvdnpEUveWZrffpKw1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.33.31.png&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;216&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;인바운드 규칙 추가를 하여 내 iP 주소와 EC2 인스턴스의 보안그룹 Id를 추가해주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;(EC2 인스턴스의 보안그룹 Id를 추가해야 EC2에서 RDS로 접근 가능합니다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.34.59.png&quot; data-origin-width=&quot;1140&quot; data-origin-height=&quot;604&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/twANR/btqHlVYJi8W/o80RDHEVtdJHauXZKGv1Hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/twANR/btqHlVYJi8W/o80RDHEVtdJHauXZKGv1Hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/twANR/btqHlVYJi8W/o80RDHEVtdJHauXZKGv1Hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtwANR%2FbtqHlVYJi8W%2Fo80RDHEVtdJHauXZKGv1Hk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.34.59.png&quot; data-origin-width=&quot;1140&quot; data-origin-height=&quot;604&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 로컬환경에서 접속&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 과정을 모두 했으면 IDE로 돌아와 connection Test를 해봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저는 intellij 플러그인인 Database Navigator가 다운받아져있으므로 없으신 분들을 다운받은 뒤 Action 검색을 통해&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Database Browser를 실행해주세요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 후 New Connection을 하여 MySQL로 생성해주세요. (MariaDB는 MySQL 기반이라 MySQL로 선택했습니다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.40.20.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpFf5A/btqHjqdCrz4/y2aKKspw7qTLxzbIdCKeKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpFf5A/btqHjqdCrz4/y2aKKspw7qTLxzbIdCKeKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpFf5A/btqHjqdCrz4/y2aKKspw7qTLxzbIdCKeKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpFf5A%2FbtqHjqdCrz4%2Fy2aKKspw7qTLxzbIdCKeKk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.40.20.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;클릭 후 생성 창에서 Host에 RDS의 엔드포인트를 적고 마스터 사용자 id와 비밀번호를 적은 뒤 Test Connection을 진행해보세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;(엔드 포인트는 RDS 세부정보에 있습니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;성공적으로 test connection이 연결되었다면 console을 생성해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.41.21.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnaISU/btqHnfJL6qM/BFCHQDUFEz4839TN5Te280/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnaISU/btqHnfJL6qM/BFCHQDUFEz4839TN5Te280/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnaISU/btqHnfJL6qM/BFCHQDUFEz4839TN5Te280/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnaISU%2FbtqHnfJL6qM%2FBFCHQDUFEz4839TN5Te280%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.41.21.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;생성한 콘솔에서 다음과 같은 쿼리를 날려줄겁니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.44.13.png&quot; data-origin-width=&quot;2266&quot; data-origin-height=&quot;810&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sd7Bd/btqHlVxDjn3/PiKVHq8JahfqPbNFFBVfo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sd7Bd/btqHlVxDjn3/PiKVHq8JahfqPbNFFBVfo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sd7Bd/btqHlVxDjn3/PiKVHq8JahfqPbNFFBVfo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsd7Bd%2FbtqHlVxDjn3%2FPiKVHq8JahfqPbNFFBVfo0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.44.13.png&quot; data-origin-width=&quot;2266&quot; data-origin-height=&quot;810&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1598546706246&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;use springboot2_davinci_webservice;  #데이터 베이스를 선택합니다.

show variables like 'c%'; 			#Character Set을 보여줍니다.

ALTER DATABASE springboot2_davinci_webservice		#설정이 안된 character set을 직접 변경해줍니다.
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';

CREATE TABLE test (						#테이블 생성
    id bigint(20) NOT NULL AUTO_INCREMENT,
    content varchar(255) DEFAULT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB;

insert into test(content) values('테스트');	#한글 입력

select * from test;						#결과 화면&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음과 같이 한글입력이 제대로 됨을 볼 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.46.37.png&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;122&quot; width=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kR8xJ/btqHxPWCgpU/KD2NDabmHJQVKvVF00AJVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kR8xJ/btqHxPWCgpU/KD2NDabmHJQVKvVF00AJVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kR8xJ/btqHxPWCgpU/KD2NDabmHJQVKvVF00AJVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkR8xJ%2FbtqHxPWCgpU%2FKD2NDabmHJQVKvVF00AJVk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.46.37.png&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;122&quot; width=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. EC2에서 RDS 접속&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;마지막으로 EC2 인스턴스에서 RDS로 접근해보겠습니다. 이전에 ssh로 접속했던 것처럼 접속해주시고 mysql을 설치해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.47.52.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;56&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BT597/btqHxPh1dU9/Zlenft1mYkEfwbQtAM8wY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BT597/btqHxPh1dU9/Zlenft1mYkEfwbQtAM8wY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BT597/btqHxPh1dU9/Zlenft1mYkEfwbQtAM8wY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBT597%2FbtqHxPh1dU9%2FZlenft1mYkEfwbQtAM8wY1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.47.52.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;56&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치과 완료됐으면 다음과 같이 연결을 시도해봅니다. 비밀번호를 입력하라고하면 입력해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.48.09.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;56&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lpvyj/btqHvATbKNt/MQYkoR406DjSJbTFFXpIZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lpvyj/btqHvATbKNt/MQYkoR406DjSJbTFFXpIZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lpvyj/btqHvATbKNt/MQYkoR406DjSJbTFFXpIZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flpvyj%2FbtqHvATbKNt%2FMQYkoR406DjSJbTFFXpIZ1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.48.09.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;56&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;연결 성공 시 show databases;를 통해 데이터베이스를 확인해봅시다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.48.29.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;330&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crLYDT/btqHmxRvxd4/ZWSGVh78xPKCZYoRfassQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crLYDT/btqHmxRvxd4/ZWSGVh78xPKCZYoRfassQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crLYDT/btqHmxRvxd4/ZWSGVh78xPKCZYoRfassQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrLYDT%2FbtqHmxRvxd4%2FZWSGVh78xPKCZYoRfassQ0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-28 오전 1.48.29.png&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;330&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt; 성공적&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;reference&lt;/p&gt;
&lt;hr style=&quot;margin: 20px auto 0px; border: none; cursor: pointer !important; z-index: 1; font-size: 0px; line-height: 0; background: url('../image/divider-line.svg') center -96px / 200px 420px no-repeat; width: 64px; height: 8px; padding: 18px 20px;&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;250&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ltHMB/btqHuiZpe6p/djYDM02oaZEDmKRiSa03V0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ltHMB/btqHuiZpe6p/djYDM02oaZEDmKRiSa03V0/img.jpg&quot; data-alt=&quot;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ltHMB/btqHuiZpe6p/djYDM02oaZEDmKRiSa03V0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FltHMB%2FbtqHuiZpe6p%2FdjYDM02oaZEDmKRiSa03V0%2Fimg.jpg&quot; width=&quot;250&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>배포</category>
      <category>AWS</category>
      <category>RDS</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/25</guid>
      <comments>https://dibtd.tistory.com/25#entry25comment</comments>
      <pubDate>Fri, 28 Aug 2020 01:58:00 +0900</pubDate>
    </item>
    <item>
      <title>AWS 사용하기</title>
      <link>https://dibtd.tistory.com/24</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IblLi/btqG9BGtnOw/UNVuwGbzuXo9eFUFXImwwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IblLi/btqG9BGtnOw/UNVuwGbzuXo9eFUFXImwwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IblLi/btqG9BGtnOw/UNVuwGbzuXo9eFUFXImwwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIblLi%2FbtqG9BGtnOw%2FUNVuwGbzuXo9eFUFXImwwk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;내가 만든 서비스를 배포(Deployment)하기 위해서는 항상 가동되고 있는 서버가 필요합니다. 일반적으로 기업들은 물리적인 회사 서버를 가지고 서비스를 외부에 제공하거나 클라우드 서비스를 이용하여 제공합니다. 하지만 저는 집 컴퓨터를 24시간 365일 켜놓고 있을 수는 없고 개인 서버 장비를 살 정도로 부유하지 않으니 클라우드를 통해 배포를 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 중에서 IaaS의 대표적인 예시인 AWS EC2를 사용해보도록 하겠습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. AWS 회원가입&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;우선 &lt;a href=&quot;https://aws.amazon.com/ko/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AWS로 접속&lt;/a&gt;하여 계정 생성을 클릭합니다. 메일주소, 암호 계정 이름 등을 입력하고 넘어가면 다음과 같은 화면이 나옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-26 오후 1.49.57.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mkHt4/btqHhPX2ffW/yc8KDbKPluUbiMZ1O6wZx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mkHt4/btqHhPX2ffW/yc8KDbKPluUbiMZ1O6wZx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mkHt4/btqHhPX2ffW/yc8KDbKPluUbiMZ1O6wZx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmkHt4%2FbtqHhPX2ffW%2Fyc8KDbKPluUbiMZ1O6wZx0%2Fimg.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-26 오후 1.49.57.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 때 계정 유형은 &lt;b&gt;개인&lt;/b&gt;으로 선택하고 주소는 영문 주소를 기입합니다. (&lt;a href=&quot;https://search.naver.com/search.naver?sm=tab_hty.top&amp;amp;where=nexearch&amp;amp;query=%EC%98%81%EB%AC%B8+%EC%A3%BC%EC%86%8C&amp;amp;oquery=%EC%98%81%EB%AC%B8&amp;amp;tqi=U0Ur5sp0J1sssv9xEtRssssstmZ-091541&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;영문 주소 찾기&lt;/a&gt;)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;다른 칸도 다 기입해주세요&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;모두 기입한 후 단계를 넘어가면 결제 정보를 입력하는 폼이 있습니다. Visa 카드나 Master 카드를 준비해 작성해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXOZYb/btqHemIQAi3/ktYMtVqdvn3Rlk7IKGdDnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXOZYb/btqHemIQAi3/ktYMtVqdvn3Rlk7IKGdDnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXOZYb/btqHemIQAi3/ktYMtVqdvn3Rlk7IKGdDnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXOZYb%2FbtqHemIQAi3%2FktYMtVqdvn3Rlk7IKGdDnk%2Fimg.png&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;입력이 완료되면 본인 확인을 거치고 마지막으로 지원 플랜을 선택합니다. 저는 학습용으로 사용할 예정이니 기본 플랜으로 선택하겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 2.04.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLb4Xt/btqHnkCXTAH/hPLgSOaG8QEHseMbmJ5NQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLb4Xt/btqHnkCXTAH/hPLgSOaG8QEHseMbmJ5NQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLb4Xt/btqHnkCXTAH/hPLgSOaG8QEHseMbmJ5NQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLb4Xt%2FbtqHnkCXTAH%2FhPLgSOaG8QEHseMbmJ5NQ1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 2.04.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. AWS EC2 인스턴스&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 회원가입을 모두 마치면 콘솔로 로그인하기를 클릭하여 로그인해주세요. 그리고 ec2를 검색하여 클릭하면 다음과 같은 화면을 볼 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.26.31.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T7yNE/btqHnj5foqe/e0qdBXmJbW0u01pAkRjvW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T7yNE/btqHnj5foqe/e0qdBXmJbW0u01pAkRjvW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T7yNE/btqHnj5foqe/e0qdBXmJbW0u01pAkRjvW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT7yNE%2FbtqHnj5foqe%2Fe0qdBXmJbW0u01pAkRjvW1%2Fimg.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.26.31.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;초기 리전은 미국 동부 (오하이오)로 설정되어 있습니다. 리전은 AWS 클라우드 센터의 위치를 의미합니다. 이 클라우드 센터에서 운영되는 가상머신을 사용하는 것이기에 가장 가까운 위치를 선택하는 것이 좋습니다. 현재는 서울에도 AWS의 서버가 존재하니 한국에서 클라우드를 사용 시 특별한 이유가 없으면 서울로 변경해주세요. (우측 상단에 설정있습니다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.29.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WPxBd/btqHiMN9egT/EqeaYMr8s4jlQ4rinzY2F1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WPxBd/btqHiMN9egT/EqeaYMr8s4jlQ4rinzY2F1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WPxBd/btqHiMN9egT/EqeaYMr8s4jlQ4rinzY2F1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWPxBd%2FbtqHiMN9egT%2FEqeaYMr8s4jlQ4rinzY2F1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.29.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;리전을 설정했으면 인스턴스 시작을 눌러주세요. 다음과 같은 화면이 나옵니다. 다음 화면은 아마존 머신 이미지를 선택하는 화면입니다. AMI는 EC2 인스턴스의 필요한 정보를 이미지로 만들어 둔 것입니다. 첫번째로 나온 AMI 를 선택하여 사용하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.31.00.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nYYy4/btqHhFn6pcN/UEXGYZc1lzzsBksFD1SjmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nYYy4/btqHhFn6pcN/UEXGYZc1lzzsBksFD1SjmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nYYy4/btqHhFn6pcN/UEXGYZc1lzzsBksFD1SjmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnYYy4%2FbtqHhFn6pcN%2FUEXGYZc1lzzsBksFD1SjmK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.31.00.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이미지 선택 후 다음 단계로 넘어가면 인스턴스 유형을 선택할 수 있습니다. nano, micro와 같이 뒤에 붙은 것은 사양을 의미합니다.&amp;nbsp; 저는 t2.micro를 사용하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.32.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7XEdi/btqHnkC2I0c/Uj6iqaKeCZzka0Hl7KFbX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7XEdi/btqHnkC2I0c/Uj6iqaKeCZzka0Hl7KFbX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7XEdi/btqHnkC2I0c/Uj6iqaKeCZzka0Hl7KFbX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7XEdi%2FbtqHnkC2I0c%2FUj6iqaKeCZzka0Hl7KFbX1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.32.04.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 다음 단계인 3, 4 단계는 학습단계에서 특별히 설정할 것이 없으므로 넘어가겠습니다. 다음 단계는 태그 추가 단계입니다. 다음과 같은 화면이 나옵니다. 인스턴스가 여러 개가 될 경우 이름을 구별하기 위해 Name 태그를 추가하여 넣어주겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.36.37.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l5DoT/btqHiMHldA9/kwCxHPvGRv1K8nqKsQKiEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l5DoT/btqHiMHldA9/kwCxHPvGRv1K8nqKsQKiEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l5DoT/btqHiMHldA9/kwCxHPvGRv1K8nqKsQKiEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl5DoT%2FbtqHiMHldA9%2FkwCxHPvGRv1K8nqKsQKiEK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.36.37.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음 단계는 보안 그룹 구성입니다. 보안은 굉장히 중요한 사항이므로 잘 설정해야합니다. 우선 ssh로 접근하는 유형의 IP를 설정해줍시다. 어차피 pem키가 없으면 접근을 못하니 전체 IP를 허용해놓는다고 생각할 수 있습니다. 하지만 실수로라도 pem키를 노출할 경우 굉장히 위험하니 ssh 접속이 필요한 곳에서 IP를 추가하여 접속하는 것이 좋습니다. 내 IP를 선택하면 자동으로 자신의 IP가 입력됩니다. 다음은 기본포트인 8080 포트를 열어두었습니다. 8080포트를 열어두는 것은 크게 위험한 일은 아니니 전체 IP에 대한 허용을 해놓습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc1KtA/btqHgqqJ0Cm/VYvMaxhV9dNXx5kxKlzdzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc1KtA/btqHgqqJ0Cm/VYvMaxhV9dNXx5kxKlzdzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc1KtA/btqHgqqJ0Cm/VYvMaxhV9dNXx5kxKlzdzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc1KtA%2FbtqHgqqJ0Cm%2FVYvMaxhV9dNXx5kxKlzdzK%2Fimg.png&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 시작하기 버튼을 클릭하면 보안을 개선하라는 경고 메세지가 뜹니다. 8080 포트를 전체 IP 허용으로 해놔서 뜨는 경고 메세지이니 걱정말고 시작하기를 클릭합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k1m8o/btqHnlaVJzw/ZVreLryhtQOKQiAG7OxTvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k1m8o/btqHnlaVJzw/ZVreLryhtQOKQiAG7OxTvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k1m8o/btqHnlaVJzw/ZVreLryhtQOKQiAG7OxTvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk1m8o%2FbtqHnlaVJzw%2FZVreLryhtQOKQiAG7OxTvk%2Fimg.png&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음은 키 페어 생성입니다. ssh 접속 시 pem키가 필요한데 이 키를 생성해줍니다. 새 키 페어 생성을 선택한 후 키 페어 이름을 적절하게 지어주고 키 페어 다운로드를 클릭합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.43.14.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOkl5Z/btqHoqQJAPd/nQZpQIo06ic3RPpg7pmS61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOkl5Z/btqHoqQJAPd/nQZpQIo06ic3RPpg7pmS61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOkl5Z/btqHoqQJAPd/nQZpQIo06ic3RPpg7pmS61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOkl5Z%2FbtqHoqQJAPd%2FnQZpQIo06ic3RPpg7pmS61%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 3.43.14.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드 완료 후 인스턴스 ID를 클릭하면 EC2 인스턴스가 생성되고 실행 중인 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beSjgs/btqHhQW3p9l/vR9gyXzOkRR8UqT5sCjYZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beSjgs/btqHhQW3p9l/vR9gyXzOkRR8UqT5sCjYZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beSjgs/btqHhQW3p9l/vR9gyXzOkRR8UqT5sCjYZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeSjgs%2FbtqHhQW3p9l%2FvR9gyXzOkRR8UqT5sCjYZk%2Fimg.png&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;생성 후 그대로 사용할 수도 있지만 해당 인스턴스가 재실행될 경우 IP가 변경되어 재실행 시마다 확인해주어야 합니다. 따라서 고정 IP를 할당하는 것이 편리합니다. 왼쪽 메뉴바에서 탄력적 IP 메뉴를 선택해주세요. 그 후 우측 상단에 탄력적 IP 주소 할당을 클릭 후 새 주소를 할당합니다. 마지막으로 작업을 클릭하여 현재 EC2 인스턴스와 연결해주세요&lt;i&gt;. &lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;i&gt;(EIP 생성 후 인스턴스를 연결 안할 경우 요금이 부과된다고 합니다. 따라서 인스턴스를 연결하지 않을 경우 EIP를 삭제해주세요.)&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRC7lM/btqHhFVXIkW/nZNbW1T3Ot79qLYYIhV5ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRC7lM/btqHhFVXIkW/nZNbW1T3Ot79qLYYIhV5ek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRC7lM/btqHhFVXIkW/nZNbW1T3Ot79qLYYIhV5ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRC7lM%2FbtqHhFVXIkW%2FnZNbW1T3Ot79qLYYIhV5ek%2Fimg.png&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다시 인스턴스 페이지로 돌아와서 하단에 탄력적 IP가 제대로 할당되었는지 확인하세요!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4savA/btqHhECNHS0/LZNIGoJKG2mjmxeN3WDcB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4savA/btqHhECNHS0/LZNIGoJKG2mjmxeN3WDcB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4savA/btqHhECNHS0/LZNIGoJKG2mjmxeN3WDcB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4savA%2FbtqHhECNHS0%2FLZNIGoJKG2mjmxeN3WDcB0%2Fimg.png&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1215&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. EC2 서버 접속&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;AWS EC2 인스턴스로 서버를 실행했으니 로컬환경에서 접속해봅시다. 아까 다운로드 받았던 pem키를 이용하여 ssh 접속을 할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1598427587686&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh -i pem키위치 접속하고자하는IP&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;매번 이렇게 접속하기 힘드니 ~/.ssh에 pem를 옮겨놓습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1598427619302&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mv pem키 ~/.ssh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 config를 작성하여 호스트 네임을 통해 접속 가능하도록 설정해줍시다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1598427686036&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;vi ~/.ssh/config&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 4.43.50.png&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;184&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cndAy4/btqHjqjA4V4/SkowyzXjtcgqmyX5c7vKaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cndAy4/btqHjqjA4V4/SkowyzXjtcgqmyX5c7vKaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cndAy4/btqHjqjA4V4/SkowyzXjtcgqmyX5c7vKaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcndAy4%2FbtqHjqjA4V4%2FSkowyzXjtcgqmyX5c7vKaK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 4.43.50.png&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;184&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Host는 ssh 뒤에 입력할 호스트 이름입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;HostName은 위에서 할당한 EIP 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;User는 접속할 유저입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;IdentityFile은 pem key의 위치입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1598427893071&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh &quot;Host&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;esc wq로 저장 후 설정한 Host의 이름을 입력합니다. 위와 같은 경우에는 springboot2-davinci-webservice입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 4.48.32.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;236&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVLZft/btqHgqYy7wN/blGhZyHSIfpFFVToThYnH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVLZft/btqHgqYy7wN/blGhZyHSIfpFFVToThYnH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVLZft/btqHgqYy7wN/blGhZyHSIfpFFVToThYnH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVLZft%2FbtqHgqYy7wN%2FblGhZyHSIfpFFVToThYnH0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 4.48.32.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;236&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음과 같은 화면이 출력되면서 접속이 잘 된 것을 확인할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. AWS 설정&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;AWS의 생성과 ssh로 접속이 완료되었으면 이제 서버의 몇 가지 필수 설정을 해야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;java 버전 설정&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;타임존 설정&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;호스트 네임 설정&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;java 버전 설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;AMI 1 버전으로 서버를 실행했다면 java 7 이 기본 버전으로 설정되어 있습니다. 하지만 그 상위 버전인 java 8을 사용하기 위해선 java 8을 다운로드 받은 뒤 변경해야합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치가능한 java 버전을 보면 1.8 버전이 다음과 같이 존재하므로&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 10.47.36.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;236&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kC2lG/btqHhEiHyZr/NJKkbeRkpCXIBMiDKI64WK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kC2lG/btqHhEiHyZr/NJKkbeRkpCXIBMiDKI64WK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kC2lG/btqHhEiHyZr/NJKkbeRkpCXIBMiDKI64WK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkC2lG%2FbtqHhEiHyZr%2FNJKkbeRkpCXIBMiDKI64WK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 10.47.36.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;236&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1598449719016&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo yum install java-1.8.0-openjdk-devel.x86_64 	#설치
sudo /usr/sbin/alternatives --config java		#버전 변경&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 명령어를 통해 다운 받은 뒤 버전을 변경하면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;저는 java 11 버전이 필요했지만 패키지에 java 11이 존재하지않았습니다. 따라서 java 11 rpm을 검색하여 다운받아 따로 설치했습니다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 10.53.13.png&quot; data-origin-width=&quot;2376&quot; data-origin-height=&quot;164&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/M1PnU/btqHgri50Wu/HldKXISkQAS0PukwCkEGiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/M1PnU/btqHgri50Wu/HldKXISkQAS0PukwCkEGiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/M1PnU/btqHgri50Wu/HldKXISkQAS0PukwCkEGiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM1PnU%2FbtqHgri50Wu%2FHldKXISkQAS0PukwCkEGiK%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 10.53.13.png&quot; data-origin-width=&quot;2376&quot; data-origin-height=&quot;164&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;타임존 변경&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;AWS의 기본 시간은 UTC로 설정되어있습니다. 아래 명령어를 차례로 입력해 한국 표준 시간대(KST)로 변경합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.01.16.png&quot; data-origin-width=&quot;2376&quot; data-origin-height=&quot;166&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCgKrO/btqHoWhNNh0/wfaIJKEXJ0hT2dglyJzNq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCgKrO/btqHoWhNNh0/wfaIJKEXJ0hT2dglyJzNq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCgKrO/btqHoWhNNh0/wfaIJKEXJ0hT2dglyJzNq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCgKrO%2FbtqHoWhNNh0%2FwfaIJKEXJ0hT2dglyJzNq0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.01.16.png&quot; data-origin-width=&quot;2376&quot; data-origin-height=&quot;166&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;호스트 네임 설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;network파일을 변경하여 hostname을 설정해줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.04.45.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;76&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dt5K7h/btqHp7wUEPF/qBO96cHs6KurgZxWuD5XAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dt5K7h/btqHp7wUEPF/qBO96cHs6KurgZxWuD5XAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dt5K7h/btqHp7wUEPF/qBO96cHs6KurgZxWuD5XAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdt5K7h%2FbtqHp7wUEPF%2FqBO96cHs6KurgZxWuD5XAk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.04.45.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;76&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.03.46.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;692&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uiM5e/btqHgqR8B7y/spMqO6wn7rc2kn8KVFC890/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uiM5e/btqHgqR8B7y/spMqO6wn7rc2kn8KVFC890/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uiM5e/btqHgqR8B7y/spMqO6wn7rc2kn8KVFC890/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuiM5e%2FbtqHgqR8B7y%2FspMqO6wn7rc2kn8KVFC890%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.03.46.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;692&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;reboot 명령어로 서버를 재부팅하면 호스트 네임이 변경돼있는 걸 확인할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.07.00.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;196&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q4hep/btqHek5FTZV/U1Clu9fUgOYp3i07SLxWY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q4hep/btqHek5FTZV/U1Clu9fUgOYp3i07SLxWY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q4hep/btqHek5FTZV/U1Clu9fUgOYp3i07SLxWY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ4hep%2FbtqHek5FTZV%2FU1Clu9fUgOYp3i07SLxWY0%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.07.00.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;196&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;마지막으로 /etc/hosts내부에 hostname을 등록해줍니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1598451123080&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo vi /etc/hosts&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.10.26.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;86&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzxVRm/btqHjrpok8Q/scSy99ej0kJTHbKDh49KK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzxVRm/btqHjrpok8Q/scSy99ej0kJTHbKDh49KK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzxVRm/btqHjrpok8Q/scSy99ej0kJTHbKDh49KK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzxVRm%2FbtqHjrpok8Q%2FscSy99ej0kJTHbKDh49KK1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.10.26.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;86&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;제대로 등록이 되었다면 다음과 같이 curl을 이용해 요청했을 경우 연결이 거부되었다는 메세지가 뜹니다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.13.17.png&quot; data-origin-width=&quot;1358&quot; data-origin-height=&quot;86&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvxga3/btqHjq47Pz1/YTCvKONlcgjt2cB0CNZaFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvxga3/btqHjq47Pz1/YTCvKONlcgjt2cB0CNZaFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvxga3/btqHjq47Pz1/YTCvKONlcgjt2cB0CNZaFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbvxga3%2FbtqHjq47Pz1%2FYTCvKONlcgjt2cB0CNZaFk%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-08-26 오후 11.13.17.png&quot; data-origin-width=&quot;1358&quot; data-origin-height=&quot;86&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;reference&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;250&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v26zk/btqHhFaE29l/jaJvJf2eFis5GsNkPIBxE1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v26zk/btqHhFaE29l/jaJvJf2eFis5GsNkPIBxE1/img.jpg&quot; data-alt=&quot;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v26zk/btqHhFaE29l/jaJvJf2eFis5GsNkPIBxE1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv26zk%2FbtqHhFaE29l%2FjaJvJf2eFis5GsNkPIBxE1%2Fimg.jpg&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;250&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스프링 부트와 AWS로 혼자 구현하는 웹 서비스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>배포</category>
      <category>AWS</category>
      <category>배포</category>
      <category>서버</category>
      <category>웹</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/24</guid>
      <comments>https://dibtd.tistory.com/24#entry24comment</comments>
      <pubDate>Wed, 26 Aug 2020 15:25:24 +0900</pubDate>
    </item>
    <item>
      <title>클라우드 서비스</title>
      <link>https://dibtd.tistory.com/23</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;클라우드란?&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;클라우드 서비스란 인터넷을 통해 각종 자원(운영체제, 데이터베이스, 스토리지 .. 등)을 제공해주는 서비스를 말합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHqUza/btqG2GMUP0I/PnMKyp8ZOOprdV3XKQBldk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHqUza/btqG2GMUP0I/PnMKyp8ZOOprdV3XKQBldk/img.png&quot; data-alt=&quot;Cloud&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHqUza/btqG2GMUP0I/PnMKyp8ZOOprdV3XKQBldk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHqUza%2FbtqG2GMUP0I%2FPnMKyp8ZOOprdV3XKQBldk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Cloud&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;예전에는 각자의 물리적인 서버가 존재하고 직접 관리하며 프로젝트를 배포했습니다. 하지만 클라우드 서비스가 발전하면서 많은 기업들이 물리적인 서버를 관리하기 보다는 클라우드로 이전하는 것을 택하고 있습니다. 따라서 저도 클라우드를 이용하여 무중단 배포를 해보겠습니다. 클라우드를 사용하기 전에 클라우드의 몇가지 형태에 대해 알아보겠습니다.&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;(1) Infrastrucure as a Service(IaaS)&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;서버 운영하기 위해 필요한 자원, IP, 네트워크 등 여러 인프라를 제공해주는 클라우드 서비스입니다. 서버를 운용하기위해서는 물리적인 장비들이 필요한데 이를 미들웨어와 함께 묶어 추상화하여 사용자에게 제공합니다. 우리가 흔히 아는 AWS EC2, S3가 대표적인 예입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;(2) Platform as a Service(Paas)&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;서비스를 개발 시 안정된 환경(Platform)을 제공합니다. IaaS를 한번 더 추상화하여 여러 기능들이 자동화되어 있습니다. 대표적인 예로 AWS Beanstalk, Heroku가 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;(3) Software as a Service(SaaS)&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;클라우드 환경에서 작동하는 응용 프로그램입니다. 개발자가 아닌 일반 사용자들이 말하는 클라우드는 주로 SaaS를 뜻합니다. 대표적으로 Icloud, 구글 클라우드, 드랍박스 등이 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저는 AWS 초보자이기 때문에 직접 하나씩 다뤄보는 것이 공부에 도움이 되므로 AWS EC2를 사용하여 배포해보도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>배포</category>
      <category>클라우드</category>
      <author>도라지보다더덕</author>
      <guid isPermaLink="true">https://dibtd.tistory.com/23</guid>
      <comments>https://dibtd.tistory.com/23#entry23comment</comments>
      <pubDate>Thu, 20 Aug 2020 19:03:40 +0900</pubDate>
    </item>
  </channel>
</rss>