목록전체 글 (58)
아무나 빌려가세요
이번 게시글엔 배포하는 과정에서 골머리를 앓은 부분만 정리하여 적어보도록 하겠다. 파이썬 패키지에 uwsgi 설치가 불가능한경우 처음 설치한 파이썬 패키지는 python:3.9-slim 이였다. 하지만 uwsgi를 설치하는 과정에서 계속 오류가 났다. 검색결과 파이썬에 필요한 필수패키지가 없어 uwsgi를 설치할 수 없다는 메시지였고 기본 python 이미지를 설치하자 오류가 사라졌다. requirements.txt 설치에 오류가 생기는 경우 잘못 설치된 컨테이너와 이미지를 지우고 재설치할때 패키지를 설치하는 과정에서 계속 네트워크 오류가 났다. 해결방법은 단순히 systemctl을 이용해 restart docker를 하면 해결된다. 그리고 이미지를 삭제하면 캐시가 남게 될경우 docker builder..
apahce 설정 httpd.conf 수정 각자의 apahce 설치 위치가 다르기때문에 필자가 배포한 디렉토리를 기준으로 설명하겠다. LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so 기존 웹서버에 기본적으로 들어가 있었기 때문에 별다른 패키지를 설치할 필요가 없었다. 혹시 없는경우 설치를 필요로 한다. virtualHost 80 설정 vhosts가 설정되어있는 파일에 아래 코드를 추가한다. ServerName app.com ErrorLog "error.log" CustomLog "access.log" common ProxyRequests off Order deny,allow Allow from all ProxyPreserveHost On ProxyPa..
1부에 이어서 DockerFile에 들어갈 내용을 서술하도록 하겠다. DockerFile FROM python:3.9 WORKDIR /app COPY . /app COPY requirements.txt . RUN pip install -r requirements.txt EXPOSE 80 CMD ["uwsgi", "--ini","/app/uwsgi.ini"] FROM : 도커이미지를 넣는 부분이며 Flask앱을 배포하기위해 Python:3.9 버전을 입력했다. 도커에서 제공하는 여러가지 파이썬 버전이 있는데 하이픈이 달린 버전을 설치할경우 uwsgi패키지가 설치되지 않을수 있으니 주의 WORKDIR : 앱이 운영될 디렉토리를 설정하는 파일이다. COPY - : 현재 DockerFile 디렉토리에 있는 파일..
파이썬으로 만든 웹앱을 배포해야 되는 일이 생기면서 기존의 웹서버에 파이썬을 설치하기 보단 docker를 이용하는 방법을 선택했다. 이유는 회사에서 운영중인 서버였기 때문에 기존의 파이썬을 어떻게 사용하는지 알 수 있는 방법이 없었다. 그래서 서버에 설치된 파이썬을 건드리지 않고 앱을 배포하고 싶었다. 클라우드서버는 centos7을 사용하고 있고 아파치는 기존에 배포된 앱이 있기 때문에 세부적인 설정은 이글에 빠져있다. 도커 설치 도커 공식홈페이지에서 RedHat 계열의 centOS에 설치하는 방법이 나와있다. https://docs.docker.com/engine/install/centos/ [Install Docker Engine on CentOS Learn how to install Docker E..
flutter에서 ios 시뮬레이터를 통해 작업할때 요상한 에러가 뜨는 경우가 있다. 이땐 xode의 설정을 수정해줘야 한다. Target -> Build Settings -> fliter User Script Sandboxing 검색 -> Yes일경우 No로 설정 업데이트를 하면서 값이 변경된게 아닌지 확인을 꼭 해야한다.
oneSingal 5.0.0 이상 버전 마이그레이션 마이그레이션 이유 이전버전에서 사용했던 push.Disable이 어느순간 적용되지 않는것을 발견했다. 깃 이슈에서도 누군가 글을 올렸지만 답변이 달리지 않는것으로 봐서 쉽게 해결되지 않을거란 생각을 했다. 결국 최근버전으로 마이그레이션 하기로 결정했다. 변경사항 너무나 많은것이 변경되어 약간 당황스러웠지만 변경사항중 필요한 것만 교체했다. appid 등록 // 버전 5.0.0 이전 await OneSignal.shared.setLogLevel(OSLogLevel.verbose, OSLogLevel.none); await OneSignal.shared.setAppId(KEY.ONESIG_ID); ----> // 버전 5.0.0 이후 OneSignal.De..