Skip to content

Commit

Permalink
Merge pull request #105 from min050410/develop
Browse files Browse the repository at this point in the history
test: build test
  • Loading branch information
min050410 authored Jul 11, 2023
2 parents 913a222 + ac5ecf4 commit cec3e62
Show file tree
Hide file tree
Showing 8 changed files with 95 additions and 92 deletions.
2 changes: 1 addition & 1 deletion src/components/layout/popular/popularCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const PopularCardComponent = ({
</div>
</Link>
</div>
<h3>{title}</h3>
<div className="card--title">{title}</div>
</div>
);

Expand Down
4 changes: 2 additions & 2 deletions src/components/layout/recent/recentPost.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ const RecentPostComponent = ({
</div>
</div>
<div id="text_group">
<h3>{title}</h3>
<div>{date}</div>
<div className="recent--title">{title}</div>
<div className="recent--date">{date}</div>
</div>
</div>
<div className="tag">
Expand Down
27 changes: 14 additions & 13 deletions src/docs/Migration-ec2-to-window.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
<big>2. DB 환경 설정</big>
- <a href="#2-1">2-1. Docker 설치</a>
- <a href="#2-2">2-2. Mysql 도커 띄우기</a>
- <a href="#2-3">2-3. DB 마이그레이션</a>
- <a href="#2-3">2-3. Dbeaver 설치</a>
- <a href="#2-4">2-4. DB 마이그레이션</a>

<big>3. Nginx 설치</big>
- <a href="#3-1">3-1. Nginx 설치후 Next.js 프로젝트 간단하게 띄우기</a>
Expand Down Expand Up @@ -71,7 +72,7 @@ EC2 서버에 문제가 생겨 서버를 홈 서버로 마이그레이션 해야

정상적으로 실행이 된다면 위와 같은 화면이 뜹니다.

### 도커 실행시 만난 에러 'Cannot enable Hyper-V service' 😡
#### 도커 실행시 만난 에러 'Cannot enable Hyper-V service' 😡

저번에도 만난 에러라 익숙하였습니다.
도커는 Hyper-V를 사용하므로 Hyper-V를 설정해야 합니다.
Expand Down Expand Up @@ -136,7 +137,7 @@ mysql 컨테이너 띄우기 완료!
다운로드 후에 데이터베이스와 연결을 해줍니다.
연결시 비밀번호는 자신이 설정한 비밀번호, 포트는 설정한 4306으로 하였습니다.

### 2-4. DB 마이그레이션
<h3 id="2-4">2-4. DB 마이그레이션</h3>

우선 기존 프로젝트의 ddl문을 통해 테이블을 생성하였습니다.
spring intellij환경에서 ddl문을 가져오는 방법은 쉽습니다.
Expand Down Expand Up @@ -221,7 +222,7 @@ http {
`localhost:3000`에 접속하였을 때 Next.js 앱이 뜨고 `localhost`에 접속하였을 때도 Next.js 앱이 뜬다면 성공입니다.
`localhost:3000`으로 접속하였을 때는 서버로 바로 커넥션이 연결되었고 `localhost`에 접속할 때는 nginx 프록시 서버에 커넥션이 연결되어 Next.js앱이 뜬 것입니다.

### proxy_pass 연결이 안되고 기본 html 파일이 뜨는 에러 😡
#### proxy_pass 연결이 안되고 기본 html 파일이 뜨는 에러 😡
nginx가 여러개 실행되고 있던게 원인이었습니다. `start nginx`도 여러번 명령하면 프로그램이 중복이 되었습니다.
작업 관리자에서 nginx와 관련된 작업들을 모두 끄거나 간단하게는 재부팅을 시켜 해결하였습니다.

Expand All @@ -243,7 +244,7 @@ nginx가 여러개 실행되고 있던게 원인이었습니다. `start nginx`
외부 ip주소가 192.xxx.xxx.xxx이라면 외부 ip가 다른 공유기의 내부 ip일 가능성이 높습니다.
만약 192.xxx.xxx.xxx일 경우에는 밑 글을 봐주세요.

### 내 외부 ip주소가 공유기의 내부 ip주소였던 건에 관하여
#### 내 외부 ip주소가 공유기의 내부 ip주소였던 건에 관하여
외부 ip가 정상적으로 뜨시는 분들은 이 글은 넘어가주세요.

외부 ip가 내부 ip라니 이런 경우는 처음이어서 당황스러웠습니다.
Expand All @@ -254,14 +255,14 @@ SK브로드밴드 모뎀에서 내부 ip주소를 iptime에 제공하고 있는

SK브로드밴드 모뎀의 내부 ip가 iptime의 외부 ip였던 것이었습니다!!

### 1차 시도, 실패
#### 1차 시도, 실패

처음엔 SK브로드밴드에서 포트포워딩이나 DMZ를 진행하면 문제가 해결될 줄 알았습니다.
두 번 포워딩 되어 외부에서 접속이 가능할 줄 알았으나 결과는 실패였습니다.

<img src="https://github.com/Novel-Cloud/server/assets/45661217/76d34f5e-84aa-4467-b308-cd8903559cc0" width="100%"></img>

### 2차 시도, 성공
#### 2차 시도, 성공
서버를 갈아엎을까 생각하다가 [한 블로그](https://badayak.com/3973#google_vignette)를 보고 해결하였습니다. 감사합니다.

문제 해결 방법은 SK브로드밴드 모뎀을 브릿지 방식으로 변경하는 것입니다.
Expand Down Expand Up @@ -300,7 +301,7 @@ ex ) 1E2d3z_admin

다음은 프론트와 백엔드를 DockerFile을 이용해 이미지를 생성하고 컨테이너를 띄웠습니다.

### 프론트엔드 도커 서버 띄우기 - Next.js 환경
#### 프론트엔드 도커 서버 띄우기 - Next.js 환경

간단한 프론트부터 진행하겠습니다.
먼저 `npm run dev`명령어를 쳐서 돌아가고 있는 서버를 `ctrl + c`를 눌러 종료하고 진행합니다.
Expand Down Expand Up @@ -354,7 +355,7 @@ docker build -t bssmh-portfolio-app .

컨테이너를 띄웠다면 localhost:3000에 잘 들어가지는지 테스트해봅시다.

### 백엔드 도커 서버 띄우기 - Spring Boot, Mysql 환경
#### 백엔드 도커 서버 띄우기 - Spring Boot, Mysql 환경

다음은 백엔드입니다. 백엔드도 프론트와 같이 DockerFile을 이용하여 이미지를 생성합니다.

Expand Down Expand Up @@ -441,7 +442,7 @@ ACM 내보내기를 통해 기존의 인증서를 가져와 날먹하고 싶었

이 프로젝트에서는 Route53과 연결하기 위해 DNS 인증 방식으로 진행해보겠습니다.

### DNS 인증 방식
#### DNS 인증 방식

Let's Encrypt에서 요구하는 특정 값을 DNS의 TXT 레코드에 입력해서 인증을 하는 방식입니다.
이 방법은 와일드카드 서브 도메인 인증을 지원하기에 확장성이 좋습니다.
Expand Down Expand Up @@ -486,7 +487,7 @@ AWS의 Route53에 접근 후 호스팅 영역의 호스팅을 선택합니다.
레코드 생성 후 반환된 응답이 정상이 뜰 경우 다시 설치 콘솔로 와서 엔터를 누르면 pem 인증키가 생성됩니다.
인증 키 저장경로는 나중에 필요하니 외워둡시다.
### Certbot 발급시 만난 에러 😡
#### Certbot 발급시 만난 에러 😡
window에서 certbot을 사용하니 레코드 생성을 하였는데도 발급이 안되고 에러가 떴습니다.
리눅스로 certbot을 다운받고 돌리니까 놀랍게도 해결되었습니다.
Expand Down Expand Up @@ -592,12 +593,12 @@ nginx -s reload
<img src="https://github.com/min050410/min050410/assets/45661217/beb35f7f-8005-4b79-9248-98170df8226d" width="100%"></img>
와우 짝짝짝 웹 배포가 완료되었습니다. 👏
### 휴먼 에러 1 - 다른 프로그램이 443 포트를 먹고 있었음
#### 휴먼 에러 1 - 다른 프로그램이 443 포트를 먹고 있었음
Nginx 설정 후 https에 접속이 안되는 문제가 발생하였습니다.
원인을 알아보니 softether vpn 서버 프로그램이 443번 포트를 잡아먹고 있었습니다.
softether vpn을 삭제하여 해결하였습니다.
### 휴먼 에러 2 - 테이블 이름이 다름
#### 휴먼 에러 2 - 테이블 이름이 다름
이번엔 접속은 잘 되지만 사이트에서 사진이 보이지 않는 버그가 발생하였습니다.
이유는 기존 배포 서버와 개발 서버의 테이블 명이 달랐기 때문이었습니다.
해당 부분은 테이블 명을 직접 수정하여 해결하였습니다.
Expand Down
Empty file added src/docs/NovelCloud.mdx
Empty file.
Loading

0 comments on commit cec3e62

Please sign in to comment.