반응형

도커컴포즈 는 탭에 아주 예민스럽다

별거 아닌데 탭 하나에 ㅠㅠ 삽질은 10분이나...

 

폴더 하나 만들고 

전 c 드라이브에 mariadb

 

mariadb 폴더는 처음에 없어요~~

그 후 .env 파일 과 docker-compose.yml 파일을 생성한다.

 

MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=1234
MYSQL_DATABASE=edu
MYSQL_USER=edu
MYSQL_PASSWORD=1234

.env

 

version: "3"

services:
    mariadb:
        image: mariadb:latest
        ports:
        - 3306:3306
        volumes:
        - ./mariadb/Shared/data/mariadb/conf.d:/etc/mysql/conf.d
        - ./mariadb/Shared/data/mariadb/data:/var/lib/mysql
        - ./mariadb/Shared/data/mariadb/initdb.d:/docker-entrypoint-initdb.d
        env_file: .env
        networks:
        - backend
        restart: always

networks:
  backend:

docker-compose.yml

 

항상 탭을 확인하자... 으으으으

 

파일 2개 만든 후

 

해당 폴더에서  docker-compose up -d

모두 올라가면 도커 프로그램 확인하면 

콘테이너에 잘 올라간걸 확인하였다..

그리고 볼륨 폴더도 자동으로 쫘잔 생성 됨 

 

쓰봉 tab 12시에 자려고 했는데 이것땜시 

 

참고로 볼륨 설정을 통해 도커 꺼졌다 켜져도 데이타는 그대로 살아있음 !!! 

 

귀찮게 로컬 DB 매번 설치 하지 마시고 도커 이용하세요~~

귀찮음이 날 학습 시킴니다

근데 할때 마다 새로운 도커 

이거 몇년전에 프로젝트에서 해봤는데 ... 전혀 기억이 안나요 ㅎㅎㅎㅎㅎㅎㅎ

 

반응형
반응형

mysql 도 설치 했으니 

오늘은 web 서버 세팅까지 알아보도록 합시다!

 

reverse proxy (역방향 프록시)

보통 apache 와 nginx가 사용 된다

 

기본 개념

외부 인터넷에서 내부(서버) 망으로 들어오는 요청을 , 중간 프록시 서버가 중계하는 방식

 

브라우저에서 http request 를 nginx 가 먼저 받아서 처리

  nginx 처리할 수 있는 요청은 nginx가 처리하고 (정적파일 이미지나 html)

  Java 서버 애플리케이션은 url 요청은 tomcat에게 전달한다. 

 

기본 역활

load balancing, http cache, https

 

nginx 설치 

sudo apt install nginx

 

nginx 설정

tomcat으로 request forwarding 하기 위한 설정 파일 생성

 

 

sudo vi /etc/nginx/sites-available/tomcat.conf

 

파일에 입력

 

upstream tomcat {

        server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;

}

 

server {

        listen 80;

        server_name www.test.org;

 

        location / {

                proxy_set_header X-Forwarded-Host $host;

                proxy_set_header X-Forwarded-Server $host;

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_pass http://tomcat/;

        }

}

요청 URL 에서 hostname 이 www.test.org  이면  nginx 에서 처리해서 tomcat 으로 보냄

 

중계 설정 파일 활성화

 

sudo ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/

 

nginx  재시작

 

sudo service nginx restart

 

tomcat 설치 

sudo apt install tomcat9

https 설정

https 프로토콜 통신에는 SSL 인증서가 필요하다. (SSL certificate)

인증서 무료로 발급해 주는 비영리 기관이 있다.

 

https://letsencrypt.org/ko/

 

Let's Encrypt - 무료 SSL/TLS 인증서

 

letsencrypt.org

 

Let's encrypt 기관이 제공하는 certbot (certification robot) 데몬을 이용하면

인증서 발급, 인증서 설치, 인증서 갱신이 모두 자동으로 처리된다

SSL 인증서는 90 일 마다 갱신되어야 한다.

이 갱신 작업도 certbot에 의해 자동으로 처리된다.

certbot 설치

sudo apt install certbot python3-certbot-nginx

 

https://설정한 도메인 설정

 

sudo certbot --nginx -d www.test.org  

 

위 명령은, 암호화된 https 프로토콜로만 설정 도메인을 접근할 수 있도록 설정 !!

https:// 설정한 도메인으로 접속 성공 !! 

 

오늘 작업 완료 !!

 

다음에는 직접 만든 스프링 게시판을 오라클 클라우드에 돌려보는걸로 다가 

반응형
반응형

클라우드 인스턴스 우분투 세팅

 

패키지 업데이트

 

sudo apt update

 

sudo apt upgrade

(2번째건 좀 시간이 걸리네요 커피 한잔 ~ ㅎㅎ)

 

2G 크기의 스왑 영역 만들기

기본 메모리가 낮아서 스왑 영역을 만들어서 공간을 늘려주어야 합니다. 

 

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

 

