Bun은 Windows OS 환경을 지원하지 않지만, WSL(Windows Subsystem for Linux) 설치하여 사용이 가능

 

WSL (Windows SubSystem for Linux) 설치 방법은 아래 블로그에 잘 설명되어 있습니다

https://ingu627.github.io/tips/install_ubuntu/

 

윈도우10에서 리눅스(Linux) 설치하기 (Ubuntu on WSL2)

AWS에서 가상의 환경을 작업하던 중, 내 PC에서 구동해 보았으면 싶어서 설치를 진행해 보았습니다. 윈도우10 환경에서 wsl2를 설치해봅니다.

ingu627.github.io

WSL 설치 후, 계정 생성까지 완료가 되었다면 환경 구축에 필요한 패키지를 설치합니다

sudo apt install net-tools
sudo apt install unzip
sudo apt-get install wget ca-certificates

net-tools:  WSL 서버 주소를 확인하기 위해 (ifconfig)

unzip: bun 설치 시, 압축된 파일을 풀기 위해

ca-certificates:  https 사이트에 curl 명령어를 사용할 때, 오류가 나지 않기 위해

 

sudo su 명령어를 통해 관리자 권한을 획득하시면, sudo를 생략하고 패키지 설치가 가능합니다


Bun 설치하기

/home/<사용자 디렉토리> 로 이동하여 curl 명령어를 실행하였습니다. (다른 폴더에서 해도 됩니다)

그리고 해당 경로(.)에 대한 폴더 권한을 사용자(tpwls8122)에게 부여하였습니다.

폴더 권한을 부여하는 이유는 VScode Extension (Remote - WSL)을 이용해 프로그래밍을 할 때, (폴더, 파일 생성 시) Permission denied 문제를 해결하기 위함입니다. 

 

~ 경로는 현재 접속한 계정의 홈 디렉터리입니다. ( /home/tpwls8122 )

~/.bun/bin/bun에 성공적으로 설치되었다고 하고, 아래 ~/.bashrc 파일에 아래 명령어를 추가해주면 됩니다.

ls -al 명령어를 입력하면 숨겨진 파일들을 확인할 수 있습니다. vi .bashrc 명령어를 통해 파일을 수정합니다
vi 편집기를 사용하시는 분들은 방향키를 통해 커서를 이동하고 i 를 누른 뒤 입력해주세요. 두 줄의 export 명령어를 복사하셨다면 마우스 우클릭을 통해 붙여넣기가 가능합니다. esc 버튼을 누르고 :wq 입력하여 파일을 저장하고 편집기를 종료합니다
bun 명령어를 실행할 수 없습니다. 터미널 새로 열어줍니다
vscode 터미널을 설치하신 분이라면 + 버튼을 통해 새로운 터미널을 실행시켜주시고, 그렇지않다면 우분투 종료 후 재실행 해주시면 될 것 같습니다.

 

 

VSCode - Extension - Remote - WSL 설치

 

다음 장에서  VSCode 를 통해 서버를 실행 시켜보도록 하겠습니다


https://bun.sh/

 

Bun is a fast all-in-one JavaScript runtime

Bundle, transpile, install and run JavaScript & TypeScript projects – all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner and npm client built-in.

bun.sh

https://github.com/oven-sh/bun#unzip-is-required

 

GitHub - oven-sh/bun: Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one.

Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one. - GitHub - oven-sh/bun: Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all i...

github.com

https://www.youtube.com/watch?v=t9924eteb-4 

 

1. 데이터베이스 (MySQL 연결하기)

호스팅관리 - 기본관리 - 서비스 사용현황 - MySQL 외부 IP 접근설정

사용하는 컴퓨터의 공인 IP를 설정 ( 네이버 IP주소 검색 )

 

HeidiSQL 설치
호스팅 관리 - 서비스 접속관리 - MySQL 웹어드민

DB 호스트명 : 접속 URL ( /WebMysql 제외 )

사용자 : 아이디

암호 : 설정한 DB 비밀번호

 

[호스팅 계정에 phpMyAdmin 직접 설치하여 접속]

Filezilla 또는 웹FTP를 이용해서 하는 방법이 있는데, 제가 선택한 서비스로는 사용할 수 없는지 Filezilla에서 연결이 안되더라고요. ( 자주 묻는 질문에서 git으로 배포하라고 나와 있는데, 이 방법은 사용 못하는 것 같습니다. )

-> Git 명령어를 통해 앱 관리를 하시면 됩니다. 

 

 

2. 서버 구축하기

2-1. 앱 생성관리 메뉴에서 앱 생성

2-2. Public key 관리 메뉴에서 Public Key 등록 ( 카페24 public key 생성 매뉴얼 )

C:\Users\hostname\.ssh - id_rsa ( 유형 : PUB 파일 ) 내용을 복사 Public Key에 입력

Public Key 이름은 아무 내용이나 적어도 상관 X

 

Public key를 등록한 후,  위 캡처에서 [Key 할당] 버튼을 통해 앱에 등록해주시면 됩니다.

2-3-1. Git 명령어

# 프로젝트 폴더 접속 후, git 초기화
$ git init
# 원격 저장소 설정. 일반적으로 origin 또는 원하는 원격 저장소 이름
# git remote add <name> <url>
$ git remote add origin <Git URL>
# 원격 저장소 확인
$ git remote -v

# cafe24 앱에 소스 배포
# git push <remote> <branch>. `git branch` 명령어를 통해 현재 branch 확인
$ git push origin master

 

2-3-2. 소스 배포하기 (Sourcetree 설치)

설정을 눌러 원격 저장소 경로를 등록 ( 경로는 앱 생성/관리 - 앱 리스트 - 저장소 주소가 적혀있습니다. )

 

$ git push cafe24(원격 저장소 이름) master

비밀번호는 Public Key 생성 시, 설정한 비밀번호 입력

 

서버에 소스 배포를 완료했습니다. 앱 생성/관리 - 앱 리스트에서 앱을 실행 (앱 재실행하여 소스를 반영)

 

😊 서버 구축 완료 

 

🤦‍♂️ 중요

1. node.js 호스팅은 일반적인 웹호스팅과는 달리 FTP를 통한 파일 업로드를 지원하지 않는다. (git 통해 소스 배포)

2. 앱 기본 실행 파일명은 web.js 로 설정

3. 소스에서 경로 설정 ( /home/hosting_users/ID/apps/ID_ID/ ) 

 - ./ 또는 / 이런 식으로 사용하면 경로를 인식하지 못하였음

4. git commit 시, node_modules 파일 반드시 포함

5. 소스 배포 이후, 앱  중지 -> 실행을 통해 배포한 소스. 서버에 적용

 

지인의 부탁으로, 책임감을 가지고 Node Express + Cafe24 서비스를 통해 API 서버를 배포하였다.

작은 회사이기도 하고, 트래픽이 낮은 프로젝트라서 가격이 저렴한 Cafe24 호스팅 서비스를 이용하였다.

 

서버 원격 접속이나 FTP 접속을 지원하지 않아, Git을 통해 앱을 관리해야한다거나 Cafe24 사이트에서 지원하는 [로그 보기] 버튼으로 서버 모니터링을 하기에 불편함이 있었다.

 

설명이 잘되어 있는 여러 블로그들을 참고했지만, 그럼에도 막히는 부분들이 역시나 있었다. 

하지만 문제를 해결하면서 새로운 것들을 배울 수 있었고, 무엇보다도 내가 처음 배포한 서버가 문제없이 돌아간다는 점에서 많은 성취감을 느낄 수 있었다. 

 

+ Recent posts