아 리 운 django 의 웹 유지보수 기록
환경:
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()
다음 에 또 문제 가 있 으 면 계속 업데이트 할 게 요 ~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fortinet FortiWeb Web Application Firewall Policy BypassFrom: Geffrey Velasquez Date: Wed, 2 May 2012 20:33:23 -0500...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.