Hyunseok
프로그래밍/개인홈페이지 bblog v3 - code server를 설치해보자
2023. 2. 28. 20:00

2023.02.25 - [프로그래밍/ㄴ 개인홈페이지] - bblog v3 - 체제전환 feat. MSA

 

bblog v3 - 체제전환 feat. MSA

이번 어플개발에서 RN을 하다가 멘탈이 파괴된 현석 씨.. 그래서 미루고 미뤄뒀던 블로그의 MSA로의 아키텍쳐 변환에 대해서 생각해보려한다 SQL 일단.. 스키마를 싹 갈아엎을 생각이다 이번엔 조

hbyun.tistory.com

이 글에서.. 이제 codeserver를 써야 할 때가 왔다 언급했다 

 

바로 까먹지 말고 일단 codeserver부터 설정을 해보자 

 

 

Docker에다가 codeserver설치 (비추천)

일단 비추천하는 이유는 .. 포트를 하나하나 계쏙 열어줘야하니

 

귀찮으니 그냥 밑으로 가서 로컬로 설치하는것을 추천한다 

 

그냥 코드만 치는걸 원한다면 아래의 과정을 따라가자

 

먼저 docker로 만들어진 이미지를 찾아보니.. 역시 있다 

 

https://hub.docker.com/r/linuxserver/code-server

 

Docker

 

hub.docker.com

 

아래쪽에 있는 docker compose 템플릿을 따와서 필요하게 만들어줬다

 

version: "2.1"
services:
  code-server:
    image: lscr.io/linuxserver/code-server:latest
    container_name: code-server
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - PASSWORD= 내가 쓸 비밀번호
      - SUDO_PASSWORD= sudo용 비밀번호
      - PROXY_DOMAIN= 프록시주소를 쓴다면 변경 없으면 항목삭제
    volumes:
      - 볼륨으로쓸주소:/config
    ports:
      - 원하는 포트:8443
    restart: unless-stopped

대충 쓰고 바로 compose.yml로 파일을 만들어 내용을 넣은 뒤 

 

docker compose up -d로 컴포즈파일을 올려주자

 

그리고 compose에 적어둔 대로 서버로 들어가 본다 (로컬서버면 localhost:원하는 포트, 혹은 서버주소:포트주소)

 

흠.. 잘 뜬다

 

원하는 폴더로 잘 들어갔는지도 확인해보자 

 

 

매우 잘 들어가있다

 

이제 이 로컬서버가 켜져 있으면... 내 프록시서버를 통해서 리버스프록시된 nginx주소로 들어가게끔 만들고 싶다

 

간단하다, nginx에서 proxy내부주소의 클라이언트 주소로 지정하게끔 설정해 주자 

 

/etc/nginx/nginx.conf

    server {
        listen       외부에서 들어올 원하는 포트;
        listen       [::]:외부에서 들어올원하는 포트;

        location / {
            proxy_pass http://클라이언트주소:아까compose에설정한포트;
            proxy_set_header Host $host;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection upgrade;
            proxy_set_header Accept-Encoding gzip;
        }
    }

간단하게 추가해 주자

 

참고로 

            proxy_set_header Host $host;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection upgrade;
            proxy_set_header Accept-Encoding gzip;

이 파트는 필수로 넣어줘야 한다 안 그러면 안 먹는다 

 

그리고 이 nginx서버를 가리키는 또 다른 proxy서버의 세팅도 해줬다 

 

 

이제 이렇게 하면

 

nginx pm서버 > nginx 서버로 프록시 > nginx에서 다시 내부 프록시의 클라이언트로 프록시 > codeserver! 

 

이런 식으로 완성이 되었다 

 

참고로 websocket은 꼭 활성화해줘야 한다 

 

잘 되었는가 확인해 보자 

아주 잘 돌아간다 

 

그런데 여기서 문제가 생긴다 

 

code server에서 자바, 메이븐, 노드를 설치하고 하나씩 잘되나 테스트해보려니 밖에서 접속이 안된다 

 

"아 .. 맞다 이거 도커지"

만약 스프링 프로젝트를 바로 run 할경우에는 8080을 열어줘야하고

 

nginx나 여타 다른 프로그램으로 도커쪽으로 8080을 열어줘야한다 

 

도커안에서 또 8080을 열어 실행하는 것이니  .. 바로 docker에서 codeserver를 지웠다 

 

이번에는  리눅스 바로위에 code  server를 설치해보자 

 

docker 가아닌 로컬에 codeserver설치

참고로 환경은 RHEL9다 

https://github.com/coder/code-server

 

GitHub - coder/code-server: VS Code in the browser

VS Code in the browser. Contribute to coder/code-server development by creating an account on GitHub.

github.com

여기서 간단하게 스크립트를 가져와서 설치해보자 

그러면 아주빠르게 설치가 끝난다 

 

시키는대로 systemctl에 등록해주자

 

sudo systemctl enable --now -code-server@$USER를 터미널에서 복사해서 그대로 쳐주면 바로 실행이 된다

 

비밀번호도 필요할듯하니 비밀번호도 수정해주자 

 

vi ~/.config/code-server/config.yaml

여기서 password부분을 내가 원하는 비밀번호로 바꿔주자

 

그러면 .. 

 

 

로그인하면 이제 잘 나온다 

 

아주 만족스럽다 

 

이제 세팅을 해보자 


프로그래밍/개인홈페이지의 다른 글