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