반응형

전체 글 255

Screen 백그라운드에서 가상 터미널로 프로그램 실행하기 [Linux, Ubuntu]

가끔은 cron을 통한 잡 스케줄러보다, 특정 프로그램을 서버에서 계속해서 실행해야 하는 경우가 있다. 클라우드 서버에서 접속하면 생성되는 터미널은 기본적으로 접속을 끊는 순간 종료되기 때문에, 백그라운드에서 돌아가고 언제든 꺼내볼 수 있는 가상 터미널을 생성하는 screen 명령어가 굉장히 유용하다. Screen Linux기반 OS에서 독립적으로 동작하는 가상 터미널을 생성하는 소프트웨어 위키백과에서는 여러 가상 콘솔을 다중화하는데 쓰이는 응용 소프트웨어이자 터미널 다중화기라고 정의하고있다. 순서 1. 스크린 생성 2. 스크린 빠져나오기 3. 스크린 재접속 4. 스크린 확인 5. 스크린 종료 1. 스크린 생성 vscode 환경에서 접속했다 가정 screen options -S [스크린 이름] : 해당 ..

NCP 서버 접속 (in VS Code)

사이드 프로젝트를 진행하면서, 네이버 클라우드 플랫폼(NCP) 30만원 크레딧을 제공받는 김에 AWS 대신 NCP를 써보기로 했다. AWS EC2서버에 접속하는것과는 조금 다르고, 관련 레퍼런스도 많지 않아 설정하는데 조금 애먹었다. 설정하면서 느낀점은 디테일한 부분을 꼼꼼히 신경쓰는 네이버답게 보안이 잘 되어있다는 것과 내가 내 서버 접속하는것도 까다로운데 내 서버가 과연 해킹당할 수 있을까? 라는 생각도 들었다. 순서 1. 준비사항 2. VSCode Extension 설치 3. config 파일 수정 4. Trouble Shooting 1. 준비사항 NCP 서버 로그인 후 콘솔에 접속하면 좌측 메뉴바를 확인할 수 있다. 여기서 Region과 Platform에 따라 서버가 나뉜다. (생성한 서버가 안 ..

AWS EC2 서버 접속 (in VS Code)

가상의 컴퓨터를 하나 빌리는 것은 다양한 작업(자동화 프로그램, 간단한 FE, BE 배포)을 하는데 유용하다. CLI에서 접속해서 사용하는것보단 vscode같은 IDE툴을 활용하는 것이 생산성이 더 좋다고 생각한다. 서버 다양한 목적(컴퓨팅, DB, AI, ...)을 위해 컴퓨팅 자원을 구축하거나(자체서버) 빌려 사용(클라우드)하여 제공되는 것 순서 1. 준비사항 2. VSCode Extension 설치 3. config 파일 수정 4. Trouble Shooting 1. 준비사항 AWS EC2 EC2 서버는 생성시 기본적으로 보안 그룹에 ssh 접속을 위한 22번포트가 열려있음 ★★★★★ 키페어 파일인 pem 파일을 잘 관리할 것 pem파일을 주로 C:/Users/{USER_NAME}/aws 하위에 저..

Docker, Jenkins 활용 CI/CD 구축 (React, Kotlin+Spring) 3편 - 웹서버에 배포

Jenkins와 Github를 연동하여 푸시이벤트가 발생했을 시, Jenkins에서 빌드를 진행하는 것까지 설정을 해놓았으니, 이제 빌드 후에 일어날 작업들을 설정해두면 자동배포 설정이 끝난다. 한 편 을 더 추가해야 할 것 같지만.. 2022년 마지막날에 끝내고 싶어서 다 합쳐버렸다. 뒤의 과정이 상당히 긺으로 천천히 따라오실 것을 추천.. 순서 0. 전체 흐름 1. publish over ssh 2. react 빌드 후 파일 전송 3. Docker in Jenkins 4. spring 도커 빌드 후 도커 push 5. docker-compose로 백엔드 배포 6. Trouble Shotting nginx 설정 0. 전체 흐름 이번 프로젝트에서 구축한 CI/CD의 아키텍처 1. publish over ..

Docker, Jenkins 활용 CI/CD 구축 (React, Kotlin+Spring) 2편 - Jenkins Github 연동

저번 Jenkins 서버 설정까지 진행하고 나서, 본격적으로 배포를 위한 셋팅을 해야한다. 순서 0. 전체 흐름 1. github 토큰 생성 2. Jenkins에 github 토큰 등록 3. 자동배포를 진행할 레포 등록 4. Push Event Webhook 설정 5. Trouble Shotting 0. 전체 흐름 이번 프로젝트에서 구축한 CI/CD의 아키텍처 1. github 토큰 생성 깃허브에서 우측 상단 프로필을 눌러 Settings로 들어오고, 왼쪽 메뉴 하단에 있는 Developer settings에 들어온다. Personal access tokens에서 Tokens를 클릭하고 Generate new token을 클릭한다. 계정 단위 권한을 가진 것이 classic 이고, 레포단위로 권한을 줄 ..

Docker, Jenkins 활용 CI/CD 구축 (React, Kotlin+Spring) 1편 - Jenkins 서버 설정

SSAFY 프로젝트 진행 중 인프라를 구축하는것에 진심인 친구가 Jenkins, Docker를 활용해 자동배포 시스템을 구축한 것을 보고 CI/CD에 관심이 생겼다. CI/CD는 내용이 많기 때문에 3편 정도로 나누어서 진행할 예정이고, Jenkins pipeline를 활용하면 설정이 편해지지만, 각각의 구성요소를 확인해보기 위해 직접 한땀한땀 구현할 것이다. CI/CD Continuous Integration(CI) and Continuous Deployment(CD)를 통칭해 이르는 말로 지속적인 통합(소스코드 빌드/테스트 자동화)과 지속적인 배포(무중단 서비스 제공)을 의미한다. 순서 0. 전체 흐름 1. 준비사항 2. Docker, Jenkins 설치 3. Jenkins 설정 4. Trouble ..

Frontend, Backend 서버 AWS EC2로 배포하기 (+https 설정까지) nodejs, django

서비스 개발을 하면 필연적으로 배포작업을 거치게 된다. 주로 우리가 접속하는 웹페이지를 위한 Frontend (네이티브 앱을 개발했다면 앱 빌드), 데이터를 처리하고 비즈니스 로직을 수행하는 Backend, 그리고 필요에 따라 다양한 목적의 서버를 여러개 설치하는 경우도 있을것이다. 본 글에선 Frontend와 Backend를 하나의 서버에서 배포하는 방법을 다룬다. # 예제 프레임워크 : Node.js 기반 프론트엔드 프레임워크, Django 배포 사용자가 URL을 통해 내 서버에 접속하여 웹 서비스를 이용할 수 있도록 하는 것 순서 1. 환경 설정 2. Frontend 배포 3. Backend 배포 4. DNS (도메인 연결) 5. Https 설정 6. proxy_pass 설정 1. 환경 설정 EC2..

Python Selenium (Chrome) wrapper 사용가이드

자동화 프로그램 제작 시 대부분은 requests로 API를 직접 요청하는것을 선호하지만, 그것이 불가한 경우에는 selenium을 활용한다. Selenium 셀레니움은 웹 애플리케이션 자동화 및 테스트를 위한 포터블 프레임워크이다. 자바, C#, 펄 루비 등 다양한 언어들로 제공되며, 윈도우, 리눅스, macOS 플랫폼에서 사용가능하다. 순서 1. Selenium 클래스화 코드 2. 유용한 Selenium 클래스, 함수 3. Javascript 4. 자주발생하는 에러와 해결방법 1. Selenium 클래스화 코드 web_setting.py (모듈명은 임의 부여) # -----------------------------------------------------------------------------..

AWS EC2 python 주기적으로 실행 Cron 잡 스케줄러

본인의 경우 EC2 서버에서 주기적으로 파이썬 스크립트를 실행할 경우, 스크립트 내에서 실행 주기를 관리하기보다 cron을 활용해서 main.py를 주기적으로 실행한다. Cron 유닉스 계열 컴퓨터 운영체제의 시간 기반 잡 스케줄러 순서 1. cron 초기 설정 2. 시간 설정 3. cron 명령어 4. cron 로그 5. cron 사용 시 주의사항과 에러 1. Cron 초기 설정 터미널에서 다음 명령어 실행 crontab -e vim editor는 vim.tiny로 설정, 그 외에 에디터는 리눅스 운영체제를 자주 사용하지 않는 나에겐 사용하기 너무 불편함.. 에디터를 잘못 설정했다면, 기존 터미널은 휴지통 버튼으로 종료해주고, (닫기 아님) 터미널에서 select-editor를 입력하여 vim-edit..

Velog를 시작했던 이야기 - 2022/09/30

내가 맡았던 강의에서 한 교육생분이 벨로그를 시작했다. 원래도 블로그를 작성하던 분이셨는데, 이번에 개발을 시작하면서 velog 플랫폼에서 개발과 관련된 글만 작성하는 것으로 보였다. 자연스럽게 나는, "나도 개발과 관련된 것만 정리하는 벨로그를 시작해볼까?"라는 생각을 하게 되었다. 원래는 티스토리를 활용해서 글을 작성했었는데, 메인 주제는 게임이었다. 아무래도 게임 정보를 공유하는게 글을 작성할 때 재미도 있었고 무엇보다 조회수가 더 잘나왔다. 하지만, 재밌게 하던 게임을 그만두니 티스토리에 글 쓰는게 일처럼 느껴져 결국 티스토리 작성하는게 점점 뜸해졌고 결국 관리도 그만두게 되었다. 딥러닝 관련 내용도 티스토리에 올렸었는데 플랫폼과 주제가 맞지 않았다. 서론이 길었지만, 결론적으로 나는 개발과 관련..

반응형