티스토리 뷰
# 내PC 서버와 웹 호스팅 서버의 차이 / 네이버나 구글 웹사이트는 어떻게 서버를 구축하나 / 도메인 연결 의미
eblessyou 2026. 5. 11. 12:12
내 질문:
브라우저에 http://127.0.0.1/index.php 검색했을 때, 내가 만든 웹사이트가 검색이 되는데,
지금 같이 교육을 들은 다른 수강생분들도 똑같은 주소로 검색을 했을 때 자기가 만든 웹사이트가 뜰 거란 말이야.
이건 내 서버에서만 켜지는 거야? (지금 아파치, mysql, php를 내pc에 설치해둔 상태.)
내 웹사이트를 어디서든 들어갈 수 있게 하려면 어떻게 해야 해?
맞아요. http://127.0.0.1/index.php는 내 PC 안에서만 접속되는 주소예요.
127.0.0.1 또는 localhost는 “지금 이 컴퓨터 자신”이라는 뜻이라서,
- 내 PC에서 접속하면 → 내 PC의 Apache 웹사이트
- 다른 수강생 PC에서 접속하면 → 그 사람 PC의 Apache 웹사이트
- 휴대폰/외부 컴퓨터에서 접속하면 → 내 사이트가 안 뜸
즉 지금 사이트는 내 PC를 서버처럼 켜둔 상태에서 내 PC 안에서만 실행되는 로컬 서버입니다.
내 웹사이트를 어디서든 접속 가능하게 하려면 보통 3가지 방법이 있어요.
1. 호스팅 서버에 올리기 — 가장 추천
카페24, 닷홈, 가비아, AWS, Lightsail, Vultr 같은 곳에 서버/웹호스팅을 빌려서 파일과 DB를 올리는 방식이에요.
PHP/MySQL 프로젝트라면 초보자는 보통:
- 닷홈 무료호스팅
- 카페24 웹호스팅
- 가비아/카페24 PHP 호스팅
이런 게 편해요.
해야 할 일은 대략:
- 호스팅 신청
- 내 PHP 파일 업로드
- MySQL DB 생성
- 내 PC DB를 export 해서 서버 DB에 import
- dbcon.php의 DB 접속 정보 수정
- 도메인 연결
그러면 이런 주소로 접속 가능해져요:
https://내도메인.com
또는
https://아이디.dothome.co.kr
2. 내 PC를 진짜 서버로 공개하기 — 비추천
내 PC의 Apache를 외부에 공개할 수도 있어요.
필요한 것:
- 공유기 포트포워딩
- 방화벽 설정
- 공인 IP 또는 DDNS
- Apache 보안 설정
- MySQL 외부 접근 차단
- HTTPS 인증서 설정
하지만 내 PC가 꺼지면 사이트도 꺼지고, 보안 위험도 커서 수업/포트폴리오용으로는 별로 추천하지 않아요.
3. 임시 공개용 터널 사용
잠깐 다른 사람에게 보여주고 싶을 때는 ngrok, Cloudflare Tunnel 같은 걸 쓸 수 있어요.
예를 들어 내 PC의 Apache를 임시 주소로 열어주는 방식이에요.
https://랜덤주소.ngrok-free.app
다만 이건 테스트/시연용이고, 정식 운영용은 아니에요.
결론
지금 상태는:
http://127.0.0.1/index.php
= 내 PC 전용 주소
어디서든 접속 가능하게 하려면:
호스팅 서버에 PHP 파일 + MySQL DB를 올리기
가 가장 안전하고 일반적인 방법이에요.
님 프로젝트는 PHP + MySQL 구조라서 닷홈 무료호스팅이나 카페24 웹호스팅으로 올리는 방식이 제일 무난해요.
내 질문:
그럼 유명한 네이버나 구글 같은 웹사이트도 호스팅으로 관리를 하고 있는 거야?
네, 원리는 같아요.
네이버·구글도 결국은 서버 컴퓨터들 위에서 돌아가는 웹사이트예요.
다만 차이가 엄청 큽니다.
지금 님 상황
현재는:
내 PC 1대
+ Apache
+ PHP
+ MySQL
이렇게 내 컴퓨터를 작은 서버처럼 쓰고 있는 상태예요.
즉:
내 컴퓨터 = 웹서버
네이버/구글은 어떻게 다를까?
네이버나 구글도 기본 개념은 같지만 규모가 엄청 커요.
1. 서버가 수천~수십만 대
구글은 전 세계 데이터센터에 서버가 엄청 많아요.
예를 들면:
- 한국 사용자 → 한국 근처 서버
- 미국 사용자 → 미국 서버
이렇게 자동 연결됨.
즉:
웹사이트 1개
=
수많은 서버 컴퓨터들의 집합
2. 직접 데이터센터 운영
보통 개인은:
호스팅 업체 서버 빌림
하지만 네이버/구글은:
자기들이 서버 건물 자체를 운영
합니다.
즉:
- 서버 컴퓨터
- 네트워크
- 전기
- 냉각 시스템
- 보안
- 인터넷 회선
전부 직접 관리해요.
3. 웹호스팅의 초거대 버전이라고 보면 됨
님이 웹호스팅 쓰면:
호스팅 회사 서버 일부를 빌려씀
구글은:
자기 서버 수십만 대를 직접 운영
하는 차이예요.
결국 구조는 똑같음
사실 웹사이트 구조는 다 비슷해요.
브라우저가:
https://google.com
접속 →
서버가 HTML/PHP/데이터 응답 →
브라우저가 화면 출력
이 흐름 자체는 님 프로젝트랑 원리가 같아요.
님 프로젝트도 실제 배포 가능
지금 만든 PHP SNS 프로젝트도:
- 웹호스팅 구매
- 파일 업로드
- DB 연결
- 도메인 연결
하면 진짜 서비스처럼 운영 가능해요.
즉:
내 로컬 웹사이트
→
인터넷 공개 웹사이트
로 바뀌는 거예요.
비유하면
지금 상태
내 방에서 혼자 게임 서버 돌리는 느낌
웹호스팅
PC방 서버실에 내 게임 올려두는 느낌
구글/네이버
자기들이 도시급 서버 시설 운영
정도로 보면 이해하기 쉬워요.
내 질문:
도메인 연결이라는 건 정확하게 어떤 의미야?
지금 원래는 닷홈 웹호스팅이랑 파일질라, phpmyadmin을 이용해서 웹사이트를 관리하고 있었거든.
근데 내pc에 서버를 구축한다고 해서 아파치랑 mysql, php를 설치한 건데,
결국엔 다른 사람들도 내 웹사이트를 보게 하려면 다시 원래 했던 방법으로 돌아가야 한다는 소리야?
네, 정확하게 이해하고 계세요.
지금 님이 헷갈리는 핵심은:
"내 PC 서버"와 "웹호스팅 서버"의 차이
예요.
1. 도메인 연결이란?
도메인은:
google.com
naver.com
mysns.com
같은 인터넷 주소예요.
원래 인터넷 서버는 사실 IP 주소로 동작해요.
예:
123.45.67.89
근데 이걸 사람이 외우기 어려우니까:
mysns.com
처럼 이름을 붙이는 거예요.
즉:
도메인 = 서버 IP에 붙이는 별명
이라고 보면 됩니다.
예를 들면
님 웹사이트가 어떤 서버에 올라가 있다고 해볼게요.
그 서버 IP가:
211.111.222.333
이면,
도메인 업체에서:
mysns.com → 211.111.222.333
이렇게 연결 설정을 해둬요.
그러면 사용자는:
https://mysns.com
만 입력해도 그 서버로 접속되는 거예요.
2. 그럼 지금 왜 내 PC에 Apache/MySQL/PHP를 설치했나?
이건 엄청 중요한 경험이에요.
님이 지금 한 건:
"웹서버가 어떻게 동작하는지 직접 구축"
한 거예요.
즉:
- Apache → 웹서버
- PHP → 서버 언어 실행기
- MySQL → 데이터 저장
- phpMyAdmin → DB 관리
이걸 내 PC 안에 직접 만든 거예요.
이걸 통해:
- PHP가 어떻게 실행되는지
- DB가 어떻게 연결되는지
- 서버가 어떻게 동작하는지
를 실제로 배우는 거예요.
3. 그런데 왜 다른 사람은 못 들어오나?
왜냐하면 지금은:
내 컴퓨터 안에서만 서버가 열려 있음
상태이기 때문이에요.
즉:
127.0.0.1
localhost
는 자기 자신만 보는 주소예요.
4. 결국 실제 공개하려면?
네. 사실상 다시 원래 방식으로 돌아가는 게 맞아요.
즉:
닷홈 웹호스팅
+
파일질라 업로드
+
phpMyAdmin DB관리
이게 일반적인 실제 운영 방식이에요.
5. 그럼 로컬 서버는 왜 쓰는 거야?
엄청 중요해요.
실무에서도 다 이렇게 해요.
개발 흐름
1단계 — 로컬 개발
내 PC에서 개발
localhost
127.0.0.1
여기서:
- 기능 개발
- CSS 수정
- DB 테스트
- 오류 수정
2단계 — 서버 업로드(배포)
완성되면:
웹호스팅 서버에 업로드
즉:
내 PC → 실제 서버
로 복사하는 거예요.
실무 개발자들도 똑같음
실제 회사도:
개발 서버(local)
개발자 PC
↓
테스트 서버(staging)
사내 테스트 서버
↓
운영 서버(production)
실제 사용자 접속 서버
이렇게 나눠서 작업해요.
님 상황으로 정리하면
지금 상태
내 PC 안에서만 실행
(연습/개발용)
예전 닷홈 방식
인터넷 공개 서버
(실제 서비스용)
그래서 가장 일반적인 흐름은
님처럼:
개발할 때
내 PC Apache + MySQL + PHP
사용
완성되면
닷홈에 업로드
이게 정석이에요.
지금 님이 배운 건 엄청 중요한 단계
많은 초보자는:
파일질라 업로드만 해봄
수준에서 끝나는데,
님은 지금:
- 웹서버 구조
- localhost 개념
- Apache 역할
- PHP 실행 구조
- MySQL 연결 구조
까지 이해하는 단계로 올라간 거예요.
이걸 이해하면 나중에:
- AWS
- Linux 서버
- Docker
- Nginx
- 클라우드 배포
배울 때 훨씬 유리해져요.
By. ChatGPT
'몸부림의 흔적' 카테고리의 다른 글
- Total
- Today
- Yesterday
- sql 핵심 개념
- 은구비공원
- $stmt
- vscode 자바 환경 구축
- 컴포즈 커피
- sql 문법
- 국제운전면허증 발급
- SQL 개념
- 구조체 개념 이해하기 쉽게
- 호이스팅 개념
- CRUD
- 자바 run 터미널 차이
- vscode java 환경 구축
- JavaScript
- php문법
- 구조체와 배열의 차이
- 자바 기초 문법 환경
- java 기초 문법 환경
- 로즈마리 물꽂이
- php
- 에어프라이어 청소
- PHP 문법
- 프리지아
- 나무 같은 사람이 되고 싶다
- 클래스랑 구조체 차이
- 클래스 개념
- 톰 더 글로우 시그니처
- 로즈마리
- 파충류 동반자
- php 개념
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
