서비스 소개
주요 기능
배포
<aside> <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSHLN0RrPTmNUSMhl6MTeX0p_uIIj6Qzoxok9gjmzjELFRCeJaN34K8nOSaG56rrrw-evQ&usqp=CAU" alt="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSHLN0RrPTmNUSMhl6MTeX0p_uIIj6Qzoxok9gjmzjELFRCeJaN34K8nOSaG56rrrw-evQ&usqp=CAU" width="40px" /> Python(3.10.6)
</aside>
<aside> 🗿 트러블슈팅
</aside>
배포시 mysplclient install 오류
# 1번 해결책
sudo apt-get install python3.10-dev
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
sudo apt-get install libssl-dev
pip install mysqlclient
# 2번 해결책
sudo apt update
sudo apt install build-essential
# Python 개발 헤더 파일과 라이브러리, 그리고 mysqlclient 패키지를 위한 MySQL 개발 파일
sudo apt install python3-dev libmysqlclient-dev
pip install mysqlclient
c. 설명
→ **x86_64-linux-gnu-gcc
**와 같은 필요한 컴파일 도구가 시스템에 없어서 'No such file or directory'와 같은 오류가 발생
→ mysqlclient
라이브러리는 C 확장을 사용하므로 컴파일을 위해 gcc가 필요
→ 우분투(Ubuntu)에서는 다음과 같이 build-essential
패키지를 설치하여 이 문제를 해결
소셜로그인 url 오류
문제상황 : 소셜 로그인 구현 중 프론트에서 백엔드로 fetch로 전송은 되는데 계속 500번 서버에러가 뜨는 오류 발생
해결
// 프론트 uri는 백엔드 서버로 보내야하니까 이대로 설정
// 네이버 로그인 데이터 서버로 전송
async function naverLoginApi(Code) {
const response = await fetch(`${backend_base_url}/user/naver/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ "code": Code }),
})
response_json = await response.json()
// 가독성을 위해 나머지 코드는 생략!
URI = "<http://127.0.0.1:5500/>"
# 네이버 소셜 로그인
class NaverLoginView(APIView):
def post(self, request):
``` 생략 ```
access_token_request = requests.post(
"<https://nid.naver.com/oauth2.0/token>",
headers={"Content-Type": "application/x-www-form-urlencoded"},
data={
"grant_type": "authorization_code",
"client_id": client_id,
"client_secret": client_secret,
"redirect_uri": redirect_uri,
"code": code,
},
)
원인
homebrew 오류(brew install mysql오류)
맥북
m1칩일 경우 /opt/homebrew
intel칩일 경우 /user/local 로 되어있어야 함
=> 변경이 안되서 삭제했다가 다시 설치
1. sudo /bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh>)"을 통해 homebrew 삭제
2. sudo rm -rf /opt/homebrew 로 폴더까지 다 삭제
3. /bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/master/install.sh>)"을 통해 brew 재설치
4. enter 눌러서 계속 진행
하면 재설치가 잘 되어서 다시 원래 프로젝트 터미널로 가서
brew install mysql 하고
pip install -r requirements.txt 하면 잘 설치 완료!
프로젝트 배포와 젠킨스를 같은 인스턴스에 올린 문제
문제상황 : 젠킨스의 인스턴스를 따로 파야하는데 프로젝트 서버 내에 올림
해결
cd ~/deploy/
sudo docker system prune -f
sudo docker-compose pull
sudo docker-compose up --force-recreate --build -d
플랜페이지 일정 추가 부분 장소 검색 부분 보여주기