ngix uwsgi django 조합 웹 사이트 구축
최근 Python 웹 개발이 필요한 혁신적인 프로젝트를 해야 했기 때문에 매우 다재다능한 Python 웹 프레임워크인 django를 공부했습니다.
ngix가 왜 필요한가요?
먼저 django만 사용하면 웹사이트 구축을 위해 이 세 가지를 결합해야 하는 이유에 대해 이야기해 보겠습니다. 예를 들어 일부 정적 리소스를 요청해야 한다면 django가 필요합니다. 이를 모두 처리하면 요청이 합리적으로 분산되지 않으며 ngix가 이 문제를 해결할 수 있습니다(이 프로젝트는 로드 밸런싱을 고려할 필요가 없는 것 같습니다~~ 하지만 개선). 성능은 항상 필요함), ngix는 구성을 통해 일부 동적 요청을 보낼 수 있습니다. Django가 이를 처리하고 정적 요청을 직접 처리해야 하는 경우에도 웹사이트에서 PHP 페이지를 실행해야 한다면 ngix가 확실히 좋은 선택입니다. . PHP 요청은 처리를 위해 Apache에 배포되고 Apache는 소켓 포트를 통해 통신합니다. 그런 다음 처리된 결과를 클라이언트에 반환합니다.
그럼 uwsgi는 왜 필요한가요?
WSGI는 웹 서버 게이트웨이 인터페이스입니다. 웹 서버(예: nginx)와 애플리케이션 서버(예: uWSGI 서버) 간의 통신을 위한 사양입니다. 그러면 uwsgi는 uwsgi와 WSGI 프로토콜을 모두 구현하는 웹 서버입니다. 간단히 말하면 uwsgi를 사용하면 uwsgi에서 django를 시작할 수 있고, ngix는 포트를 통해 uwsgi와 통신합니다. 이 과정에서 gjango는 wsgi 서버의 기능을 구현하고 ngix는 wsgi 클라이언트의 기능을 구현합니다. 웹 내부에서 ngix는 서버 역할을 합니다 (컴퓨터의 많은 소프트웨어 통신은 클라이언트-서버 모드입니다. 예를 들어 파일 리소스는 서비스이고 애플리케이션은 이 서비스를 호출하기 위해 해당 프로토콜을 구현합니다). 이는 ngix와 django 간의 uwsgi 전송을 실현합니다.
ngix가 django와 직접 통신하도록 하면 어떨까요?
uWSGI는 wsgi 프로토콜이나 fcgi 프로토콜을 사용하지 않고 대신 약 10배 강력하다고 알려진 자체 uwsgi 프로토콜을 생성합니다. fcgi 프로토콜로.
uWSGI의 주요 기능은 다음과 같습니다.
◆초고속 성능.
◆낮은 메모리 사용량(apache2 mod_wsgi의 절반 수준으로 측정됨)
◆여러 앱 관리.
◆상세 로그 기능(앱 성능 및 병목 현상 분석에 활용 가능)
◆ 고도로 맞춤설정 가능합니다(메모리 크기 제한, 특정 횟수 제공 후 다시 시작 등).
이 세 가지의 원칙은 다음과 같습니다.
<span><code>the web client <-> the web server(nginx) <-> the socket <-> uwsgi <-> Django</code></span>
배포 시작
1. ngix 설치 sudo apt-get install ngix
내 머신이 있기 때문에 또한 apache도 있습니다. 다음과 같이 ngix의 수신 포트를 8080
으로 수정해야 합니다
server { listen 8080 default_server; listen [::]:8080 default_server ipv6 root /var/ngix; #将根目录改为/var/ngix index index.html index.htm; }
2 .Install django
파이썬 자체 패키지 관리자 easy_install을 사용하여 easy_install django를 설치하면 최신 버전이 자동으로 설치됩니다
3. uwsgi 설치
<code>apt-get install python-dev #不安装这个,下面的安装可能会失败 pip install uwsgi 如果是apt-get安装就需要 sudo apt-get install uwsgi-plugin-python </code>
.
└── myproject
├── app │ ├── admin.py
│ ├── __init__.py
│ ├── 마이그레이션
│ │ └── __init__.py
│ ├── models.py
│ ├── 테스트.py
│ └── views.py
├── db.sqlite3
├── Manage.py
├── myproject
│ ├── django .xml
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls .py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── 템플릿
└── test.py
django.xml 파일 내용은 다음과 같습니다.
소켓을 사용하여 ngix와 통신합니다. 포트 번호는 로컬 포트 8630입니다.
<uwsgi> <socket>127.0.0.1:8630</socket> <chdir>/var/ngix/myproject/myproject</chdir> <pythonpath>..</pythonpath> <module>wsgi</module> </uwsgi> 这里需要注意的是wsgi模块,网上很多都是错误的,直接用自动生成的就行。
그런 다음 ngix의 구성 파일에 추가해야 합니다
uwsgi는 ngix와 함께 제공되는 모듈입니다
location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8630; }
ngix를 다시 시작하세요. 서비스를 시작한 다음 uwsgi 서비스를 시작합니다.
$ uwsgi -x django.xml --plugin python
필요 django.xml이 있는 디렉토리에서 실행
마지막으로 브라우저에 127.0.0.1:8080을 입력하면 django 디버깅 페이지가 나옵니다~~
하루의 고민 끝에 완료
기타 배운 내용 요약: /etc/dpkg/info/에서 해당 설치 파일을 삭제하여 적절한 하위 문제를 해결합니다. 프로세스 시작 오류입니다. 삭제한 후에는 자동으로 제거해야 합니다
마지막으로 배포는 정말 큰 함정입니다! ! ! ! ! ! ! !
데이터 공유: wsgi 개념 uwsgi 개념 nginx 및 uWSGI 기반 Ubuntu에 Django 배포
uwsgi를 감독자 관리에게 넘겨주는 방법 available-modifier-requested-0 솔루션
uwsgi 매뉴얼
uwsgi를 사용한 django 배포에 관해 자주 묻는 질문 요약
Django 중국어 튜토리얼 더 완전한 영어 튜토리얼을 읽는 것이 좋습니다
위 내용은 제가 참고한 정보입니다
위 내용을 포함하여 ngix uwsgi django 조합 웹사이트 구축을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











