对于刚入门的同学,当完成了项目代码,在本地localhost的调试没问题后,会遇到如何让项目上线的问题。
网上的资料过于繁杂,因此希望这篇能简单地为刚入门的同学解惑。
Copier après la connexion
1. Nom de domaine
Tout d'abord, lorsque nous entrons sur un site Web http://www.example.com/, transmettons d'abord l'analyse DNS au correspondant Adresse IP, cela permet l'accès à l'IP. Par conséquent, la première étape pour permettre aux autres d’accéder à notre projet est d’avoir deux choses, un nom de domaine et une IP publique.
Obtenir un nom de domaine est très simple, il suffit de l'enregistrer et d'en acheter un. Ensuite, il faut résoudre le nom de domaine en votre IP publique. L'adresse IP publique peut généralement être obtenue lors de l'achat d'un serveur cloud.
Après cette étape, nous avons atteint : request-->DNS-->server ip, et notre objectif ultime est : request-->DNS-->server ip-->black box- - >Application Project wsgi
2. Utilisez gunicorn pour exécuter le projet
Ici, nous utilisons Django pour construire le projet, lorsque votre projet est terminé. Nous devons exécuter un programme de service qui écoute les demandes, reçoit les demandes et appelle l'application wsgi correspondante. Par exemple, exécutez python manage.py runserver 0.0.0.0:8000 Runserver est le programme de service basé sur wsgi fourni avec Django pour le débogage.
Nous créons un projet sur le serveur cloud
django-admin.py startproject blog
où 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()
Copier après la connexion
Nous exécutons la commande suivante sous le projet
gunicorn wsgi:application
La liaison par défaut est 127.0.0.1:8000. Vous pouvez rechercher sur Google l'utilisation spécifique de gunicorn. par vous-même
À ce stade, nous pouvons accéder au contenu de notre projet via le port local 8000. Implémenté : request-->DNS-->server ip-->black box-->127.0.0.1:8000-->project wsgi application
3.nginx reçoit une requête externe, interne transfert
Dans le dossier /etc/nginx/sites-available/, créez un nouveau fichier blog et ajoutez les paramètres simples suivants
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;
}
}
Copier après la connexion
De ce qui précède, nous pouvons comprendre que nginx reçoit après à la réception de la requête, elle est transmise au port local 8000 sur lequel gunicorn écoute. Gunicorn appelle la fonction d'application correspondante dans le projet en fonction de la requête et renvoie le résultat. > Il existe de nombreuses configurations spécifiques à propos de nginx et gunicorn. Vous pouvez également rechercher davantage sur Google pour un apprentissage approfondi
4 Résumé
gunicorn fait fonctionner le projet
nginx est responsable de la réception des demandes. et transférer les requêtes pour exécuter Le port
utilisé pour surveiller les requêtes dans le projet est déployé en ligne. Il nécessite principalement un nom de domaine et une adresse IP publique. Les deux peuvent être résolus via un serveur cloud, il est donc préférable d'en acheter simplement un. serveur cloud et pratiquez-le
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!