django项目部署

编辑

安装redis

安装nginx

前端

  • 前端文件打包
  • 将前端目录迁移到项目中
1)项目目录下没有 static 文件夹需要新建
>: mkdir /home/project/luffyapi/luffyapi/static

2)完成静态文件迁移
>: python /home/project/luffyapi/manage_prod.py collectstatic

  • 修改项目settings文件,增加static配置
  • 修改nginx配置

uwsgi

  • 虚拟环境与环境安装uwsgi
sudo apt-get install python3-dev   #如果直接装报错,使用这条命令
>: pip install uwsgi
  • 项目目录下新增uwsgi配置文件
1)进行uwsgi服务配置,内容如下
>: vim /home/project/luffyapi/luffyapi.xml

<uwsgi>    
   <socket>127.0.0.1:8808</socket> <!-- 内部端口,自定义 --> 
   <chdir>/home/project/luffyapi/</chdir> <!-- 项目路径 -->            
   <module>luffyapi.wsgi</module>  <!-- luffyapi为wsgi.py所在目录名--> 
   <processes>4</processes> <!-- 进程数 -->     
   <daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
  • 使用uwsgi启动项目
1)启动uwsgi
>: uwsgi -x /home/project/luffyapi/luffyapi.xml

2)重启nginx
>: nginx -s reload
  • 修改nginx配置,代理uwsgi-pass到uwsgi端口
1)修改nginx配置
>: vim /usr/local/nginx/conf/nginx.conf

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 80;
        server_name  127.0.0.1; # 改为自己的域名,没域名修改为127.0.0.1:80
        charset utf-8;
        location / {
            root /home/html; # html访问路径
            index index.html; # html文件名称
            try_files $uri $uri/ /index.html; # 解决单页面应用刷新404问题
        }
    }
    server {
        listen 8000;
        server_name  127.0.0.1; # 改为自己的域名,没域名修改为127.0.0.1:80
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8808;  # 端口要和uwsgi里配置的一样
           uwsgi_param UWSGI_SCRIPT luffyapi.wsgi;  #wsgi.py所在的目录名+.wsgi
           uwsgi_param UWSGI_CHDIR /home/project/luffyapi/; # 项目路径
        }
        # 新增的配置静态文件
        location /static {
            alias /home/project/luffyapi/luffyapi/static;
        }
    }
}
微信:jinmuqq222
原文地址:https://www.cnblogs.com/jinmuqq222/p/14509568.html