로그인 화면에 "귀하의 조직에서 PIN 변경을 요구합니다"라는 메시지가 나타납니다. 이는 개인 장치를 제어할 수 있는 조직 기반 계정 설정을 사용하는 컴퓨터에서 PIN 만료 제한에 도달한 경우 발생합니다. 그러나 개인 계정을 사용하여 Windows를 설정하는 경우 이상적으로는 오류 메시지가 나타나지 않습니다. 항상 그런 것은 아니지만. 오류가 발생한 대부분의 사용자는 개인 계정을 사용하여 신고합니다. 조직에서 Windows 11에서 PIN을 변경하도록 요청하는 이유는 무엇입니까? 귀하의 계정이 조직과 연결되어 있을 수 있으므로 이를 확인하는 것이 기본 접근 방식입니다. 도메인 관리자에게 문의하면 도움이 될 수 있습니다! 또한 잘못 구성된 로컬 정책 설정이나 잘못된 레지스트리 키로 인해 오류가 발생할 수 있습니다. 지금 바로

Django 버전 확인 단계: 1. 터미널 또는 명령 프롬프트 창을 엽니다. 2. Django가 설치되어 있는지 확인합니다. Django가 설치되지 않은 경우 패키지 관리 도구를 사용하여 설치하고 pip install django 명령을 입력합니다. 설치가 완료된 후 python -m django --version을 사용하여 Django 버전을 확인할 수 있습니다.

