Table of Contents
1.Domain name
2. Use gunicorn to run the project
3.nginx receives external request, Internal forwarding
4. Summary
Home Backend Development Python Tutorial Detailed explanation of website deployment based on Django framework

Detailed explanation of website deployment based on Django framework

Mar 09, 2017 am 09:56 AM
django framework

                 

对于刚入门的同学,当完成了项目代码,在本地localhost的调试没问题后,会遇到如何让项目上线的问题。
网上的资料过于繁杂,因此希望这篇能简单地为刚入门的同学解惑。
Copy after login

1.Domain name

First, when we enter a URL http://www.example.com/, we first resolve it to the corresponding IP address through DNS, so as to This IP enables access. Therefore, the first step to let others access our project is to have two things, a domain name and a public IP.
Obtaining a domain name is very simple, just register and purchase one. Then what is needed is to resolve the domain name to your public IP. The public IP can usually be obtained when purchasing a cloud server.
After this step, we achieved: request-->DNS-->server ip, and our ultimate goal is: request-->DNS-->server ip-->black box- ->Project wsgi application

2. Use gunicorn to run the project

Here, we use django to build the project, when your project is completed. We need to run a service program that listens for requests, receives requests and calls the corresponding wsgi application. For example, execute python manage.py runserver 0.0.0.0:8000. Runserver is the wsgi-based service program that comes with Django for debugging.

We create a project on the cloud server

django-admin.py startproject blog

wsgi.py

import os
import sys
# 当使用virtualenv等隔离项目环境时,需要将项目的路径添加添加到查找路径中
path = os.getcwd()
if path not in sys.path:
    sys.path.append(path)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Copy after login

We execute the following command under the project

gunicorn wsgi:application

The default binding is 127.0.0.1:8000. You can google the specific use of gunicorn by yourself
This At this time, we can access our project content through the local port 8000. Implemented: request-->DNS-->server ip-->black box-->127.0.0.1:8000-->project wsgi application

3.nginx receives external request, Internal forwarding

In the /etc/nginx/sites-available/ folder, create a new file blog and add the following simple settings

server {
    listen 80;
    server_name  你的域名 你的公网ip(可选);
    access_log  /var/log/nginx/blog.log;
    location /static {
        #静态文件如js,css的存放目录
        root /project/blog;
    }
    location / {
        include proxy_params;
        # 从外部接收请求后转发到本地的8000端口
        proxy_pass http://127.0.0.1:8000;
    }
}
Copy after login

From the above we can understand that nginx receives the request Finally, it is forwarded to the local port 8000 that gunicorn is listening on. Gunicorn calls the corresponding application function in the project according to the request and returns the result.
Since then we have basically implemented the request-->DNS-->server ip-->nginx (port 80)-->127.0.0.1:8000-->Project wsgi application
There are many specific configurations about nginx and gunicorn. You might as well google more to learn more

4. Summary

gunicorn makes the project run
nginx is responsible for receiving requests and forwarding requests to run The port
used to monitor requests in the project is deployed online, which mainly requires domain name and public IP. Both can be solved through cloud servers, so it is best to just buy a cloud server and practice it, just do it




The above is the detailed content of Detailed explanation of website deployment based on Django framework. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1269
29
C# Tutorial
1249
24
Understand the pros and cons of Django, Flask, and FastAPI frameworks Understand the pros and cons of Django, Flask, and FastAPI frameworks Sep 28, 2023 pm 01:19 PM

To understand the pros and cons of Django, Flask, and FastAPI frameworks, specific code examples are required. Introduction: In the world of web development, choosing the right framework is crucial. Django, Flask, and FastAPI are three popular Python web frameworks, each with their own unique strengths and weaknesses. This article will dive into the pros and cons of these three frameworks and illustrate their differences with concrete code examples. 1. Django framework Django is a fully functional

Elegant URL design and routing rules for the Django framework Elegant URL design and routing rules for the Django framework Sep 28, 2023 am 10:43 AM

Elegant URL design and routing rules of the Django framework In web development, URL corresponds to the address requested by the user and is the bridge for interaction between the user and the server. A good URL design can make the website more friendly and easy to use, providing a better user experience. As a popular web framework, Django provides an elegant URL design and routing rules, allowing developers to easily implement customized URL mapping. URL Design Principles A good URL design should be readable, predictable and maintainable.

Is django front-end or back-end? Is django front-end or back-end? Nov 21, 2023 pm 02:36 PM

django is the backend. Details: Although Django is primarily a backend framework, it is closely related to front-end development. Through features such as Django's template engine, static file management, and RESTful API, front-end developers can collaborate with back-end developers to build powerful, scalable web applications.

Detailed explanation of caching mechanism in Django framework Detailed explanation of caching mechanism in Django framework Jun 18, 2023 pm 01:14 PM

In web applications, caching is often an important means to optimize performance. As a well-known web framework, Django naturally provides a complete caching mechanism to help developers further improve application performance. This article will provide a detailed explanation of the caching mechanism in the Django framework, including cache usage scenarios, recommended caching strategies, cache implementation and usage, etc. I hope it will be helpful to Django developers or readers who are interested in the caching mechanism. 1. Cache usage scenariosCache usage scenarios

How to use the Django framework to create a project in PyCharm How to use the Django framework to create a project in PyCharm Feb 19, 2024 am 08:56 AM

Tips on how to create projects using the Django framework in PyCharm, requiring specific code examples. Django is a powerful Python Web framework that provides a series of tools and functions for quickly developing Web applications. PyCharm is an integrated development environment (IDE) developed in Python, which provides a series of convenient functions and tools to increase development efficiency. Combining Django and PyCharm makes it faster and more convenient to create projects

Permission control techniques in the Django framework (Part 2) Permission control techniques in the Django framework (Part 2) Jun 17, 2023 pm 07:08 PM

Permission control techniques in the Django framework (Part 2) In the Django framework, permission control is a very important part. In the previous article, we have introduced some basic permission control techniques in the Django framework, including using the built-in permission authentication system and decorator-based permission control. This article will continue to explore other permission control techniques in the Django framework. Custom authentication backend In the Django framework, we can use a custom authentication backend to implement customized authentication logic. pass

What is the django framework mainly used for? What is the django framework mainly used for? Nov 20, 2023 pm 02:01 PM

The django framework is mainly used to quickly develop high-quality web applications, including web application development, database management, backend management, API development, etc. Detailed introduction: 1. Web application development: Django provides a complete set of development tools and frameworks that can help developers quickly build feature-rich, efficient and stable Web applications. Contains many commonly used components and functions, such as URL routing, template engine, form processing, user authentication, database operations, etc., which greatly simplifies the development process of web applications; 2. Database management, etc.

Learn how to install Django framework on your system Learn how to install Django framework on your system Feb 19, 2024 pm 04:18 PM

Django Installation Guide: Easily learn how to install the Django framework, specific code examples are required Introduction: Django is a very popular Python web development framework. It provides an efficient and stable development environment to facilitate developers to build complex web applications. This article will provide you with an installation guide for the Django framework and help you easily understand the process of installing Django through specific code examples. Part 1: Installing Python and pip before starting to install Django

See all articles