CentOS 7 + uwsgi + django + nginx 部署踩坑


最近在自学python  准备搭建博客网站


项目准备使用 django 基本内容学的差不多的时候就想在线上直接编写代码了  


这个时候踩坑就开始了


前言

线上环境   宝塔安装的python3


准备使用插件  奈何实力不允许 ,就放弃了自己在百度了


CentOS 7   py3.7    django2.1


这是目录


20190413121903818.png


第一坑 python环境


线下我用的是python3.7 但是 lunix 自带了 python2 这就让我苦恼了


通过百度 


1 将原来 python 的软链接重命名 


mv /usr/bin/python /usr/bin/python.bak

2 建立便宜 py3 链接


n -s /usr/local/python3/bin/python3  /usr/bin/python3

第二坑 lunix


这一块我就直接贴代码吧  主要改的就是  server 里的东西


server 
    {
    listen   2345;
        server_name  0.0.0.0;#到时改成域名
        charset     utf-8;
        
        client_max_body_size 75M;    
      location / { 
            #
          include uwsgi_params;
          #这个地址要和待会配置的  uwsgi.ini 里的端口一样
          uwsgi_pass 127.0.0.1:8899;
          
          #代理 顺便学习的
          #proxy_pass http://www.baidu.com;
          
      }
    }

到时如果配置好 就是访问  IP:2345


第三坑  uwsgi 配置


这个鬼东西就需要 pip install uwsgi  来安装了


假装你安装好了 <{=....(嘎~嘎~嘎~)


这里放配置


[uwsgi]
master = true
processes = 1
threads = 2
 
#http = 192.168.0.132:8899 #线上要改成 0.0.0.0
socket = 127.0.0.1:8899
 
chmod-socket = 660
vacuum = true
master = true
max-requests = 1000
 
chdir = /www/wwwroot/python/app03/
wsgi-file = app03/wsgi.py
logto = logs/error.log
pidfile = uwsgi.pid 
daemonize = uwsgi.log
 
py-autoreload=1 #自动重起

http模式:   直接用uwsgi时使用


socket模式: 使用Nginx时使用


daemonize  有这个就是后台自动运行


再加点的命令


启动项目 uwsgi --ini  uwsgi.ini


关闭项目 uwsgi --stop uwsgi.pid


重起项目 uwsgi --reload uwsgi.pid


全部关闭 killall -9 uwsgi (关闭所有的uwsgi 进程)


第四坑(可能的坑)   虚拟环境 参考链接


pip install virtualenv

 

由于搭建好才写的记录很多东西百度不回来了于是就重新百度记录一下


其实我百度的比这个还要多,自己自学就是这样踩坑多 但是记忆也很深刻


缺点就是浪费时间了




---------------------
作者:前世的我
来源:前世的我
原文:http://www.w55.site/blog/article/look/id/12.html
版权声明:本文为博主原创文章,转载请附上博文链接!