화면 밝기는 최신 컴퓨팅 장치를 사용할 때 필수적인 부분이며, 특히 화면을 장시간 볼 때 더욱 그렇습니다. 눈의 피로를 줄이고, 가독성을 높이며, 콘텐츠를 쉽고 효율적으로 보는 데 도움이 됩니다. 그러나 설정에 따라 밝기 관리가 어려울 수 있으며, 특히 새로운 UI 변경이 적용된 Windows 11에서는 더욱 그렇습니다. 밝기를 조정하는 데 문제가 있는 경우 Windows 11에서 밝기를 관리하는 모든 방법은 다음과 같습니다. Windows 11에서 밝기를 변경하는 방법 [10가지 설명] 단일 모니터 사용자는 다음 방법을 사용하여 Windows 11에서 밝기를 조정할 수 있습니다. 여기에는 단일 모니터를 사용하는 데스크탑 시스템과 노트북이 포함됩니다. 시작하자. 방법 1: 알림 센터 사용 알림 센터에 액세스할 수 있습니다.

iOS 17에서 Apple은 모바일 운영 체제에 몇 가지 새로운 개인 정보 보호 및 보안 기능을 도입했습니다. 그 중 하나는 Safari의 개인 탐색 탭에 대해 2단계 인증을 요구하는 기능입니다. 작동 방식과 끄는 방법은 다음과 같습니다. iOS 17 또는 iPadOS 17을 실행하는 iPhone 또는 iPad에서 Safari에 개인 정보 보호 브라우징 탭이 열려 있는 경우 이제 Apple 브라우저에 Face ID/Touch ID 인증이나 암호가 필요하며, 다시 액세스하려면 세션이나 앱을 종료해야 합니다. 즉, 잠금이 해제된 iPhone이나 iPad를 다른 사람이 손에 넣는 경우에도 비밀번호를 모르면 개인정보를 볼 수 없습니다.

유명한 활성화 스크립트 MAS2.2 버전은 @asdcorp에서 시작된 방법이며 MAS 작성자는 이를 HWID2라고 부릅니다. https://github.com/massgravel/Microsoft-Activation-Scriptsgatherosstate.exe(원래 버전 아님, 수정됨)를 다운로드하고 매개변수를 사용하여 실행한 후 GenuineTicket.xml 티켓을 생성하세요. 먼저 원래 방법(gatherosstate.exePfn=xxxxxxx;DownlevelGenuineState=1)을 살펴본 다음 최신 방법(gatheros)과 비교해 보세요.

Django와 Flask는 모두 Python 웹 프레임워크의 리더이며 둘 다 고유한 장점과 적용 가능한 시나리오를 가지고 있습니다. 이 기사에서는 이 두 프레임워크를 비교 분석하고 구체적인 코드 예제를 제공합니다. 개발 소개 Django는 모든 기능을 갖춘 웹 프레임워크이며, 주요 목적은 복잡한 웹 애플리케이션을 신속하게 개발하는 것입니다. Django는 ORM(Object Relational Mapping), 양식, 인증, 관리 백엔드 등과 같은 다양한 내장 기능을 제공합니다. 이러한 기능을 통해 Django는 대규모 처리를 수행할 수 있습니다.

Django는 웹 개발 라이프사이클의 모든 측면을 포괄하는 완전한 개발 프레임워크입니다. 현재 이 프레임워크는 전 세계적으로 가장 인기 있는 웹 프레임워크 중 하나입니다. Django를 사용하여 자신만의 웹 애플리케이션을 구축하려는 경우 Django 프레임워크의 장점과 단점을 이해해야 합니다. 특정 코드 예제를 포함하여 알아야 할 모든 것이 여기에 있습니다. Django의 장점: 1. 빠른 개발 - Djang은 웹 애플리케이션을 빠르게 개발할 수 있습니다. 풍부한 라이브러리와 내부 기능을 제공합니다.

django 버전 확인 방법: 1. 명령줄을 통해 확인하려면 터미널이나 명령줄 창에서 "python -m django --version" 명령을 입력하세요. 2. Python 대화형 환경에서 확인하려면 "import django"를 입력하세요. print(django.get_version())" code; 3. Django 프로젝트의 설정 파일을 확인하여 설치된 애플리케이션 정보가 포함된 INSTALLED_APPS 목록을 찾습니다.
