千家信息网

Nginx+uwsgi+Django部署代码怎么编写

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,Nginx+uwsgi+Django部署代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Nginx+uwsgi
千家信息网最后更新 2024年12月13日Nginx+uwsgi+Django部署代码怎么编写

Nginx+uwsgi+Django部署代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Nginx+uwsgi+Django部署代码

安装uwsgi

1.安装pip

2.安装uwsgi

3 测试uwsgi

  1. 在你的机器上写一个test.py


  2. # test.py

  3. def application(env, start_response):

  4. start_response('200 OK', [('Content-Type','text/html')])

  5. return "Hello World"

然后执行shell命令:

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

访问网页:

http://127.0.0.1:8001/

看在网页上是否有Hello World


4.编写uwsgi启动配置文件

  1. [root@host-192-168-1-56 devops]# more my.ini

  2. [uwsgi]

  3. socket=:8001

  4. chdir=/svn/devops/devops ###项目目录

  5. pythonapth=/usr/bin/python

  6. processes=4

  7. env=DJANGO_SETTINGS_MODULE=devops.settings ###指定 项目名.setting

  8. module=devops.wsgi ###指定wsgi.py配置文件,该配置文件和setting在一个目录下

  9. threads=0

  10. master=true

  11. daemonize=/tmp/uwsgi.log

  12. pidfile=/tmp/uwsgi.pid

  13. python-autoreload=true

  14. buffer-size=51200

5.编写wsgi配置文件

  1. [root@host-192-168-1-56 devops]# more devops/wsgi.py

  2. """

  3. WSGI config for devops project.


  4. It exposes the WSGI callable as a module-level variable named ``application``.


  5. For more information on this file, see

  6. https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/

  7. """


  8. import os


  9. from django.core.wsgi import get_wsgi_application


  10. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "devops.settings")


  11. application = get_wsgi_application()

6.配置nginx

  1. 配置文件

  2. [root@host-192-168-1-56 devops]# more /usr/local/nginx/conf/vhost/blog.haodai.com.conf
    upstream django {
    server 127.0.0.1:8001; # for a web port socket (we'll use this first)
    }


    server {
    listen 8099;
    server_name devops.XXX.net;
    charset utf-8;
    root /svn/devops/devops;
    client_max_body_size 75M; # adjust to taste




    location /static {
    alias /svn/devops/devops/static; ---nginx调用项目的静态文件
    expires 20d;
    }


    location / {
    uwsgi_pass django; ---反向代理,简单写法直接写成uwsgi_pass 127.0.0.1:8001即可
    include uwsgi_params;
    }


    access_log /home/wwwlogs/devops.log access;
    }


7 启动,测试

  1. 启动uwsgi和nginx

  2. [root@host-192-168-1-56 devops]# /usr/local/python/bin/uwsgi my.ini

  3. [root@host-192-168-1-56 devops]# nginx -s reload

  4. 测试:



看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0