아 리 운 django 의 웹 유지보수 기록

우선, 아 리 클 라 우 드 서버 의 계 정 / 비밀 번 호 를 잃 어 버 렸 습 니 다. 이전에 아 리 클 라 우 드 를 해 본 적 이 없습니다. 생각해 보 니 ssh 서비스 로 원 격 로그 인 을 했 을 것 입 니 다.
환경:
centos+nginx+uwsgi+python2.7+django.
1. 먼저 nginx 와 uwsgi 의 프로필 을 보고 대략적인 관 계 를 알 아 보 았 습 니 다. django doc 를 참고 하 십시오. 클릭 하여 링크 열기 . 그리고 저 는 주로 댓 글 을 참고 합 니 다. 링크 를 열 어서 문제 의 소 재 를 확인 합 니 다. 방문 하 는 절 차 는 다음 과 같 습 니 다.
the web client <-> the web server <-> the socket <-> uWSGI <-> Python
다음 명령 을 사용 하여 uwsgi 를 실행 할 수 있 습 니 다.
uwsgi --ini mysite_uwsgi.ini

uwsgi 의 설정 과정 을 크게 간소화 하여 설정 파일 에 배치 합 니 다. 
nginx 의 시스템 로 그 는 위치 에 있 습 니 다: / usr / local / nginx / log / error. log 에서 문 제 를 볼 수 있 습 니 다. my site. sock 에서 찾 을 수 없습니다. 이 파일 은 관리 할 필요 가 없습니다. 위의 스 크 립 트 는 자동 으로 처리 되 고 uwsgi 를 실행 하 는 과정 에서 문제 가 발생 했 습 니 다. 구체 적 으로 어떤 문제 가 있 는 지 아래 의 해결 방안 을 볼 수 있 습 니 다.
2. 설정 을 이해 한 후 주요 문 제 를 해결 하기 시작 합 니 다: 502 bad Gateway
(1) settings 의 DEBUG 를 True 로 설정 합 니 다. 즉, 디 버 깅 을 열 어 실행 하 는 것 입 니 다.
(2) 하지만 False 로 설정 하면 실행 할 수 없습니다. 여기 서 한참 동안 고민 하 였 습 니 다. 이상 정보 보고서 의 등급 에 따라 실행 결과 가 다 를 것 이 라 고 추측 합 니 다.
(3) 터미널 을 실행 하면 다음 과 같은 문 구 를 알려 줍 니 다. 문법 오류 가 있 습 니 다.
if settings.DEBUG is False:

조금 만 조정 하면 첫 페이지 의 로그 인 인터페이스 를 성공 적 으로 열 수 있 습 니 다. 완료 후, 부팅 시작 항목 에 실행 서 비 스 를 추가 하여, 부팅 서버 가 자동 으로 시작 할 수 있 도록 합 니 다 (/ etc / rc. local):
#start the nginx
/usr/local/nginx/sbin/nginx
#start the uwsgi
/usr/local/bin/uwsgi --ini /home/www/mysite/mysite_uwsgi.ini

3. 로그 인 후 질문
계 정 을 만 들 었 는데 로그 인 한 후에 오류 가 발생 할 수 있 습 니 다. 오류 신고 정 보 는 이미 뚜렷 합 니 다.
UserInfo.views.editOrChack,unindent does not match any outer indentation level (views.py, line 41)
대상 의 줄 에 들 여 쓰기 문제 가 존재 하 므 로 조금 만 수정 하면 로그 인 할 수 있 습 니 다.
4. 로그 인 후 어떤 페이지 가 열 리 지 않 는 문제.
오류 알림, 포 지 셔 닝 문 제 는 url 에서 일치 하 는 문 제 를 찾 을 수 없습니다. 해당 하 는 컨트롤 러 를 찾 아 코드 를 보고 다음 코드 로 수정 하면 됩 니 다.
def chackgender(req):
        key=req.session.get('username')
        existinfo=user_info.objects.filter(key__exact=key)
        if existinfo:

                sex=user_info.objects.get(key__exact=key).gender
                if sex=='female':
                        #return HttpResponseRedirect('/mysite/girlTestEdit/')
                        return HttpResponseRedirect('/girlTestEdit/')
                else:
                        return HttpResponseRedirect('/boyTestEdit/')
                        #return HttpResponseRedirect('/mysite/boyTestEdit/')
        else:
                #return HttpResponseRedirect('/mysite/editOrChack/')
                return HttpResponseRedirect('/editOrChack/')

5. 코드 업데이트 후 uwsgi 가 다시 시작 해 야 할 문제:
해결 방안, 참고: 클릭 하여 링크 열기
사고방식 은 3s 마다 자동 으로 다시 불 러 오 는 것 이다. wsgi. py 에 다음 과 같은 문장 을 넣 으 면 된다.
import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload

@timer(3)
def change_code_gracefull_reload(sig):
    if autoreload.code_changed():
        uwsgi.reload()

다음 에 또 문제 가 있 으 면 계속 업데이트 할 게 요 ~

좋은 웹페이지 즐겨찾기