목록전체 글 (45)
su-tudy 님의 블로그
📌 실전 서버 배포 흐름 맛보기 1-8편까지는 내 PC 위에 VirtualBox로 만든 가상환경에서 실습했다. 외부에서 접속할 수 없는 완전한 로컬 환경이었다. 이번 편은 그다음 단계로, 실제 인터넷에서 접속 가능한 서버에 서비스를 올리는 흐름을 맛보기로 살펴보는 내용이다. 클라우드 서버를 빌려 공인 IP를 얻고, Docker로 서비스를 실행하고, 도메인을 연결해 서비스가 외부에서 접속되기까지의 전체 과정을 가볍게 알아본다.※ 이 편은 직접 실습한 내용이 아니며, 수업 내용을 바탕으로 실제 서버 배포의 흐름과 개념을 중심으로 정리했다. 📌 미리 알아두면 좋은 개념 ❑ 로컬 환경 VS 클라우드 환경 1-8편 (로컬) 9편 (클라우드) VirtualBox 가상환경실제 클라우드 서버공인 ..
𖤐 SQL 심화 개념 맛보기 마지막 편에서는 서브쿼리, 집합 연산자, 인덱스, 정규화, ERD처럼 한 단계 더 나아간 개념들을 정리한다. 이번 편에서는 각 개념의 핵심과 사용 목적 위주로, 전체 흐름을 가볍게 맛보는 느낌으로 살펴본다. 𖤐 정리 노트 ✧ 서브쿼리 (Subquery)쿼리 안에 또 다른 쿼리를 넣는 것이다. 괄호 안의 쿼리가 먼저 실행되고 그 결과를 바깥 쿼리에서 사용한다.-- 평균 급여보다 높은 직원 조회SELECT name, salaryFROM employeesWHERE salary > (SELECT AVG(salary) FROM employees); ▸ EXISTS서브쿼리의 결과가 한 건이라도 존재하면 TRUE를 반환한다.-- 주문이 한 건이라도 있는 유저만 조회SELECT name..
📌 서버를 개발 환경으로 확장하기 지금까지 Nginx 웹 서버를 구축하고 MariaDB를 설치했다. 그런데 HTML 파일만으로는 DB에서 데이터를 꺼내오거나 동적인 페이지를 만들 수 없다. PHP를 Nginx와 연동하면 서버에서 코드를 실행해 동적인 웹 페이지를 제공할 수 있다.EditPlus는 FTP로 서버에 직접 연결해 파일을 편집하는 툴이다. PuTTY에서 vim을 쓰는 대신 로컬 편집기에서 코드를 작성하고 저장하면 서버에 바로 반영된다.마지막으로 Docker는 애플리케이션을 컨테이너 단위로 격리해 실행하는 기술이다. 6편에서 직접 설치했던 MariaDB를 Docker 컨테이너로 바꿔 실행해 보는 것으로 이 시리즈를 마무리한다. PHP 설치→Nginx 연동→EditPlus 연결→PHP 페이지 테스..
📌 협업을 위한 파일 업로드 환경 만들기 웹 서버에 파일을 올리려면 매번 PuTTY 명령어를 써야 한다. 하지만 리눅스를 모르는 협업자가 파일을 업로드해야 하는 상황이라면? FTP 서버를 구축해 두면 상대방은 FileZilla 만 열어서 드래그&드롭으로 파일을 올릴 수 있다.또한 Pure-FTPd와 MariaDB를 연동하면 사용자마다 접근 가능한 폴더를 다르게 지정할 수 있다. 예를 들어 site1 담당자는 /web/site1에만, site2 담당자는 /web/site2에만 접근하도록 권한을 분리할 수 있다. FileZilla STFP 연결→Pure-FTPd 설치→MariaDB 연동→FTP 접속 확인→호스트 전용 어댑터 📌 미리 알아두면 좋은 개념 ❑ 대표적인 원격 프로토콜 3가지HTTPSSH / S..
📌 서비스 운영을 위한 데이터베이스 구축 웹 서비스는 대부분 데이터베이스와 함께 동작한다. 회원 정보, 게시글, 상품 목록 등 모든 데이터를 저장하고 꺼내오는 역할을 DB가 담당한다. 이번 편에서 MariaDB를 먼저 구축해 두는 이유는 다음 편(FTP 서버 구축)에서 Pure-FTPd가 MariaDB와 연동되기 때문이다. DB가 먼저 세팅되어 있어야 FTP 사용자 정보를 DB로 관리할 수 있다. MariaDB 설치→초기 설정→.계정 생성→SQLYog 연결 📌 미리 알아두면 좋은 개념 ❑ MariaDB란? MariaDB : 무료 오픈소스 관계형 DB(RDBMS). MySQL에서 파생되어 거의 동일한 문법을 사용하며, MySQL을 직접 대체할 수 있다.RDBMS : 관계형 데이터베이스 관리 시스템. 데..
📌 실제 서비스처럼 웹 환경 구성하기 웹 서버는 클라이언트(웹 브라우저)가 HTTP 요청을 보내면 HTML 페이지나 파일을 응답해 주는 프로그램이다. 내 PC의 자원을 외부와 공유하는 것으로, 서버 운영의 핵심 역할을 담당한다.하나의 서버에서 여러 서비스를 운영하려면 Virtual Hosting이 필요하다. 포트 번호나 도메인을 다르게 설정해 하나의 서버에서 여러 개의 독립된 웹사이트를 제공할 수 있다. nginx 설치→서비스 시작 & 자동화→기본 웹루트 변경→Virtual Hosting 설정→포트별 접속 확인 📌 미리 알아두면 좋은 개념들 ❑ 패키지 설치 방법 비교 직접 빌드 패키지 매니저 (yum) → 실습에서 사용 소스코드를 직접 받아 컴파일하는 방식. 유연하지만 비개발자에게 어렵고 의존성 ..
📌 서버 접속을 막는 보안 기능 이해하기 다음 편에서 Nginx 웹 서버를 설치하고 브라우저로 접속해 보는 과정을 다루게 되는데, 포트포워딩을 다 해놔도 접속이 안 되는 상황이 생길 것이다. 이유는 두 가지다. 방화벽이 22번 포트(SSH) 이외의 모든 포트를 막고 있고, SELinux가 외부 프로세스의 시스템 접근을 차단하기 때문이다.Nginx 설치 전에 이 두 가지를 먼저 정리해두지 않으면 나중에 접속이 안 되는 원인을 찾느라 헤매게 된다. 이번 편에서는 방화벽을 해제하고 SELinux를 비활성화하는 방법을 다룬다. 방화벽 개념 이해→firewalld 해제→SELinux 개념 이해→SELinux 비활성화 📌 미리 알아두면 좋은 개념들 ❑ 네트워크 관련 용어방화벽 (Firewall) : 원치 않는 ..
📌 리눅스에서 권한 관리가 중요한 이유 리눅스는 여러 사용자가 동시에 사용하는 멀티유저 시스템이다. 그래서 모든 파일과 명령어에 "누가 무엇을 할 수 있는가"를 명확히 정해두는 권한 시스템이 핵심이다.1편에서 root 대신 일반 계정을 만들었는데, 그 계정으로 관리자 명령을 쓰려면 매번 su로 root 전환을 해야 했다. 이번 편은 sudo 권한을 부여해 이 번거로움을 해결하고, chmod와 chown으로 파일 권한과 소유권을 직접 제어하는 방법을 배우는 과정이다. sudo 권한 부여→파일 권한 구조 이해→권한 변경(chmod)→소유권 변경(chown) 📌 미리 알아두면 좋은 개념들 ❑ sudo란?sudo는 "superuser do"의 약자로, 일반 계정이 명령어 단위로 관리자(root) 권한을 빌려..