CS/Linux

    24. 9. 11. 개발일지 / 자동배포, git, 구조분해할당

    24. 9. 11. 개발일지 / 자동배포, git, 구조분해할당

    * 자동배포private 저장소 가져오기방법1 : ssh 이용 -> 잘안됨방법2 : 토큰이용 (보안 issued) 보안이슈가 있지만 1번이 잘 안되기도 하고 연습용으로 방법2로 진행함chmod 700 /home/bisu/scripts/git-pass.shdeploy.sh 작성변경사항이 있는지 확인하는법 honux version#!/usr/bin/bash # by honuxcd dirgit reset --hardgit fetchLOCAL='git rev-parse HEAD'REMOTE='git rev-parse origin/J160'if [[ $LOCAL == $REMOTE ]]; then #가리키는게 같으면 변경사항이 없는거임 echo "변경사항 없음" exit 0fi# git switch J160..

    24.9.5. 개발일지 // virtual box에 배포하기 , nat, bridge, ufw방화벽, nginx

    24.9.5. 개발일지 // virtual box에 배포하기 , nat, bridge, ufw방화벽, nginx

    * virtual box에 배포하기먼저 nat와 bridge의 차이를 알야아한다.nat방식을 쓰면, 외부 클라이언트는 반드시 host pc(내 pc) 를 통해서만 가상 우분투에 접속 가능하다.따라서, 포트 포워딩이 필요하다.반면, 브릿지는 내pc와 동등한위치에서 직접 외부와 연결이 가능하다.간단한 브릿지 방식을 사용하고자 한다. * 내 환경확인우분투에서 ifconfig 결과 => 1.200.x.x로 나오는걸로봐서, 나는 공유기방식이 아니고 직접 isp와 연결된것으로 추측.즉, 3000번포트만 열어준후, 1.200.x.x:3000으로 접속하면 외부클라에서 내 우분투로 접속이 가능하다!+ listen 수정도 필요한듯 하다.//Node.js 애플리케이션이 모든 인터페이스에서 요청을 받을 수 있도록 설정합니다:..

    [Linux] pw 없이 접속하기, ssh-keygen, 배포하기

    [Linux] pw 없이 접속하기, ssh-keygen, 배포하기

    * ip 별칭 생성하기ssh 접속할때마다 ip를 기억해야하는것은 너무 귀찮다.아래 파일을 수정하자sudo vi /etc/hosts이후 :wq => 변경사항 저장, 종료 * pw 없이 접속하기우선 내 컴퓨터에서 ssh-keygen을 생성한다.공개키를 복사해서 우분투에 보내야한다.id_ed.pub가 자물쇠 //공개키cyberduck을 사용해도 된다. for file전송이걸 cat/ssh/authorized_keys에 복붙 ( 윈도우 키를 "추가" 해야함) 덮어쓰기 하면 망함!대문을 하나 추가한 효과!!우리는 윈도우에 자물쇠(public key)에 맞는 열쇠(private key)를 가지고 있으므로 문이 열린다! * 우분투에 node js 최신버전 설치 * 프로젝트 git clone 하기, 실행하기* issu..

    [Linux] 배포관련 아키텍쳐 best practice?

    네, 좋은 접근 방식입니다. Nginx가 정적 파일을 처리하고 동적 요청만 WAS(Web Application Server)가 처리하는 구조는 매우 효율적이고 일반적으로 사용되는 아키텍처입니다. 이 구조를 개선하고 확장하여 더 강력한 아키텍처를 만들 수 있습니다. 다음은 개선된 구조와 그에 대한 설명입니다: [CDN] | v[Client] [Load Balancer] [Nginx] [Static Files] | | ..

    [Linux] 원격 db 연결안됨 해결 //리눅스 포트 방화벽설정방법

    [Linux] 원격 db 연결안됨 해결 //리눅스 포트 방화벽설정방법

    * 원인 : 방화벽설정을 저장안함 * 해결 : accept 후 iptables-save로 저장함.  * 문제 : 서버 재부팅시 다시 초기화됨 * 해결 : iptables-persistent 사용* 결과 * 방법2쉴스크립트 작성 && 네트워크 시작될때 해당 스크립트 실행!이방법도 재밌을것같다.

    [Linux] DB 설치 && 개발환경 문제, 개발워크플로우

    전제 : db는 원격 리눅스서버에 설치해야함* 방안 a : 리눅스 서버에 소스코드를 모두 옮기기* 방안 b : 개발은 로컬에서하고 db만 연결소스 코드 배치 방식 비교: a. 리눅스 서버에 JS 소스 코드를 모두 옮기는 방법: 장점: 애플리케이션과 데이터베이스가 같은 환경에 있어 네트워크 지연 최소화 배포 및 관리가 단순화됨 보안 설정이 더 쉬워짐 (외부에서 DB 직접 접근 불필요) 단점: 로컬 개발 및 테스트가 불편할 수 있음 서버 리소스 관리에 더 주의를 기울여야 함 b. 로컬에 JS 소스를 두고 리눅스 DB에만 연결하는 방법: 장점: 로컬 개발 및 테스트가 용이함 애플리케이션과 데이터베이스의 독립적인 스케일링 가능 개발 환경과 프로덕션 환경의 분리가 명확함 단점: 네트워크 지연으로 인한 성능 저하 ..

    [Linux] 원격으로 mysql 설치하기 && 로컬에서 원격으로 연결하기

    [Linux] 원격으로 mysql 설치하기 && 로컬에서 원격으로 연결하기

    * MySQL 설치 방법 1. MySQL 설치 sudo apt updatesudo apt install mysql-server 2. MySQL 포트 설정 (mysql 기본 포트는 3306임) sudo ufw allow mysql 3. MySQL 실행 - MySQL 실행sudo systemctl start mysql - 서버 재시작시 MySQL 자동 재시작 설정 방법 (권장사항)sudo systemctl enable mysql  4. root(관리자) 계정 비밀번호 재설정 - mysql 접속 sudo mysql -u root - root 계정 비밀번호 설정 ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호'; - 변경된 비밀번호 적용하기 FLUSH PRIVILEGES..