차례대로 하나씩 입력해 주세요

/etc/fstab 파일에 swapfile 등록

 

sudo vi /etc/fstab

위 명령어로  /etc/fstab 파일을 열어서,

이 파일의 마지막 줄에 아래 내용을 추가하자.

 

/swapfile  swap  swap  defaults  0  0

 

스왑 영역 확인

 

 

 

ubuntu 방화벽 설정

ubuntu 방화벽에서 HTTP 80 포트를 열자

sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

 

ubuntu 방화벽에서 HTTPS 443 포트를 열자

sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

 

끝 입니다.

다른 포트 해제  필요하면 노란색 포트부분만 바꿔서 추가 하시면 됩니다~~

 

ubuntu 리눅스의 방화벽

netfilter

Ubunt 리눅스 커널의 방화벽(packet filtering system) 시스템은 netfilter 이다.

 

iptables 명령

netfilter 방화벽 설정 명령이 iptables 이다.

iptables 명령은 사용법이 어렵

 

mysql 설치

sudo apt install mysql-server

 

설치~~~중

mysql root 계정 활성화

sudo mysql -u root

USE mysql;

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

FLUSH PRIVILEGES;

exit;

 

비밀번호 신규 등록

mysql root 계정의 비밀번호를 처음 등록하는 명령

 

mysqladmin -u root password

 

 

 

외부 접속 확인 

로컬 pc에서 디비툴 로 테스트 해본다

 

 툴 DBeaver 사용하고 있다.

SSH 탭에서 

실제 오라클 인스턴스 아이피 주소를 넣고 터널링 하면 원격 접속 가능하다

와웅 외부 접속 까지 성공했으요~~

수고하셨습니다. 

이제 외부 접속디비 무료 구축 완료 입니다 ㅎㅎㅎ

반응형
반응형

오라클 클라우드 인스턴스 연결

 

아까 다운로드 받은 private key 파일과

VMpublic IP 주소가 필요

 

저는 개인적으로 MobaXterm_Portable_v22.2  사용합니다. 무료이고 편리합니다.

 

제일 왼쪽 상단 Session 클릭 후

 

오라클 클라우드 아이피 / 사용자 이름 / 그리고 private key 파일 선택하고 저장( OK )

 

그럼 옆에 

따블 클릭

접속 성공 흐흐 

고생 하셨습니다~~

 

3부 는 Ubuntu 세팅 으로 가겠습니다.

Go  2023.04.17 - [:::: 개발 ::::/::: Oracle :::] - 오라클 클라우드 Maria DB 초반 세팅 3

반응형
반응형

 

계정 만들고 와서 

VM 인스턴스 생성 부터 

인스턴스 생성

이미지 우분투로 변경

아래쪽 SSH  키 보관

전용키 저장( Save Private Key ) 클릭

private key 파일이 다운로드된다. 이 파일을 잘 보관하자.

 

그리고 이미지 생성 시작

이미지 생성 중
이미지 생성 완료

약간 시간이 걸린 후 생성이 완료 된다.

 


 

공용 서브넷 클릭 하여 HTTPS 등 보안 설정을 열어준다

소스유형 CIDR: 인스턴스에 접속할 수 있는 IP 주소를 입력한다.

   모든 IP 주소를 허용하도록,   0.0.0.0/0

 

**********************************************************************************

  내 아이피만 허용 하고 싶으면 아이피를 넣으면 나만 접속 가능 하다..

  요 형태 125.123.123.11/32

**********************************************************************************

 

대상 포트( Destination Port ) Range: 오픈할 포트 번호 목록

   HTTP, HTTPS 포트  80, 443

 

추가 완료

다음글에서 실제 연결 해보도록 합시다

Go > 2023.04.17 - [:::: 개발 ::::/::: Oracle :::] - 오라클 클라우드 Maria DB 초반 세팅 2

 

 

반응형
반응형

Oracle Cloud는 컴퓨팅, 스토리지, 네트워킹, 데이터베이스 및 애플리케이션 개발과 같은 다양한 서비스를 제공하는 클라우드 컴퓨팅 플랫폼입니다. 

 

Oracle Cloud를 사용하는 단계는 다음과 같습니다.

1. 웹 사이트에서 Oracle Cloud 계정에 가입하십시오.
2. 클라우드에서 가상 머신(VM)을 만듭니다.
3. 네트워킹, 스토리지 및 보안을 설정하여 VM을 구성합니다.
4. 선택한 운영 체제와 호환되는 소프트웨어를 VM에 설치합니다.
5. 원격 데스크톱, SSH 또는 다른 원격 액세스 프로토콜을 사용하여 원격으로 VM에 액세스합니다.
6. Oracle Cloud에서 제공하는 웹 기반 콘솔을 사용하여 리소스를 관리하십시오.

