/////
Search
7️⃣

배포한 프로젝트 실행하기

태그
과정
목차

배포 파일을 서버로 옮기기

WinSCP 설치 / 실행

서버에 파일을 전송하기 위한 프로그램입니다! 아래 페이지에서 설치해주세요.
실행 하면 아래와 같은 화면이 나타납니다.
파일 프로토콜 : SCP
호스트이름 : server 에서 ifconfig 로 확인한 내부 ip 주소
사용자이름 : server 로그인 아이디
비밀번호 : server 로그인 비밀번호
값을 다 입력후 로그인을 하면 왼쪽에는 현재 pc 에 관한 내용이 오른쪽에는 server 에 관한 내용이 나타납니다. 왼쪽에서 오른쪽으로 이전에 만들어둔 war 파일을 이동시켜 주세요!
서버에 파일이 잘 들어왔나 확인합니다.
$ ls
Bash
복사
이곳에 파일이 잘 들어왔다면 성공입니다!

배포 파일 알맞은 위치로 옮기기

배포 파일은 apache2 하위 디렉토리인 webapps 밑에 존재해야 합니다.
이를 위해 먼저 webapps 폴더가 있는지 확인해보겠습니다!
$ cd /etc/apache2 $ ls
Bash
복사
만약 webapps 디렉토리가 없다면 만들어주세요!
$ sudo mkdir webapps
Bash
복사
이제 이곳에 배포한 파일을 이동시켜 주겠습니다!
먼저 war 파일이 위치한 곳으로 이동해주세요. 그 후 아래와 같이 입력하여 파일을 이동 해주세요.
cd .. : 이전경로로 돌아가기
$ sudo mv 'war 파일 이름'.war /etc/apache2/webapps
Bash
복사
그 후 잘 이동했는지 webapps 로 들어가서 확인해주세요. 존재한다면 이름을 ROOT 로 바꿔주세요.
$ mv 'war 파일 이름'.war ROOT.war
Bash
복사

MySQL 데이터 이전

이곳에서는 전에 만들거나 테스트 했던 데이터베이스를 서버로 옮기는 방법을 설명합니다.
cmd 에서 mysqldump 를 이용해 sql 파일을 만듭니다.
$ sudo mysqldump -uroot -p [DB 명] > [저장장소]/[DB 명].sql
Bash
복사
저의 경우 옮기기 편하게 C:\ 로 지정하였습니다.
WinSCP 를 이용하여 서버로 이동해줍니다.
서버에 DB 를 생성해야 합니다.
$ mysqladmin -uroot -p create [DB 명]
Bash
복사
스프링부트 application.properties 에 등록한 스키마명과 동일하게 해주었습니다.
sql 파일을 db 로 변경합니다.
$ sudo mysql -uroot -p [DB 명] < [이동시킨 DB 명].sql
Bash
복사
확인하기
$ mysql -u '유저명' -p; mysql> show database; mysql> use [DB 명]; mysql> show tables;
Bash
복사
데이터 까지 확인하려면 SELECT 문을 이용하여 살펴보시면 됩니다.

배포 파일 실행하기

war 파일이 존재하는 디렉토리에서 아래와 같이 입력해주세요.
$ java -jar ROOT.war
Bash
복사

외부에서 배포한 애플리케이션에 접근하려면?

외부에서 접근하는 경우 주소를 http://서버 ip주소: 포트번호 를 앞에 붙여주면 됩니다.
접근을 원하는 mapping url 은 뒤에 적어주시면 됩니다.

발생할 수 있는 오류 모음

Apache2 오류

서버네임 관련 오류
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Action 'start' failed. ... (13)Permission denied: make_sock: could not bind to address [::]:8080 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:8000 ...
Plain Text
복사
apache2.conf 제일 마지막줄에 Servername 을 추가 합니다.
$ vi /etc/apache2/apache2.conf
Bash
복사
apache2.conf
127.0.0.1. 인 경우도 있으니 로그를 반드시 확인해주세요.
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet Servername 127.0.1.1
Bash
복사
그 다음 ports.conf 에도 serverName 에 관한 내용이 있는지 확인해봅니다.
$ sudo tail /etc/apache2/ports.conf
Bash
복사
<IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Bash
복사
주석 아래의 내용이 공란이면 아래와 같이 추가해줍니다.
ServerName 127.0.1.1
Bash
복사
그 다음 apache2 를 재실행하고, 배포 파일을 다시 구동해봅니다!
$ sudo service apache2 restart $ sudo service apache2 status
Bash
복사