2022.07.20~23_5주차_nohup설정 & 도메인 연결_11강~12강
-목차- (해당 강의 클릭시 해당 위치로 이동함)
5-11강. nohup설정하기
- 원격접속을 종료하더라도 서버가 계속 돌아갈 수 있게 만들거야.
< 추가 정보 >
nohup 이란?
no hang up의 약자이다. 해석은 끊지마!란 얘기 그대로다.
내가 세션과 프로그램을 종료해도 지금 실행시킨 프로그램을 종료시키지마란 얘기.
즉, 로그아웃으로 세션과 프로그램이 종료되도 nohup으로 실행시킨 프로세스는 데몬 형태로 실행되어
종료되지않고 계속 실행되는 것이다.
=> 여기서 '데몬'(daemon)이란?
참고사이트 : https://blogger.pe.kr/770
구글에서 daemon process라 검색하면 첫번째로 뜨는 컨텐츠는 인디아나 주립대학교의 날리지베이스에 정의된 daemon in unix라는 정의다.
그래서 데몬이란 서비스 요청에 대해 응답하기 위해 오랫동안 돌아가는(실행 중인) 백그라운드(background) 프로세스이다.
1_원격접속 재시도!
- git-bash 켜
- 화살표 ↑(위)키 눌러 그럼 내가 마지막으로 썼던 명령어가 나와.
- 그게 원격접속 명령어야.
=> 화살표위키 누른 결과
user@LAPTOP-HKLVPPJ1 MINGW64 ~
$ ssh -i /c/Users/user/Desktop/arj_mykey.pem ubuntu@43.200.181.233
=>git-bash화면.
=> 엔터 쳐. 그럼 내가 산 컴퓨터로 원격접속 다시 돼.
user@LAPTOP-HKLVPPJ1 MINGW64 ~
$ ssh -i /c/Users/user/Desktop/arj_mykey.pem ubuntu@43.200.181.233
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.13.0-1029-aws x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Fri Jul 22 12:24:58 UTC 2022
System load: 0.0 Processes: 108
Usage of /: 30.6% of 7.58GB Users logged in: 0
Memory usage: 29% IPv4 address for eth0: 172.31.40.168
Swap usage: 0%
* Ubuntu Pro delivers the most comprehensive open source security and
compliance features.
https://ubuntu.com/aws/pro
16 updates can be applied immediately.
To see these additional updates run: apt list --upgradable
*** System restart required ***
Last login: Fri Jul 22 11:52:34 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$
=> git-bash 화면.
- ls
- 결과 : sparta
*** System restart required ***
Last login: Fri Jul 22 11:52:34 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ls
sparta
ubuntu@ip-172-31-40-168:~$
- sparta폴더로 이동!
- cd sparta
- 결과 : ~/sparta$
*** System restart required ***
Last login: Fri Jul 22 11:52:34 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ls
sparta
ubuntu@ip-172-31-40-168:~$ cd sparta/
ubuntu@ip-172-31-40-168:~/sparta$
- 다시 ls
- 결과 : app.py static templates
*** System restart required ***
Last login: Fri Jul 22 11:52:34 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ls
sparta
ubuntu@ip-172-31-40-168:~$ cd sparta/
ubuntu@ip-172-31-40-168:~/sparta$ ls
app.py static templates
ubuntu@ip-172-31-40-168:~/sparta$
- app.py를 명령어로 실행해주
- python app.py
- 결과 : app.py 실행 됨.
*** System restart required ***
Last login: Fri Jul 22 11:52:34 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ls
sparta
ubuntu@ip-172-31-40-168:~$ cd sparta/
ubuntu@ip-172-31-40-168:~/sparta$ ls
app.py static templates
ubuntu@ip-172-31-40-168:~/sparta$ ^C
ubuntu@ip-172-31-40-168:~/sparta$ ls
app.py static templates
ubuntu@ip-172-31-40-168:~/sparta$ python app.py
* Serving Flask app 'app' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on all addresses (0.0.0.0)
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://127.0.0.1:5000
* Running on http://172.31.40.168:5000 (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 664-708-118
=> 브라우저 접속 잘 되는 지 확인. 퍼블릭 IPv4 주소 : http://43.200.181.233/로
2_원격 접속을 종료해도 서버가 계속 돌아가게 하기.
1.일단 연결 끄는 걸 알랴줌
- press CTRL+C to quit ( ctrl +c 로 꺼라.)
* Running on http://127.0.0.1:5000
* Running on http://172.31.40.168:5000 (Press CTRL+C to quit)
* Restarting with stat
- ctrl + c 해주면. 이케 꺼짐.
ubuntu@ip-172-31-40-168:~/sparta$ python app.py
* Serving Flask app 'app' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on all addresses (0.0.0.0)
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://127.0.0.1:5000
* Running on http://172.31.40.168:5000 (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 664-708-118
175.118.61.252 - - [22/Jul/2022 12:37:10] "GET / HTTP/1.1" 200 -
175.118.61.252 - - [22/Jul/2022 12:37:11] "GET /homework HTTP/1.1" 200 -
^Cubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
=> 맨 마지막 같은 문장들은 그냥 엔터 좀 쳐준거야..
=>git-bash화면.
2. 어케 계속 돌리느냐
- nohup 명령어 써줘.
ubuntu@ip-172-31-40-168:~/sparta$ nohup python app.py &
=> 결과 : 엔터눌러도 그대로 있어.
^Cubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$ nohup python app.py &
[1] 35560
ubuntu@ip-172-31-40-168:~/sparta$ nohup: ignoring input and appending output to 'nohup.out'
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
=> git-bash 화면.
- 한 번 유지되는 지 확인해봐!
1) git-bash(원격접속) 켜져있을 때.
2) git-bash(원격접속)껐을 때. (원래 홈페이지도 연결끊어져야 정상)이지만 연결된 상태로 유지됨.
- 기래도 잘 돌아간다우
3_git-bash다시 켜, 중요한 건 계속 켜있는 산 컴퓨터를 끌 줄을 몰라; 이제 그거 알랴줌.
- git-bash -> 화살표 위방향키로 원격접속 명령어 떠오르게하고 접속해.
- 서버 종료하는 법(강제종료) 알려줄게
- 참고 코드스니펫 - 강제종료하기
1. 강제종료하기 - 코드스니펫
- 코드스니펫 - 강제종료하기 코드
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
=> 메모장에 따로 sparta-aws라고 저장해둬. 위에 python3, pip3,portforwarding 이랑 같이.
- 복사해서 git-bash(원격접속한)에 넣고 엔터. 하면 종료됨
=> 결과 : 성공적 종료됨 . No such process.
*** System restart required ***
Last login: Fri Jul 22 12:24:59 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
kill: (35715): No such process
ubuntu@ip-172-31-40-168:~$
=> git-bash화면
=> 브라우저 화면도 끊김(종료됨)
2. 정리
- 뭔가 작업을 파이참에서 하면, 작업한 것들을 배포하고 싶을 때는 static, templates, app.py만 filezilla에 올리고 nohup로 켜주면 되겠찌.
- nohup
$ nohup python app.py &
- 혹여, 생각해보니 마저 작업을 못 해서 추가, 수정 및 업데이트 등을 해야할 경우
- 강제종료하기 명령어로 꺼주고
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
- 산 컴퓨터에 올린 파일 지웠다가 작업 마무리해서 다시 올려주고 하면 돼.
- 언제까지 IPv4주소 칠 건 아니구 인제 사 둔 도메인! 붙여볼 거야!
5-12강. 도메인 연결하자! 개봉박두! 소리질러! 곧 내 홈을 배포한닥우!
- 그 전에..일단 서비스부터 켜놔야겠찌..!
- 그럼 뭐것어!! 당장 git-bash 온!
* Support: https://ubuntu.com/advantage
System information as of Fri Jul 22 13:06:42 UTC 2022
System load: 0.0 Processes: 111
Usage of /: 30.6% of 7.58GB Users logged in: 0
Memory usage: 36% IPv4 address for eth0: 172.31.40.168
Swap usage: 0%
* Ubuntu Pro delivers the most comprehensive open source security and
compliance features.
https://ubuntu.com/aws/pro
16 updates can be applied immediately.
To see these additional updates run: apt list --upgradable
*** System restart required ***
Last login: Fri Jul 22 12:24:59 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
kill: (35715): No such process
ubuntu@ip-172-31-40-168:~$
1_세팅
- 그리고 세팅을!
- ls로 sparta폴더 확인하고 sparta폴더로 이동해야지~
*** System restart required ***
Last login: Fri Jul 22 12:24:59 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
kill: (35715): No such process
ubuntu@ip-172-31-40-168:~$ ls
sparta
ubuntu@ip-172-31-40-168:~$ cd sparta/
ubuntu@ip-172-31-40-168:~/sparta$
- sparta폴더가서 내용물 확인하고!
*** System restart required ***
Last login: Fri Jul 22 12:24:59 2022 from 175.118.61.252
ubuntu@ip-172-31-40-168:~$ ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
kill: (35715): No such process
ubuntu@ip-172-31-40-168:~$ ls
sparta
ubuntu@ip-172-31-40-168:~$ cd sparta/
ubuntu@ip-172-31-40-168:~/sparta$ ls
app.py nohup.out static templates
ubuntu@ip-172-31-40-168:~/sparta$
- 어떻게 켰는가~ nohup으로 켰지
kill: (35715): No such process
ubuntu@ip-172-31-40-168:~$ ls
sparta
ubuntu@ip-172-31-40-168:~$ cd sparta/
ubuntu@ip-172-31-40-168:~/sparta$ ls
app.py nohup.out static templates
ubuntu@ip-172-31-40-168:~/sparta$ nohup python app.py &
[1] 35946
ubuntu@ip-172-31-40-168:~/sparta$ nohup: ignoring input and appending output to 'nohup.out'
ubuntu@ip-172-31-40-168:~/sparta$
ubuntu@ip-172-31-40-168:~/sparta$
=> 그리고 app.py 브라우저 연결 확인!
=> 응 잘 되고있고~
2_도메인 연결~
- 참고 코드 스니펫: 가비아 접속하기
1. 가비아 접속 -> 로그인 -> DNS 설정
2. DNS설정
- 호스트이름: @(골뱅이)로 두고
- 값/위치 IP 주소 : (=인스턴스의 퍼블릭 IPv4 주소) 43.200.181.233 => 숫자만 들어가야함
- 상태 : 확인 클릭
- 저장 클릭.
=> 따라라라란
=> 그 후 산 도메인 주소 : sparta-ran.shop 로 연결확인!! 은 아주 잘 됨 ㅠㅠ햄복..
- 막간 상식 '가비아'란 업체?
- 네임서버를 운영해.
- IP 주소인 숫자와 도메인같은 문자열을 매칭을 시켜놓는 전화번호부 같은 것을 운영해.
- 전세계 인가를 받아서 전화번호부를 매칭하는 운영을 할 수 있어.
- 그 전화번호부가 전세계에 퍼지는 데에 시간이 걸리겠지. 그래서 어떤 사람은 도메인 연결이 20~30분정도 걸릴 수 있어.
- sparta-ran.shop 이란 링크를 카톡이나 페이스북에서 공유했을 때,
예쁘게 나오려면 og 이미지, og타이틀, og디스크립션이 들어가야 돼.
한 번 해 보자구!