사이드 프로젝트

맥 유저의 초심자용 개발환경 세팅

기획자E 2024. 8. 17. 13:29
728x90

글을 안 쓴 지 오래된 거 같다

TMI로 내 근황을 알리자면 갑자기 팀장이 됐다가 집을 이사했다가 회사를 그만뒀다가 얼마 전에 이직을 했다

 

 


 

 

원래 전에는 집에서 작업하고 회사 컴퓨터에서 git으로 받아 배포를 했었다

 

끄적끄적 코드 좀 만지는 건 가능한데 뭔가 서버 같은 건 너무 어려워 보여서

회사 동료가 세팅해 준 대로 윈도우에서 winscp를 이용해 배포했었다 (고마워 ㅌㄷ)

 

그런데 갑자기 퇴사를 했고 지금 회사에는 내 컴퓨터에 개발환경을 세팅해 줄 친절한 개발자가 없으니

집에 있는 작고 귀여운 나의 맥북에어에게 직접 세팅해줘야 한다

 

(참고로 프라이빗 키까지 잃어버려서 더욱 힘든 길이었다... 다들 키 잘들 챙기시길... + 실수로 돈 주고 산 도메인도 날림)

 

 


 

서론이 너무 길어서 이쯤에서 한 번 말하자면
나 같은 개발 찍먹러(?)들에게 조금이나마 도움이 됐으면 해서 이 글을 적는다

개발자들이 보기에는 조금 우스울 수도 있지만 나 같은 사람들은 어디 물어볼 데도 없으니...

 

 

개발환경 관련 열심히 검색해 봐도 도대체 무슨 소린지 모르겠어서

구글링 하며 이것저것 무작정 따라 하다 보니 결국 넘어서는 안 될 강을 건너버렸다

 

구글링으로 짜깁기해서 설치를 하다 보니 intellij, tomcat, java, eclips 별의별 걸 다 깔았다;;

(ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 찐 개발자들이 보면 웃고 갈듯;; 몰라서 그랬습니다..)

 

이래서 될 일이 아니다 싶어서 세팅 다 뒤집어엎고 처음부터 차근차근 공부하기로 했다

 

 

앱 개발할 것도 아니고 간단한 html, css, javascript, sql 만 배포하면 된다 >

괜히 쓰지도 않을 프로그램을 설치할 필요는 없을 거 같다 >

Linux 환경에서 Nginx와 Node.js를 쓰자 >

지금 백엔드 안 쓸거니 Node.js는 나중에!

 

 

 

 

 

이렇게 봐도 나는 잘 모르겠긴 하지만 지피티가 좋다고 했음..

 

'

 


 

 

1. 인스턴스 생성

 

ㅌㄷ가 AWS - AMI를 Amazon Linux로 세팅해 줬었는데

초보자에게는 사용자와 관련 게시물이 많은 Ubuntu가 더 나을 거 같아서 다 뒤집어엎는 김에

인스턴스도 Ubuntu로 새로 개설했다

(개인 포폴용으로 AWS 쓰면 월에 사용료가 1,000원정도 나온다 < 혹시 궁금하실까 봐)

 

인스턴스는 관련 게시물이 많으니 생성은 아래 글 참고!

(매번 터미널에서 번거롭게 연결하기 귀찮으니 putty 사용하시는 걸 추천)

 

https://king-ja.tistory.com/99

 

AWS EC2에 (Linux 기반)Ubuntu 20.04LTS 인스턴스 생성하기

1. AWS란? 1) AWS란? aws는 Amazon Web Services의 약자로, 아마존닷컴에서 운영하는 Cloud Computing Platform이다. 다른 웹 사이트나 클라이언트측 응용 프로그램에 대해 온라인 서비스를 제공하고 있습니다. 2)

king-ja.tistory.com

 

 

2. Nginx 적용

 

이것도 워낙 관련 게시물이 많으니.. 흐름 따라 위의 선생님 글 참고!

 

https://king-ja.tistory.com/100

 

AWS EC2 인스턴스에 Nginx 적용하기

