. 웹 서버 인프라 환경
- 클라우드 플랫폼: Google Cloud Platform(GCP)
- 웹 서버 소프트웨어: Apache
- 인스턴스 유형: Google Compute Engine
- ssh 접속 방법 : Visual Studio Code
1. GCP (= Google Cloud Platform) VM 생성
Google Cloud Platform에서 가상 머신을 생성을 하는 과정이다.
계정을 만든 후 "콘솔로 이동" 선택
1. 프로젝트 생성 및 선택
2. 좌측 상단 메뉴에서 "ComputeEngine > VM인스턴스" 선택
3. 파란색 인스턴스 만들기 선택
1. vm 머신 이름 설정
2. 지역 설정
e2-micro 선택 (본인이 원하는 사양으로 설정)
(본인 환경에 맞게 설정)
1. 부팅 디스크 변경 버튼 누르기
2. 운영체제에 Ubuntu 설정
3. 버전 Ubuntu 20.04 LTS -x86/64, amd64 선택
2. SSH key 생성
Gcp ssh key를 생성하는 명령어 입니다.
ssh-keygen -t rsa -f [~/.ssh/KEY_FILENAME] -C [USERNAME] -b 2048
- -f ~/.ssh/KEY_FILENAME: 키 파일의 경로와 이름을 지정합니다.
- -C USERNAME: 키에 주석을 추가합니다. 주석은 키를 식별하는 데 사용되며, 일반적으로 사용자 이름 또는 이메일 주소를 입력합니다.
- -b 2048: 생성할 키의 비트 수를 지정합니다. 이 경우 2048 비트의 키를 생성합니다.
명령어를 실행하면, ~/.ssh 디렉토리에 공개키(public key)와 비밀키(private key)가 한 쌍으로 저장되게 됩니다.
저는 KEY_FILENAME을 newwebproject로 정한 결과, 비밀키인 newwebproject 파일과 공개키인 newwebproject.pub 파일이
.ssh 디렉토리에 자동으로 생성되었습니다.
참고로, ssh에 대한 공식 문서를 공유하겠습니다.
https://cloud.google.com/compute/docs/connect/create-ssh-keys?hl=ko
SSH 키 만들기 | Compute Engine 문서 | Google Cloud
SSH 키 생성 방법
cloud.google.com
3. SSH key 등록하기
ssh key를 생성하였으면, SSH 키를 사용하여 사용자가 안전하게 원격 서버에 접속할 수 서버측에 공개키를 등록하여야한다.
public key를 cat 명령어를 사용하여 복사한다.
$ cat ~/.shh/[NAME].pub
1. VM 인스턴스에 key 등록
VM 인스턴스에서 가상머신 이름 클릭
수정을 눌러서 스크롤을 내린 뒤, SSH 키에 public key 등록
2. 메타 데이터에 key 등록
1. Coumpute Engine > 메타데이터 선택
2. SSH KEYS 선택 후 공개키(public keys) 등록
4. vs code로 ssh 실행하기
vs code 내에서 확장자 Remote-SSH를 설치해준다.
2. F1 버튼을 눌러서 ssh 를 친 후, Config 버튼을 누른다.
3. 접속하려는 원격 서버 정보를 입력한다.
Host [alias]
HostName [ip addr]
User [account_name]
Port [port number]
IdentityFile [key location]
- Host [alias]: 이 호스트에 대한 별칭(alias)을 지정합니다. 이 별칭은 SSH 연결을 설정할 때 사용됩니다.
- HostName [ip addr]: SSH 연결을 수립할 호스트의 IP 주소나 도메인 이름을 지정합니다. GCP에 접속하여 vm 인스턴스 정보에서 외부 IP를 적어주면 됩니다.
- User [account_name]: SSH 연결 시 사용될 사용자 이름을 지정합니다. 보통 이는 원격 서버에 접속할 때 사용되는 계정 이름입니다.
- Port [port number]: SSH 연결에 사용할 포트 번호를 지정합니다. 기본적으로 SSH는 22번 포트를 사용하지만, 경우에 따라 다른 포트로 SSH 서버를 구성할 수 있습니다. 22번 포트일 경우 생략해도 됩니다.
- IdentityFile [key location]: SSH 연결 시 사용할 개인 키 파일의 경로를 지정합니다. 이 키 파일은 SSH 연결을 인증하는 데 사용됩니다.
예시 )
Host webproject
HostName 34.64.241.xxx
User cofla30105
IdentityFile /Users/gyuri/.ssh/newwebproject
이후 좌측 사이드바에 새로운 아이콘이 생기게 되고 연결된 ssh 가 뜬다.
5. ssh 서버에서 Apache 설치
Apahce 설치 명령어 입니다.
sudo apt update && sudo apt -y install apache2
Apache가 성공적으로 설치되면 운영체제가 자동으로 Apache 서버를 시작합니다.
Apache 실행 확인 명령어 입니다.
sudo systemctl status apache2
실행화면에 active(running)이라고 뜬다면 성공 !!!
https://cloud.google.com/compute/docs/tutorials/basic-webserver-apache?hl=ko
기본 Apache 웹 서버 실행 | Compute Engine 문서 | Google Cloud
의견 보내기 기본 Apache 웹 서버 실행 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 튜토리얼에서는 Compute Engine을 사용하여 가상 머신(VM) 인스턴스에서 A
cloud.google.com
6. Apache 서버에 웹 사이트 파일 업로드
저는 html을 Apache 서버에 올리는 실습을 진행하였습니다.
Apache의 경우에는 서버 url을 칠 경우 /var/www/html/index.html의 내용이 제일 먼저 렌더링 됩니다.
따라서 저는 vi 를 이용해서 index.html 내용을 고쳐주었습니다.
ssh 상에서 vi를 이용하여 파일을 생성하고 수정할 수 있지만,
로컬 상에 있는 파일들을 원격 서버에 올리고 싶을 때 이 포스팅을 참고 하시면 좋을 것 같습니다!!
2024.03.12 - [웹 프로그래밍] - scp : 로컬 환경에서 원격 서버로 파일 보내기 [ssh 인증키 관련 오류 해결]
scp : 로컬 환경에서 원격 서버로 파일 보내기 [ssh 인증키 관련 오류 해결]
오늘은 문제를 해결한 것을 포스팅해보겠습니다. 이 문제는 Google Cloud Platform(GCP)을 사용하여 가상 머신을 생성하고, 그 안에 Apache 웹 서버를 설치하고 구동하는 과정에서 로컬에서 웹 서버로 이
cse-gr.tistory.com
🔴그리고!! ssh 서버 상에서 vi를 사용하시거나 명령어를 사용하실 때 접근 권한이 막혀있는 경우가 많으니🔴
🔴Permission Error 가 나는 경우 "sudo" 옵션을 사용하시면 됩니다. !! 🔴
7. 배포한 홈페이지 접속
웹 서버가 가상 머신(VM)에서 호스팅되는 경우, 해당 VM의 외부 IP 주소를 사용하여 웹 사이트에 접속할 수 있습니다.
http://[VM의 외부 IP 주소]
https://가 아닌 http://로 쓰시는걸 유의하시길 바랍니다 !!
'웹 프로그래밍' 카테고리의 다른 글
[GCP] GCS(Google Cloud Storage) Bucket 버킷 사용하기 + spring boot 에서 사용하기 (0) | 2024.06.29 |
---|---|
[GCP] GCP VM에 Docker 이용해서 Spring Boot와 React 배포하기 (1) | 2024.06.02 |
[프론트] 리액트로 게시판 만들기 (0) | 2024.03.28 |
scp : 로컬 환경에서 원격 서버로 파일 보내기 [ssh 인증키 관련 오류 해결] (0) | 2024.03.12 |