Programming/BackEnd
-
SSH(Secure Shell)Programming/BackEnd 2020. 4. 27. 20:31
SSH (Secure Shell, 시큐어 셸) SSH는 네트워크 상의 다른 컴퓨터에 로그인 하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용프로그램 또는 그 프로토콜을 가리킨다. 기존의 텔넷, RSH 등 을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하게 통신할 수 있는 기능을 제공한다. 기본적으로 22번포트를 사용하고 SSH는 암호화 기법을 사용하기 때문에 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다. 데이터 전송 원격제어 주로 데이터통신과 원격제어 시 수행할 때 사용한다. 데이터 전송의 사례 - GITHUB(원격저장소) 소스코드를 원격저장소인 GITHUB에 푸시할 때 SSH 프로토콜을 이용해 파일들을 전송한다. 원격 제어의 사..
-
AWS EC2 인스턴스와 도메인 연결 이해Programming/BackEnd 2020. 4. 27. 20:25
방법은 아래 포스팅을 참고 했습니다.. https://cafe.naver.com/mobilenjoy/18763 ec2 도메인 연결 지난 회에서는 AWS의 Elastic IP(이하 EIP)를 통해 고정 IP 주소를 획득하는... cafe.naver.com 아마존의 AWS EC2 인스턴스를 사용해서 ubuntu linux 머신을 할당받았고, 그 위에 nginx 웹서버를 구동 했다. 가상머신을 할당받으면 내가 물리적인PC를 가지고 있지 않아도 활용하는 자원만큼 비용을 지불하면 된다. 인스턴스를 할당받으면 아마존에서 할당해준 public IP를 통해 내 nginx서버에 접속할 수 있고 SSH로도 접속하여 작업이 가능해진다. 나는 가비아에서 550원에 도메인을 구매하였다.ㅎㅎ신기함 ( haeseong.shop )..
-
AWS ubuntu에 PHP7.2와 nginx 연동하기(php-fpm설치해서 php파일 해석)Programming/BackEnd 2020. 4. 27. 01:27
php만 설치하고 .php파일을 요청하면 nginx서버가 php파일을 해석하지 못하여 php파일이 다운로드 받아진다. 따라서 php-fpm을 설치하고 설정파일을 수정하여 php파일을 해석할 수 있도록 해야 한다. php 웹 프로그래밍을 위해서는 가장 중요한 것이 웹서버가 .php 파일을 해석할 수 있어야 하는 것이다. 이전 단계에서 설치했던 nginx는 아파치와는 다르게 html 같은 기본적인 마크업 언어의 파일만 해석할 수 있을 뿐 php파일은 해석하지 못하는데요. 이를위해서 nginx + php 조합에서는 php-fpm 이란 것이 대신 해석해준다고 합니다. 그래서 이번에 설치할 것은 php뿐만이 아닌 php-fpm 이라는 것을 설치해야하는데요. php-fpm 설치만으로도 php가 설치됩니다. http..
-
AWS EC2 / WinSCP / Putty / nginx,PHP,MySQLProgramming/BackEnd 2020. 4. 26. 02:43
AWS AWS란 Amazon에서 클라우드 환경을 구축하여 가상컴퓨터를 대여해주는 서비스이다. 서버를 구동하기 위해서는 여러 물리적 자원과 시간, 비용이 필요하게 되는데 AWS를 이용하면 이 모든 절차를 생략할 수 있다. 아마존에서 구축해놓은 가상컴퓨터의 일부를 빌려서 내 컴퓨터처럼 사용하는 것이다. AWS EC2 인스턴스를 생성하면 하나의 IP주소를 할당받는다. 인스턴스에 연결하기 전에 관리자만 key를 사용할 수 있도록 KeyPair 보안(권한) 설정을 해야 한다. 이후 관리자 모드로 cmd를 키고 aws 인스턴스 연결 가이드라인에 나오는 명령어를 치면 우분투에 접속할 수 있게 된다. Amazon EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있고, 컴퓨팅 리소스에..
-
포트포워딩(PortFowarding)이란?Programming/BackEnd 2020. 4. 25. 18:47
포트포워딩이란 공유기에 여러 대의 컴퓨터가 연결되어 있을 때 어떤 컴퓨터에 요청이 들어왔는지 내부IP주소를 지정해주어 알려주는 것이라고 이해했다. 관련된 문서들을 참고하여 포트포워딩의 개념을 제대로 이해하고자 한다. 포트 포워딩이란 쉽게 설명 하자면 "컴퓨터에게 이쪽으로 가세요 ~" 라고 알려 주는 방식 입니다. 외부 즉 밖에서 집에 있는 컴퓨터에 접근을 하기 위해서는 아이피 주소라는것이 필요 합니다. 그런데 집에 있는 모든 컴퓨터 , 휴대폰 마다 아이피가 존재 하질 않습니다. 모든 전자기기에 아이피를 부여 하게 되면 아이피 가 부족 합니다 (현재 쓰고 있는것이 ipv4 이고 이러한 문제 때문에 IPv6 라는것이 나오긴 했습니다.) 가정에서 여러대의 노트북 , 컴퓨터와 휴대폰에서 인터넷을 하기 위해 사용..
-
HTTP 프로토콜의 이해Programming/BackEnd 2020. 4. 25. 18:23
HTTP(Hyper Text Transfer Protocol)의 이해 사람과 사람이 전화 통화를 하기 위해서도 몇 가지 규약이 필요합니다. 서로 알아들을 수 있는 말을 사용해야 하며, 한쪽이 말할 때 다른 쪽에서는 들어야 합니다. 또한, 전화 연결이 끊어지면 더 대화를 할 수가 없습니다. 웹 브라우저(클라이언트)와 웹 서버(서버) 간에도 서로 통신하기 위해서는 규약이 필요합니다. 이때 필요한 규약이 HTTP입니다. - HTTP : 웹 브라우저와 웹 서버 간에 서로 통신을 하기 위한 규약. 서버와 클라이언트(웹브라우저)가 데이터를 주고받기 위한 프로토콜 무상태(Stateless) 프로토콜 연결 -> 요청 -> 응답 -> 연결해제 응답을 한 후에는 연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 ..
-
1. 클라이언트 - 서버 구조의 이해Programming/BackEnd 2020. 4. 25. 18:18
클라이언트와 서버를 실제 세계에 존재하는 '식당'에 비유해서 이해 할 수 있다. 클라이언트는 손님, 서버는 서빙에 비유할 수 있다. 손님은 벨을 누르는 방식으로 서빙을 불러서 주문을 요청한다. 서빙은 손님에게 주문을 받고 주방장에게 주문음식이 들어왔다고 전달한다. 주방장은 냉장고에서 재료를 꺼내서 요리를 하고 서빙에게 완성된 요리를 전달한다. 이후 서빙은 요리를 손님에게 전달해주고 하나의 주문프로세스가 종료가 된다. 손님 클라이언트 AOS, IOS, Web, Game 등 홀서빙 서버 Apache, Express, Nginx 등 주방장 백엔드 언어 php , JSP, ASP 등 냉장고 DBMS MySqL, Oracle, MsSql 등 창고 DB 하드디스크 등 주문방식 프로토콜 Http, Https, FTP..
-
서버 개발 프레임워크Programming/BackEnd 2020. 4. 22. 12:02
MEAN (Mongo DB, Express JS, Angular, Node JS) 4가지 모두 오픈소스로 무료로 사용 가능하다. JavaScript를 기반으로 한다. -> 프론트엔드와 백엔드를 한가지 언어로 작업할 수 있다. Node.JS Node.js(노드 제이에스)는 JavaScript를 웹브라우저 밖에서 사용할 수 있게 해주는 프로그램 MEAN Stack에서는 이 node.js와 JavaScript로 웹사이트용 서버를 만듭니다. Express는 Node JS로 웹 서버를 구성시, 필요한 환경 설정 및 관리등을 담당하는 프레임워크이다. MongoDB Mongo DB(몽고 디비)는 대표적인 NoSQL, Non Relational Database 입니다. 고전적인 DB에서의 table, 행, 열의 개념이..