전반적으로 이러한 단계를 통해 Oracle Cloud의 강력한 도구 및 서비스 세트를 사용하여 클라우드에서 애플리케이션을 구축, 배포 및 관리할 수 있습니다. 약간의 설정 및 구성으로 이러한 도구를 활용하여 클라우드에서 자체 애플리케이션을 구축하고 실행할 수 있습니다.

 

웹 사이트에서 Oracle Cloud 계정에 가입하는 단계는 다음과 같습니다.

  1. Oracle Cloud 웹 사이트(https://www.oracle.com/cloud/)로 이동합니다.
  2. 페이지 오른쪽 상단 모서리에 있는 "로그인" 버튼을 클릭합니다.
  3. 다음 페이지에서 로그인 양식 하단에 있는 "계정 만들기" 버튼을 클릭합니다.
  4. 이메일 주소를 입력하고 "계속" 버튼을 클릭하십시오.
  5. 이름, 국가, 전화번호를 포함한 개인 정보를 입력합니다.
  6. 비밀번호와 보안 질문을 선택한 다음 "계정 만들기" 버튼을 클릭합니다.
  7. 이메일 주소로 인증 코드를 받게 됩니다. 인증 코드를 입력하여 계정 생성 프로세스를 완료하십시오.
  8. 지불 방법을 선택하고 필요에 맞는 계획을 선택하십시오.
  9. 약관을 검토하고 동의한 후 "가입 완료" 버튼을 클릭합니다.
  10. 등록 프로세스를 완료하면 Oracle Cloud 계정에 액세스하고 해당 서비스를 사용할 수 있습니다.

전반적으로 Oracle Cloud 계정에 가입하는 것은 몇 가지 쉬운 단계로 완료할 수 있는 간단한 프로세스입니다. 계정을 생성하면 클라우드 서비스를 사용하여 클라우드에서 애플리케이션을 구축, 배포 및 관리할 수 있습니다.

반응형
반응형

우선 최신으로 소프트 업데이트 하고

 

ssh 터널에서

Advanced settings 

Implementation 을 

 

JSch 에서 SSHJ 로 변경 하였더니 

 

auth fail 오류 해결됨 

 

반응형
반응형

얍얍


127.0.0.1 로 설정된 fastapi 는 바로 접근하게 하면 보안상 문제가 있나 봄

그래서 nginx 를 설치 후

하단 소스 파일 생성

/etc/nginx/sites-enabled/  >> 파일 생성 후 fastapi.conf
ex) vi /etc/nginx/sites-enabled/fastapi.conf

 

upstream fastapi {
        server 127.0.0.1:8000 weight=100 max_fails=5 fail_timeout=5;
}

server {
        listen 80;
        server_name '특정도메인 이나 아이피' 들어오면

        location / {
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Server $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://fastapi /;
        }
}

nginx 재구동

service nginx restart

특정 도메인,아이피(클라우드연결된아이피)으로 접속하면 
ngnix 가 127.0.0.1:8000  해당 경로로 연결시캬 쥼 ~

이미지나 정적인 데이타는 nginx 가 그 외 서버 개발이 필요한 건 fastapi 쪽에서 개발하면 될 것 같음

 

gui 없는 os는 참으로 힘들다 

눈에 딱딱 보이는 직관적인 프로그램이 얼마나 많은 노력으로 만들어지는지 알 것  같음  ㅜㅜ

성공

 

반응형
반응형

code-server sh 검색해서 설치

 

1.쉘 스크립트 웹에서 받아서 설치 ~

curl -fsSL https://code-server.dev/install.sh | sh 

 

2.오라클 클라우드 웹설정 페이지에서

기본 VNIC > 서브넷에서 8080 포트 열어주기

 

3.방화벽 해지 

iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT

 

vi ./.config/code-server/config.yaml

 

bind-addr 하고 비밀번호 변경

크롬이나 브라우저에서 

오라클 클라우드 공용 IP 주소 : 8080 으로 접근하면 

아래 처럼 비번 입력 화면 나옴 비번 넣으면 웹에서 클라우스 소스 수정 가능 

 

 

반응형
반응형
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.12.0-Linux-x86_64.sh

 

chmod -R 755 <다운로드받은 미니콘다 파일명>
권한 설정은 위 명령어를 통해 진행한다. 다운로드 받은 명을 확인 하고 뒤에 붙여 명령 실행

 

 

./Miniconda3-latest-Linux-x86_64.sh

실행

 

conda 실행 오류나면 PATH conda bin 폴더를 연결한다.

 

 zsh 적용 

conda init zsh

 

source ~/.zshrc

 

conda create -n <프로젝트명> python=<파이썬버전명시>
conda create -n testProject python=3.9

 

가상환경 이동 

conda activate testProject

 

 

pip를 통해 장고를 설치해 보자. pip install django

 

pip freeze 

 라이브러리 설치 확인

 

 

 

 

 

 

 

 

 

 

반응형

+ Recent posts