> 文章列表 > django部署

django部署

django部署

1. 配置服务器

安装django,python等服务–尽量和你的自己的配置相同,一摸一样避免出现问题

2.django项目迁移

sudo scp /home/tarena/django/mysitel root@88.77.66.55:/home/root/xxx
#然后输入密码

3,用uWSGI

替代python manage.py runserver 方法启动服务器

WSGI是什么,服务接口,在django和http交互,重要的桥梁

uWSGI是一种WSGI的一种,实现了http协议,WSGI协议,以及uwsgi(二进制,全小写,uWSGI自己实现的)

uWSG是以学习配置为主

uWSGI安装

#Ubuntu
sudo pip3 install uwsgi==2.0.18 -i httpsL//pyppi.tuna.tsinghua.edu.cn/simple/
#检查是否安装成功
sudo pip3 freeze|grep -i 'uwsgi'
#如果安装成功,则会输出uWSGI==2.0.18

配置uSWGI

  • 添加配置文件 项目同名目录下/uwsgi.ini

  • #uwsgi文件配置
    [uwsgi]
    #ip地址:端口号,两种模式,用http
    socket=127.0.0.1:8000
    http=127.0.0.1:8000
    #项目当前工作目,必须绝对路径
    chdir=/ohme/tarena/.../my_project
    #项目中wsgi.py文件的目录,相当于工作目录
    wsgi-file=my_project/wsgi.py#相对于chdir的相对路径
    #进程个数
    process=4
    #每个进程的线程
    threads=2
    #pid记录文件
    pidfile=uwsgi.pid
    #服务的日志文件位置
    daemonize=uwsgi.log
    #开启主进程管理模式
    master=true##特殊说明:django的settings.py需要做如下配置
    #1,修改settings.py 将DEBUG=True改为DEBUG=False
    #2,修改setting.py将ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=['网站域名']或者['服务监听的ip地址']---公网ip或者域名

    启动uwsgi

    • cd到uWSGI配置文件所在目录

    • uwsgi --ini uwsgi.ini

    停止uwsgi

    • cd到uWSGI配置文件所在目录
    • uwsgi --stop uwsgi.pid

查看是否启动或停止

  • ps aus|grep ‘uwsgi’

测试

  • 输入http://127.0.0.1:8000/url进行测试
  • 此时由uWSGI进程启动

4,iWSGI常见问题

1,启动失败:端口占用

sudo Isof -i:端口号,查出进程,杀掉:sudo kill -9 pid

2,停止失败

重复启动,导致pid被换了

ps到处进程号,直接kill进程

3,没找到项目

配置的UWSGI.ini位置错误

5,配置ngix反向代理服务器

负载均衡,反向代理和HTTP代理

推荐用uwsgi,二进制更紧凑

sudo apt install nginx
#如果速度慢,换国内源
vim /etx/cap/sources.list
#更改国内源
sudo apt-get uodate
#上述过程自行百度
#安装完毕后-ngnix -v查看版本

配置

​ 修改nginx的配置文件 /etc/nginx/sites-enableed/default;

#在server节点下添加新的location项,指向uwsgi的ip和端口
server {...location / {uwsgi_pass 127.0.0.1:8000;#重定向到127.0.0.1的8000端口include /etc/nginx/uwsgi_params;#将所有的参数转到uwsgi下}
}

启动

$sudo /etc/init/d/nginx start|stop|restart|status
#或
$sudo server nginx start|stop|restart|status启动 -sudo /etc/

检查语法问题

#检查语法
sudo nginx -t

改完nginx后还需要改一下uWSgI

[uwsgi]
#http=127.0.0.1:8000改为
socket=127.0.0.1:8000

6,ngix

常见问题

502

404

配置静态文件路径,解决静态路径问题

  • static目录更换
#在settings里面增加一个,STATIC_ROOT='当前目录下/项目名_static/static'
#文件夹记得提前mkdir(创建)好
#运行static更新
python3 manage.py collectstatic
  • 配置nginx寻找static路径

    #sudo vim进入default文件,配置server
    server {location /static{root /home/tarena/mysite7_static;}
    }
    
    • 配置结束,重启
    sudo /etc/init.d/nginx rest
    

    n1-

英语口语