Maison  >  Article  >  développement back-end  >  Introduction aux exemples de déploiement d'Ubuntu14.04

Introduction aux exemples de déploiement d'Ubuntu14.04

零下一度
零下一度original
2017-07-23 13:37:101365parcourir

Première étape.

sudo apt-get update

sudo apt-get upgrade

Mettre à jour d'abord. .

La méthode de déploiement grand public de Django : nginx+uwsgi+django

La deuxième étape consiste à installer nginx

sudo apt-get install nginx

Installer nginx, si vous devez installer la dernière version de nginx, vous devez télécharger le package de code source depuis le site officiel et le compiler manuellement.

La structure de fichier approximative de nginx.

1. Fichier de configuration :/etc/nginx

2. Programme :/usr/sbin/nginx

3. log - error.log

La troisième étape, installez uwsgi

sudo apt-get install python3-dev

sudo apt-get install python3- pip

sudo pip3 install uwsgi (Avant cette étape, vous pouvez modifier la source pip pour améliorer la vitesse de téléchargement. Créez pip.conf sous ~/.pip et écrivez

[global]

trusted-host = pypi.douban.com

index-url = )

uwsgi est un serveur web qui implémente le protocole WSGI, uwsgi, http En attente pour accord. La fonction de HttpUwsgiModule dans Nginx est d'échanger avec le serveur uWSGI.

Le processus général est : Client<==>nginx<==>uwsgi<==>Django. Les requêtes statiques sont gérées par Nginx lui-même. Les requêtes non statiques sont transmises à Django via uwsgi, qui est traité par Django pour compléter une requête WEB.

Créez un projet de test Django, django-admin startproject mysite, cd mysite, python manage.py startapp demo1.

La quatrième étape, tester uwsgi

Créez un nouveau fichier de test dans le répertoire mysite, nano test.py .

Écrire :

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])return ["Hello World"]

Exécuter :

uwsgi --http :8001 --plugin python --wsgi-file test.py

Accès normal.

La cinquième étape consiste à tester que Django

python manage.py runserver 0.0.0.0:8002

a un accès normal.

Connectez Django et uwsgi.

uwsgi --http:8001 --plugin python --module mysite.wsgi

L'accès est normal.

La sixième étape consiste à configurer uwsgi

les supports d'uwsgi en commençant par une variété de fichiers de configuration. La méthode du fichier de configuration ini est utilisée ici.

Nouveau uwsgi : nano uwsgi.ini

# mysite_uwsgi.ini file[uwsgi]

    socket = 127.0.0.1:3400# Django-related settings
    # the django project directory (full path)
    chdir           = /home/ubuntu/mysite
    # Django's wsgi filemodule          = mysite.wsgi

    # process-related settings
    # master
    master          = true# maximum number of worker processes
    processes       = 2threads = 2max-requests = 6000# ... with appropriate permissions - may be neededchmod-socket    = 664# clear environment on exit
    vacuum          = true

Une erreur s'est produite lorsque accéder, invalid request block <span class="hljs-built_in">size: <span class="hljs-number">21573 (<span class="hljs-built_in">max <span class="hljs-number">4096)...skip</span></span></span></span>.

La raison est que l'adresse URL dépasse 4096 caractères. La raison est que nous utilisons socket pour démarrer. Changez simplement le socket dans le fichier de configuration en http, ou modifiez la taille du tampon.

(Il est recommandé de ne faire aucune modification, changez-le simplement en http pendant les tests, et remettez-le en socket lors de la connexion à nginx)

daemonize = /home/ubuntu/mysite/uwsgi.log

Changez cela lors de son exécution officielle. Ajoutez ce code au fichier uwsgi.ini et le journal d'accès sera affiché dans uwsgi.log

À ce moment, Django peut déjà y accéder.

Étape 7, configurer nginx

Modifier le fichier de configuration par défaut de nginx/etc/nginx/sites-enabled/default

server {
    # the port your site will be served on
    listen      80;
    # the domain name it will serve forserver_name 127.0.0.1; # substitute your machine's IP address or FQDNcharset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /home/ubuntu/mysite/media;  # your Django project's media files - amend as required    }

    location /static {
        alias /home/ubuntu/mysite/static; # your Django project's static files - amend as required    }

    # Finally, send all non-media requests to the Django server.
    location / {
        include     uwsgi_params; # the uwsgi_params file you installed
        uwsgi_pass 127.0.0.1:8001;#此处跟uwsgi配置文件保持一致
    }
}

N'oubliez pas de modifier la configuration uwsgi.ini pendant les tests.

Étape 8, exécutez

pour redémarrer nginx et exécutez uwsgi.

Terminé

Ça y est pour le moment, je vais continuer à ajouter des connaissances. à propos de nginx, django et uwsgi à l'avenir.

La plupart des configurations proviennent de la recherche Baidu, je ne publierai donc pas chaque source une par une. La vie est courte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn