ubuntu-django+vue部署
2021/9/4 7:05:46
本文主要是介绍ubuntu-django+vue部署,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
资源准备
- vue项目资源打包dist(js、css、html、img)
- django项目依赖文件,pipreqs(通常项目开发使用独立的虚拟环境,避免环境互相污染)(可能有些包会收集不到,还有一些像uwsgi包本地开发用不到,需要手动添加)
- django收集静态资源(如:swagger、admin的静态资源)
- uwsgi.ini 配置文件
- nginx 配置文件
部署准备
- 本地合并代码并提交到远程仓库主分支
- 环境配置工具:virtualenv,virtualenvwrapper,python3.6-dev
- 配套服务:nginx、mysql、redis
部署
- clone项目源码到服务器
- 执行数据库迁移
- nginx配置文件替换,客户端访问nginx服务器
- 以守护进程启动uwsgi服务,uwsgi -d --ini uwsgi.ini
其它乱七八糟的坑
- 用户
- root用户
- 普通用户
- sudo命令,sudo以root用户执行命令
pip3 --version
=> 20.0.0sudo pip3 --version
=> 21.0.0- 版本是不同的
- python版本
- python2.7
- python3
- python3.6
- python3.8
- pip版本
-
uwsgi版本
使用虚拟环境
- linux python虚拟环境 工具
- 虚拟环境创建,激活,退出,删除
- 虚拟环境python版本指定,可开发环境的版本要一致
- 虚拟环境pip安装uswgi(python3.6安装uwsgi报错一长串gcc,解决方法
apt-get install python3.6-dev
,之前用的apt安装后还是报错,用apt-get安装后就好了???神马情况?)
python环境配置:安装和开发环境一致的python版本,创建虚拟环境,指定python版本,pip安装依赖包,pip安装uwsgi等其它依赖包
服务器环境配置:nginx代理vue打包的静态文件资源,uwsgi.ini配置文件,nginx配置代理uwsgi服务,django collectionstatic收集静态资源,nginx代理这些静态资源
nginx配置文件
# 后端访问配置 #upstream wtest { # server 127.0.0.1:8000; #} # 后端服务配置 server { listen 8001; # 监听端口 server_name wtest-server; # 服务名称 location /api { # rest接口服务 include uwsgi_params; uwsgi_pass 127.0.0.1:8000; } location /static { # 静态资源服务 alias /opt/wtest/wtest-server/static; } } # 前端服务配置 server { listen 80; # 监听端口 server_name www.wtest.com; # 设置访问网站域名或者ip location / { # 路由路径 root /opt/wtest/wtest-client/dist; # vue打包的静态资源包 index index.html; # index页面 try_files $uri $uri /index.html; # 这个不知道是什么,好像是抓不到的时候有用 } }
uwsgi配置文件
#使用nginx连接时使用,django程序所在服务器地址 socket=127.0.0.1:8000 #直接做web服务器使用,django程序所在服务器地址 #http=0.0.0.0:8080 #项目目录 chdir=/opt/wtest/wtest-server module=wtest:wsgi.py #项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=wtest/wsgi.py # 进程数 processes=4 # 线程数 threads=2 # uwsgi服务器的角色 master=true # 存放进程编号的文件 pidfile=uwsgi.pid # 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的 #daemonize=/var/log/uwsgi.log # 指定依赖的虚拟环境 #pythonpath=/home/zyy/.virtualenvs/wtest-venv/lib/python3.6/site-packages virtualenv=/home/zyy/.virtualenvs/wtest-venv # clear environment on exit #退出时清除环境 vacuum = true
这篇关于ubuntu-django+vue部署的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程