더보기현재 내 IP 주소 설정 상태 웹 서버 : 10.10.10.10WAS 서버 : 10.10.10.40DB 서버 : 10.10.10.30 MariaDBDB 이름 : 3tier유저 이름 : psy비밀번호 : qwer1234DB 서버MariaDB 설치1. 관리자 로그인sudo su - root 2. IP 설정 및 적용vi /etc/netplan/00-installer-config.yaml 3. 레포지토리 목록 갱신apt update 4. MariaDB 설치apt install -y mariadb-server 5. MariaDB 설정vi /etc/mysql/mariadb.conf.d/50-server.cnf 27번 라인에 있는 바인드 주소 설정을 다음처럼 변경bind-address = 0.0.0.0💡 바인..
CS
시스템 아키텍처아키텍처 : 서버들을 어떻게 구성하고 서버들 간의 관계를 설명하는 설계도 3계층 아키텍처 (3 tier 아키텍처)웹 서버 (프론트엔드)웹 서비스를 제공하는 프로그램서버 컴퓨터에 저장된 파일을 클라이언트가 다운로드할 수 있게 해준다.웹 서버에 있던 코드는 웹 서버에서 실행되지 않고, 그냥 웹으로 보내기만 함웹 어플리케이션 서버 (WAS, 백엔드)웹으로 동작하긴 하는데(http 프로토콜을 사용하는데), 어플리케이션 서버다.서버 컴퓨터에 저장된 파일을 클라이언트가 요청하면 파일을 실행하고 실행된 결과만 보내준다.DB 서버 웹 클라이언트(웹 브라우저)URL을 이용해서 서버에게 특정 파일을 달라고 요청하고 서버로부터 받은 파일을 화면에 보여준다. 프론트와 백을 나누는 기준: 누구의 컴퓨터에서 코드..
HTTP 통신 과정웹에서 HTTP 요청 응답 확인하려면 F12 (개발자 도구) 눌러서 확인하면 된다.요청 프로토콜요청 헤더[요청 메소드] [공백] [요청 URI] [공백] [HTTP 버전]요청 방식GET : 클라이언트가 서버로부터 문서를 읽어오려 할 때POST : 클라이언트가 서버에게 어떤 정보를 전송할 때PUT : 클라이언트가 서버에 특정 자원을 업로드 할 때 URI의 구조scheme ://host[:port][/path][?query] ex) http ://IP 주소 :포트 /폴더이름 /파일 이름 ftp ://IP 주소 :포트 /파일 이름 응답 프로토콜응답 프로토콜 구조[HTTP 버전] [공백] [상태 코드] [공백] [상태 문구] 상태 코드 종류200 : 클라이언트의 요청이 ..
DNS 서버: 도메인 이름을 IP 주소로, IP 주소를 도메인 이름으로 변환해주는 서비스를 제공하는 프로그램 전세계 도메인이 엄청 많기 때문에 서버를 여러 개로 나눈다.루트 DNS 서버 : 전 세계 13대최상위 레벨 서버 : 모든 국가의 상위 레벨 서버 (com, org, net, kr, uk ...)책임 서버 : 인터넷을 통해 서비스를 제공하는 모든 기관이 가지는 서버 (naver, google, nate 등등)로컬 서버 : 사용자에게 직접적으로 도메인에 대한 질의를 받고 그에 대한 응답을 해주는 서버'도메인을 산다' 라는 건? => 너네 DNS 서버에 내 주소 등록해줘! 포트 포워딩특정 포트 번호를 통해 공유기한테 오면 (공유기의 외부 IP 주소로 오면)가상 머신 IP 주소의 해당 포트(저장해놓은 I..
IP 주소0.0.0.0 ~ 255.255.255.255=00000000.00000000.00000000.00000000 ~11111111.11111111.11111111.11111111 왜 255까지일까?= 한 자리 당 8비트이기 때문 (11111111)서브넷 마스크IP 주소의 앞쪽은 네트워크를 구분하는 주소 = LAN을 구분하는 주소LAN 안의 컴퓨터들의 IP 주소가 어디까지 똑같아야 하는지 지정하는 주소 앞쪽이라고 해서 정확히 절반이 아니다.앞쪽, 뒤쪽 구분해주는 게 바로 서브넷 마스크!서브넷 마스크는 1로 시작해서 0으로 끝난다.같은 네트워크 사용하려면 서브넷 마스크 자릿수까지 똑같아야 함뒤쪽이 커지면 하나의 네트워크에 연결할 수 있는 컴퓨터가 많아짐255.255.255.0 == /24 (1의 개수..
vi 편집기vi [파일 이름] : 파일 열기 (파일 없을 시 새로운 파일 생성) vi에는 두 가지의 모드가 있다.명령어를 입력하는 모드텍스트를 입력하는 모드 esc를 여러 번 눌러서 입력 모드에서 벗어나서 명령 모드로 바꿔야 함명령어 입력 모드저장, 종료:w 저장:q vi 종료:wq 저장 후 종료:q! 강제 종료:wq! 저장 후 강제 종료라인 넘버:set nu 라인 넘버 표시:set nonu 라인 넘버 표시 안 함검색/[내용] : 검색 (n : 다음 검색, N : 이전 검색) 텍스트 입력 모드 (편집 모드)i : 커서 왼쪽에 문자 추가a : 커서 오른쪽에 문자 추가 커서 이동G : 가장 마지막 줄로 이동gg : 첫 번째 줄로 이동[n]G : n번째 줄로 이동$ : 커서가 위치한 줄의 맨 끝으로 이동0 :..
네트워크란?: 데이터를 공유할 수 있게 하는 디지털 전기 통신망의 하나: 여러 개의 시스템들이 연결되어 있는 하나의 통신망 인터넷이란?: 여러가지 데이터를 공유하도록 구성된, 세상에서 가장 큰 전세계를 연결하는 네트워크- 웹(www)은 인터넷과 다름! www는 인터넷을 통해 웹과 관련된 데이터를 공유하는 것네트워크의 분류LAN (Local Area Network)가까운 지역을 하나로 묶어둔 네트워크같은 PC방, 같은 공유기WAN (Wide Area Network)멀리 있는 지역을 한데 묶은 네트워크여러 개의 LAN을 다시 하나로 묶은 것네트워크의 통신 방식유니 캐스트 - 특정 대상이랑만 1:1로 통신멀티 캐스트 - 특정 다수와 1:N으로 통신브로드 캐스트 - 네트워크에 있는 모든 대상과 통신강의실이 하나..
폴더 관련 명령어현재 작업 디렉토리 확인pwd 작업 디렉토리 변경cd [디렉토리 경로] 디렉토리 내용 확인 ls# 숨긴 파일 표시ls -a# 자세히 표시ls -l# 숨긴 파일 + 자세히 표시ls -al 디렉토리 생성mkdir [디렉토리 경로] 디렉토리 제거rmdir [디렉토리 경로] 디렉토리 이름 변경mv [변경할 폴더] [변경할 이름] 디렉토리 이동mv [이동할 폴더] [이동할 위치] 디렉토리 복사- 폴더는 -r 옵션을 붙여줘야 한다.cp -r [복사할 폴더] [복사할 위치] 파일 관련 명령어내용에 아무것도 없는 빈 파일을 생성touch [생성할 파일] 빈 파일이기 때문에 cat으로 출력해봐도 아무것도 나오지 않는다. 파일을 제거하는 명령어rm [삭제할 파일] 파일 이름 변경mv [변경할 파일] [변..
절대 경로와 상대 경로절대 경로루트 디렉터리부터 해당 파일에 이르는 경로모든 경로를 다 입력하는 방식상대 경로현재 디렉터리의 위치를 기준으로 표기하는 경로. : 현재 위치를 나타냄ex) /usr/local 에서 /usr/local/share/man 으로 이동하고 싶을 때절대 경로 : cd /usr/local/share/man상대 경로 : cd ./share/man 한 단계 상위 경로로 이동하고 싶을 때 : cd ..한 단계 더 이동하려면? : cd ../.. / : 루트 디렉터리/root : 루트 사용자의 내 문서 (사용자 폴더)root user : 모든 권한을 가지고 있는 관리자 계정디렉터리 이동pwd : 현재 디렉터리 경로 출력cd [디렉터리 경로] : 현재 디렉터리 변경 (디렉터리 이동)뒤에 경로 ..
리눅스란?윈도우와 같은 '운영체제' 리눅스 구성 요소H/W : cpu, hdd, RAM, I/O커널 : 운영체제 (linux, windows)쉘 : 탐색기 (cmdd, powershell, bash, zzh)명령어 : 프로그램리눅스 환경 준비 - 가상화 소프트웨어이미 우리가 사용 중인 컴퓨터에는 윈도우라는 운영체제가 깔려있기 때문에, 가상 컴퓨터에 리눅스 환경을 구축해야 한다.VMware : 가상 머신을 만들어주는 프로그램IDC : 인터넷 데이터 센터 => 남의 컴퓨터를 쓰는 것클라우드 : 남의 가상 머신 컴퓨터를 쓰는 것 컴퓨터의 주요 구성 요소에는 CPU, 메모리, 하드 디스크, I/O 가 있다.가상 컴퓨터를 만들려면 내 컴퓨터의 구성 요소들을 할당해줘야 한다. 예를 들어 현재 내 컴퓨터에CPU - ..