로컬의 파일을 서버에 옮긴느 방법에는 여러가지가 있는데, 대표적으로 사용하는 방법
scp, rsync 등의 방법이 있다.
로컬 -> 원격지로
scp -i ssh-key위치 filename server@ip:/home/ec2-user
원격지 -> 로컬
scp -i ssh-key위치 server@ip:파일 localpath
그렇게 jar 파일을 옮겼으면 jar 파일을 실행하면 되는가?
-> 하지만 실행이 되지 않는다. 왜냐? 우리가 처음에 서버를 할당 받으면 초기의 (선택한OS) 컴퓨터를 받은것과 같다. 별다른게 깔려 있지 않음
aws를 사용하면 aws 리눅스에서 java를 설치하는 방법을 찾아보면 잘 나온다..
그렇게 yum이나, apt 등의 패키지 매니저를 사용하여 java를 설치하고 java -jar로 실행한다면 이제 접속을 할 수 있는가
ip주소:8080 를 통해 접속을 한다면 접속이 안된다.(why? -> 방화벽)
8080포트를 통해 들어오는 접속을 허용하면 접속이 가능함
서버를 어떻게 계속 유지할 수 있을까?
nohub 명령어를 사용해보자..
nohub java -jar jarfile
그렇다면 끄기 위해서는 어떻게 해야되나?
ps aux | grep java
kill processnum
이외에도 다른 방식으로 프로세스를 확인해서 kill 하면 꺼짐. nohub을 사용할 때, 올리는건 없지만 다른 일을 할 수 있는 것은 아니다. 그렇기 때문에, 띄운 프로그램을 백그라운드로 보내는 명령어도 함께 해줘야된다.
nohub java -jar jarfile &
백그라운드로 넘겨주는 역할을 하는 것이다. ec2 서버를 내리지 않는이상 계속 유지되어 있다.
EC-2를 내렸다 키면 계속 public ipv4 주소가 바뀐다. 이때 고정 ip를 할당하고 싶다면 탄력적IP주소 할당(Elastic IP) 할당을 하면 되고, 그 IP를 기존의 EC2 instance에 할당하면 된다.