美文网首页
【环境部署2】阿里云非root用户django+uwsgi+ng

【环境部署2】阿里云非root用户django+uwsgi+ng

作者: qalangtao | 来源:发表于2017-10-31 09:35 被阅读123次

    前言:

    多说两句,很多人开始都有个疑问,为啥有了uwsgi这个服务器还要套个nginx,多次一举?

    并不是的,举个例子,你自己出去溜达很容易被被人揍,被侵害,被攻击被黑,这个就是uwsgi,有点脆弱个,功能不多,只是还可以能用,但是们加了一次nginx,就相当于穿了一身牛逼的装备,出去溜达就不怕被打了。专业的属于就是uwsgi套了一层nginx,就可以:

    更安全、更快的处理静态资源、缓存、更好的配合cdn、多台机器负载均衡、Nginx来处理slow client、uWSGI支持的是wsgi协议,Nginx支持的是http协议,它们之间是有区别的。

    一句话总结,nginx增加了web应用的功能,各个方面的。

    一、uwsgi配置

    在你的项目根目录下新建一个配置文件,这个配置文件是uwsgi和python程序的连接口,我的如下:

    127.0.0.1:8866

    /home/work/app/**/

    django_wsgi

    /home/work/app/**/**/

    8

    /home/work/log/**/uwsgi.log

    true

    其中**是项目名称,其他的都看一下就明白了,module的django_wsgi是项目下的django_wsgi.py文件,这个是项目的配置启动文件,我的如下

    #!/usr/bin/env python

    # coding: utf-8

    import os

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "**.settings_online")

    #from django.core.handlers.wsgi import WSGIHandler

    #application = WSGIHandler()

    from django.core.wsgi import get_wsgi_application

    application = get_wsgi_application()

    注意注释掉的部分是因为新的django已经不兼容的了,要用没注释的代码才能兼容新的djaongo

    配置完这两个,就可以启动uwsgi了

    启动命令uwsgi -x /home/work/app/**/ngnix_soket.xml

    出现[uWSGI] parsing config file /home/work/app/thrones/ngnix_soket.xml  就是成功了

    这个时候外网是访问不到的,只有本机才可以访问用过curl 127.0.0.1:8866 查看是否成功

    二、nginx配置

    进入nginx配置文件夹打开配置文件

    cd ~/local/nginx/conf/ & vi nginx.conf

    需要修改的位置 第一行一定写 user  root; 当然你要用别的启动请给相应的权限

    下面是我server的配置:

    server {

    listen      8081;

    server_name  **.com www.**.com;

    access_log /home/work/log/**/ngnix_app_access8081.log;

    error_log /home/work/log/**/ngnix_app_error8081.log;

    location / {

    root /home/work/app/**/;

    uwsgi_pass    127.0.0.1:8866;

    include        uwsgi_params;

    }

    error_page  500 502 503 504  /50x.html;

    location = /50x.html {

    root  html;

    }

    location /favicon.ico {

    root html;

    }

    location /static/ {

    alias  /home/work/app/**/static/;

    }

    location /media {

    alias  /home/work/app/**/media/;

    }

    location /download/ {

    alias  /home/work/**/download/;

    }

    }

    里面的需要注意的就是域名 和静态文件配置

    然后还有一大堆图片加载优化的配置我就不贴了,我的网站图片加载很慢。

    配置完以上 切换的root用户 su - root 然后启动下nginx就行了

    注意,80端口只有root有权限起来,并且要备案才能看见页面

    ========================================

    配置完以上的配置,就可开心的以访问网站了

    相关文章

      网友评论

          本文标题:【环境部署2】阿里云非root用户django+uwsgi+ng

          本文链接:https://www.haomeiwen.com/subject/khivpxtx.html