1. Nginx란? Nginx는 정적 컨텐츠를 제공해주는 프록시 서버입니다. apache의 강력한 라이벌이며, 현재는 점유율이 앞서고 있습니다. 가볍고 높은 성능을 가진 웹 서버 (Web Server) 이다. HTTP Server로 활용

king-ja.tistory.com

 

 

 

여기까지만 따라오면 이제 퍼블릭 IPv4 DNS로 내 사이트를 확인할 수 있다!

비록 Nginx의 인사뿐이지만 ㅎ

 

 

 

 

 

3. Ubuntu 서버에 Nginx 구축

 

 

너무 쉽게 간다 했더니... 3시간을 잡아먹어 버리는...

 

구글링 하면 나오는 서버배포는 대부분  나에게는 너무 오버스택인 거 같아서

nginx html 배포로 접근했고 그중에서 가장 쉬워 보였던 건 아래!

 

https://yoseph0310.tistory.com/118

 

[Nginx] Ubuntu Server에 Nginx 서버 구축하기

글을 시작하기에 앞서 장고, 스프링을 AWS 서버에 수동으로 배포한 글과 마찬가지로 서버를 구축하고 배포하는 방법은 다양한 방법이 존재합니다. 제가 경험한 것을 바탕으로 작성된 글이며 이

yoseph0310.tistory.com

 

쉬워 보였지만 역시나 엄청나게 꼬여대는 통에 3시간을 잡아먹었다 ㅠ

 

일단 이 방법을 따라 하려면 먼저 로컬에 있는 파일을 Ubuntu 서버에 업데이트해둬야 한다

너무 초보적인 부분이라서 짚지 않으셨겠지만 왕초보는 이 부분에서부터 눈물...

 

 

나는 이 코드를 사용 (파일을 옮길 때는 로컬 터미널에서 해야 한다!)

scp -i [로컬에 키 파일이 들어있는 경로와 키] [로컬에 업데이트할 파일이 들어있는 경로와 파일] [연동할 서버 퍼블릭 IPv4 DNS]

scp - i /Users/0000/Downloads/0000.pem /Users/0000/Desktop/study/study.html
ubuntu@ec0-00-00-00-00.ap-northeast-2.compute.amazonaws.com:/home/ubuntu/temp/

 

 

위 게시물에는 안 나와있는데 나는 conf 파일을 수정할 때 ip주소를 안 넣으니 계속 400 오류가 났다

listen과 location 사이에 server_name으로 퍼블릭 IPv4 DNS를 추가하니 오류 해결

server {
     listen 80;

***server_name ec0-00-00-00-00.ap-northeast-2.compute.amazonaws.com;***

     location / {
         root /home/ubuntu/temp;
         index study.html;
         try_files $uri /study.html =404;
    }
}

 

귀여운 내 배포

 

 

 

4. Filezilla 파일 업로드

 

 

매번 html 파일 하나만 올릴 것도 아니니 우리는 파일째로 업데이트할 방법이 필요하다

뭔가 복잡한 게 있을 거 같지만 간단하다

그냥 알집으로 압축해서 아까 html 올렸던 ubuntu 서버 속 폴더에 업데이트하면 된다

 

근데 또 매번 터미널에서 코드 치기는 힘드니까 firezilla를 사용하시면 되겠다

개인적으로 이 전에 사용하던 WinSCP와 동일한 방식이라 아주 친근했다 ㅎ

 

 

사용 방법은 아래글 참고!

https://joytk.tistory.com/61

 

[AWS EC2] 인스턴스 파일 전송 방법 (FTP, FTPS FileZilla 사용)

EC2 에서 SSH 연결로 다 해결 될 때도 있지만, 필요한 파일들을 인스턴스 서버로 옮겨야할 때도 있다. 여러가지 툴이 있겠지만, 예전에 파일질라(FileZilla)를 사용한 경험이 있어서 사용해본 것으로

joytk.tistory.com

 

 

 

이로써 도메인 날려먹으면서 잃어버렸던 나의 포트폴리오를 다시 살려낼 수 있었다 ㅠ

이제 집에서도 편하게 개발 > 배포할 수 있으니 맘이 놓인다...

 

728x90