Maison développement back-end tutoriel php 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

Jul 29, 2016 am 09:15 AM
django nginx uwsgi

Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是NGINX的强项)。然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。可见,uwsgi的作用就类似一个桥接器。起到桥梁的作用。

NOTE:不使用nginx,只使用uwsgi+django也是可以实现WEB服务的。uwsgi也可以直接处理WEB请求。

为了完成上述的方式部署,我将分成两篇文章来分别进行阐述。
  • 第一步先解决uwsgi与django的桥接。解决在没有nginx的情况下,如何使用uwsgi+DJANGO来实现一个简单的Web服务器

  • 第二步解决uwsgi与Nginx的桥接。通过nginx与uwsgi的桥接,打通nginx与django的连通,从而比较完美的实现django的部署。

  • 本文将分成五步来详细阐述uwsgi+django的部署方式。nginx+uwsgi+django的部署将在下一篇 文章中阐述。本文大纲:
  • 环境介绍
  • 安装uwsgi
  • 测试uwsgi
  • 配置django
  • 连接django和uwsgi,实现简单的Web服务器
  • 环境介绍

  • Ubuntu 12.04.1 LTS
  • django 1.4.2
  • 安装uwsgi

    1.安装pip可以参考这篇文章:http://www.jsxubar.info/install-pip.html2.安装uwsgi
    <spanpalatino linotype new roman color:rgb>$ <spanpalatino linotype new roman color:rgb>export <spanpalatino linotype new roman color:rgb>LDFLAGS<spanpalatino linotype new roman color:rgb>=<spanpalatino linotype new roman color:rgb>"-Xlinker --no-as-needed"<spanpalatino linotype new roman color:rgb>$ pip install uwsgi
    </spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino>
    Copier après la connexion

    测试uwsgi

    在你的机器上写一个test.py
    # test.py
    def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return "Hello World"
    
    Copier après la connexion
    然后执行shell命令:
    uwsgi --http :8001 --wsgi-file test.py
    
    Copier après la connexion
    访问网页:http://127.0.0.1:8001/看在网页上是否有Hello World

    配置django

    NOTE:

    请保证你的django项目是正常使用的。可以使用

    python manage.py runserver 0.0.0.0:8002

    来测试一下你的django项目是否能正常跑起来。

    请保证你的django程序已经关闭。编写django_wsgi.py文件,将其放在与文件manage.py同一个目录下。

    注意: 编写文件时需要注意语句os.environ.setdefault。比如,如果你的项目为mysite,则你的语句应该是 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    Copier après la connexion

    <spanpalatino linotype new roman color:rgb font-style:italic>#!/usr/bin/env python<spanpalatino linotype new roman color:rgb font-style:italic># coding: utf-8<spanpalatino linotype new roman color:rgb font-weight:bold>import<spanpalatino linotype new roman color:rgb font-weight:bold>os<spanpalatino linotype new roman color:rgb font-weight:bold>import<spanpalatino linotype new roman color:rgb font-weight:bold>sys<spanpalatino linotype new roman color:rgb font-style:italic># 将系统的编码设置为UTF8<spanpalatino linotype new roman color:rgb>reload<spanpalatino linotype new roman>(<spanpalatino linotype new roman>sys<spanpalatino linotype new roman>)<spanpalatino linotype new roman>sys<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>setdefaultencoding<spanpalatino linotype new roman>(<spanpalatino linotype new roman color:rgb>'utf8'<spanpalatino linotype new roman>)<spanpalatino linotype new roman>os<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>environ<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>setdefault<spanpalatino linotype new roman>(<spanpalatino linotype new roman color:rgb>"DJANGO_SETTINGS_MODULE"<spanpalatino linotype new roman>,<spanpalatino linotype new roman color:rgb>"mysite.settings"<spanpalatino linotype new roman>)<spanpalatino linotype new roman color:rgb font-weight:bold>from<spanpalatino linotype new roman color:rgb font-weight:bold>django.core.handlers.wsgi<spanpalatino linotype new roman color:rgb font-weight:bold>import<spanpalatino linotype new roman>WSGIHandler<spanpalatino linotype new roman>application<spanpalatino linotype new roman color:rgb>=<spanpalatino linotype new roman>WSGIHandler<spanpalatino linotype new roman>()</spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino>
    Copier après la connexion

    连接django和uwsgi,实现简单的Web服务器

    我们假设你的Django项目的地址是/home/work/src/sites/testdjango1/testdjango/mysite,然后,就可以执行以下命令:
    uwsgi --http :8000 --chdir /home/work/src/sites/testdjango1/testdjango/mysite --module django_wsgi
    
    Copier après la connexion
    这样,你就可以在浏览器中访问你的Django程序了。所有的请求都是经过uwsgi传递给Django程序的。

    最后:

    关于如何将uwsgi与Nginx连接,可以期待下篇文章 《五步教你实现使用Nginx+Uwsgi+Django方法部署Django程序(下)》最后面,请大家要支持Django中国社区哦,单靠一两个人是不行的,一起推广一下,让Django社区更有力量哈!更有人气哈!推广链接: http://django-china.cn/

    参考、解释及其它

  • wsgi: WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx)与应用服务器(如uWSGI服务器)通信的一种规范。

    关于WSGI协议看这里:WSGI

  • uWSGI: http://uwsgi-docs.readthedocs.org/en/latest/index.html uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。 Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

  • uwsgi: uwsgi同WSGI一样是一种通信协议,而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器

    uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。

    关于uwsgi协议看这里:The uwsgi protocol

  • 有了uWSGI为什么还需要nginx?

    nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应。

  • 参考文献:http://heipark.iteye.com/blog/1750970

  • 当然,单单只有uWSGI是不够的,在实际的部署环境中,Nginx是必不可少的工具。

    在本篇文章中,我将一直延用“N步法”的风格来阐述如何将uWSGI与Nginx做连接来部署Django程序。并在最后,会较为完整的阐述本社区的部署方法。本文大纲:
  • 环境介绍
  • 配置uWSGI
  • 配置Nginx
  • Nginx+uWSGI+Django的实现方式
  • 一些建议
  • 环境介绍

  • Ubuntu 12.04.1 LTS
  • django 1.4.2
  • nginx/1.2.6
  • uWSGI 1.4.4
  • 关于uWSGI的安装可参见上一篇文章 上一篇文章《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)》我们假定你已经安装好Nginx了。

    配置uWSGI

    在上一篇文章《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)》中,我们是直接使用命令行来启动uWSGI,在实际部署环境中,我们常用的是配置文件的方式,而非命令行的方式。我的一般做法是用命令行来测试是否uWSGI安装成功,然后用配置文件来真正部署。另外,为了实现Nginx与uWSGI的连接,两者之间将采用soket来通讯方式。在本节中,我们将使用uWSGI配置文件的方式来改进uWSGI的启动方式。假定你的程序目录是 /home/work/src/sites/testdjango1/testdjango/mysite我们将要让Nginx采用8077端口与uWSGI通讯,请确保此端口没有被其它程序采用。注意,请确定你在上一节《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)》中的django_wsgi.py文件已经存在了。新建一个XML文件:djangochina_socket.xml,将它放在 /home/work/src/sites/testdjango1/testdjango/mysite 目录下:
    <spanpalatino linotype new roman color:rgb font-weight:bold><uwsgi><spanpalatino linotype new roman color:rgb font-weight:bold><socket>:8077<spanpalatino linotype new roman color:rgb font-weight:bold></spanpalatino></socket><spanpalatino linotype new roman color:rgb font-weight:bold><chdir>/home/work/src/sites/testdjango1/testdjango/mysite<spanpalatino linotype new roman color:rgb font-weight:bold></spanpalatino></chdir><spanpalatino linotype new roman color:rgb font-weight:bold><module>django_wsgi<spanpalatino linotype new roman color:rgb font-weight:bold></spanpalatino></module><spanpalatino linotype new roman color:rgb font-weight:bold><processes>4<spanpalatino linotype new roman color:rgb font-weight:bold></spanpalatino></processes><spanpalatino linotype new roman color:rgb font-style:italic><!-- 进程数 --><spanpalatino linotype new roman color:rgb font-weight:bold><daemonize>uwsgi.log<spanpalatino linotype new roman color:rgb font-weight:bold></spanpalatino></daemonize><spanpalatino linotype new roman color:rgb font-weight:bold></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></uwsgi></spanpalatino>
    Copier après la connexion
    在上面的配置中,我们使用 uwsgi.log 来记录日志,开启4个进程来处理请求。这样,我们就配置好uWSGI了。

    配置Nginx

    我们假设你将会把Nginx程序日志放到你的目录/home/work/var/test/logs/下,请确保该目录存在。我们假设你的Django的static目录是/home/work/src/sites/testdjango1/testdjango/collectedstatic/ , media目录是/home/work/src/sites/testdjango1/testdjango/public/media/,请确保这些目录存在。我们假设你的域名是 www.you.com (在调试时你可以设置成你的机器IP)我们假设你的域名端口是 80(在调试时你可以设置一些特殊端口如 8070)基于上面的假设,我们为conf/nginx.conf添加以下配置
    <spanpalatino linotype new roman color:rgb font-weight:bold>server<spanpalatino linotype new roman>{<spanpalatino linotype new roman>listen<spanpalatino linotype new roman color:rgb>80<spanpalatino linotype new roman>;<spanpalatino linotype new roman>server_name<spanpalatino linotype new roman>www<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>you<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>com<spanpalatino linotype new roman>;<spanpalatino linotype new roman>access_log<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>home<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>work<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>var<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>test<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>logs<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>access<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>log<spanpalatino linotype new roman>;<spanpalatino linotype new roman>error_log<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>home<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>work<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>var<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>test<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>logs<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>error<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>log<spanpalatino linotype new roman>;<spanpalatino linotype new roman color:rgb>#charse<spanpalatino linotype new roman>t<spanpalatino linotype new roman>koi8<spanpalatino linotype new roman color:rgb>-<spanpalatino linotype new roman>r<spanpalatino linotype new roman>;<spanpalatino linotype new roman color:rgb>#access<spanpalatino linotype new roman>_log<spanpalatino linotype new roman>logs<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>host<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>access<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>log<spanpalatino linotype new roman>main<spanpalatino linotype new roman>;<spanpalatino linotype new roman>location<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>{<spanpalatino linotype new roman><strong>include</strong><spanpalatino linotype new roman>uwsgi_params<spanpalatino linotype new roman>;<spanpalatino linotype new roman>uwsgi_pass<spanpalatino linotype new roman color:rgb>127<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman color:rgb>0<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman color:rgb>0<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman color:rgb>1<spanpalatino linotype new roman color:rgb>:<spanpalatino linotype new roman color:rgb>8077<spanpalatino linotype new roman>;<spanpalatino linotype new roman>}<spanpalatino linotype new roman color:rgb>#error_page<spanpalatino linotype new roman color:rgb font-weight:bold>404<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman color:rgb font-weight:bold>404<spanpalatino linotype new roman color:rgb font-weight:bold>.html<spanpalatino linotype new roman color:rgb>;<spanpalatino linotype new roman>#<spanpalatino linotype new roman color:rgb font-weight:bold>redirect<spanpalatino linotype new roman color:rgb font-weight:bold>server<spanpalatino linotype new roman color:rgb font-weight:bold>error<spanpalatino linotype new roman color:rgb font-weight:bold>pages<spanpalatino linotype new roman color:rgb font-weight:bold>to<spanpalatino linotype new roman color:rgb font-weight:bold>the<spanpalatino linotype new roman color:rgb font-weight:bold>static<spanpalatino linotype new roman color:rgb font-weight:bold>page<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman color:rgb font-weight:bold>50x<spanpalatino linotype new roman color:rgb font-weight:bold>.html<spanpalatino linotype new roman>#<spanpalatino linotype new roman color:rgb font-weight:bold>error_page<spanpalatino linotype new roman color:rgb font-weight:bold>500<spanpalatino linotype new roman color:rgb font-weight:bold>502<spanpalatino linotype new roman color:rgb font-weight:bold>503<spanpalatino linotype new roman color:rgb font-weight:bold>504<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman color:rgb font-weight:bold>50x<spanpalatino linotype new roman color:rgb font-weight:bold>.html<spanpalatino linotype new roman color:rgb>;<spanpalatino linotype new roman color:rgb font-weight:bold>location<spanpalatino linotype new roman color:rgb>=<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman color:rgb font-weight:bold>50x<spanpalatino linotype new roman color:rgb font-weight:bold>.html<spanpalatino linotype new roman>{<spanpalatino linotype new roman>root<spanpalatino linotype new roman>html<spanpalatino linotype new roman>;<spanpalatino linotype new roman>}<spanpalatino linotype new roman color:rgb font-weight:bold>location<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman color:rgb font-weight:bold>static<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>{<spanpalatino linotype new roman>alias<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>home<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>work<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>src<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>sites<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>testdjango1<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>testdjango<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>collectedstatic<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>;<spanpalatino linotype new roman>index<spanpalatino linotype new roman>index<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>html<spanpalatino linotype new roman>index<spanpalatino linotype new roman color:rgb>.<spanpalatino linotype new roman>htm<spanpalatino linotype new roman>;<spanpalatino linotype new roman>}<spanpalatino linotype new roman color:rgb font-weight:bold>location<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman color:rgb font-weight:bold>media<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>{<spanpalatino linotype new roman>alias<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>home<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>work<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>src<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>sites<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>testdjango1<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>testdjango<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>public<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>media<spanpalatino linotype new roman color:rgb>/<spanpalatino linotype new roman>;<spanpalatino linotype new roman>}<spanpalatino linotype new roman>}</spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino></spanpalatino>
    Copier après la connexion
    在上面的设置后,可以让Nginx来处理静态文件(/static/ 和 /media/ )。非静态文件请求Nginx会发给 socket 8077,然后让uWSGI来进行处理。

    Nginx+uWSGI+Django的实现方式

    在完成上面配置后,需要按以下步骤来做:
  • 重启Nginx服务器,以使Nginx的配置生效。

    nginx -s  reload
    
    Copier après la connexion

    重启后检查Nginx日志是否有异常。

  • 启动uWSGI服务器

    cd /home/work/src/sites/testdjango1/testdjango/mysite
    
    uwsgi -x djangochina_socket.xml
    
    Copier après la connexion

    检查日志 uwsgi.log 是否有异常发现。

  • 访问服务

    基于上面的假设你的域名是www.you.com

    因此,我们访问 www.you.com,如果发现程序与 单独使用Django启动的程序一模一样时,就说明成功啦!

  • 关闭服务的方法

    将uWSGi进程杀死即可。

  • 一些建议

  • uWSG配置文件的进程数,可以根据实际情况分配。不要开得太大,否则机器可能会内存耗用太高。一般来说,对于一个小社区来说,4个进程已经足够了。

  • 一般情况下,可以编写一下 stop.sh 脚本 来关闭uWSGI。

  • 以上就介绍了五步教你实现使用Nginx+uWSGI+Django方法部署Django程序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    Déclaration de ce site Web
    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

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

    Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

    Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

    Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

    Comment vérifier la version nginx Comment vérifier la version nginx Apr 14, 2025 am 11:57 AM

    Les méthodes qui peuvent interroger la version Nginx sont: utilisez la commande nginx -v; Afficher la directive de version dans le fichier nginx.conf; Ouvrez la page d'erreur Nginx et affichez le titre de la page.

    Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

    Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

    Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

    Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

    Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

    Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

    Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

    Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

    Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

    Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

    See all articles