文章目录
本文的安装部署完全在虚拟机中进行,是对后续在云端部署的演练。(windows10+ubuntu 20.04.4 )
基本命令行
Django创建超级用户命令
python manage.py createsuperuser
安装虚拟环境及配置路径
- 查看当前ubuntu版本
uname -a
Linux andy-virtual-machine 5.15.0-52-generic #58~20.04.1-Ubuntu SMP Thu Oct 13 13:09:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
- 查看当前ubuntu中自带的python版本
type python python2 python3
bash: type: python: not found
bash: type: python2: not found
python3 is /usr/bin/python3
- 安装python3的
pip。
sudo apt-get install python3-pip
- 安装虚拟环境
sudo pip install virtualenv
sudo pip install virtualenvwrapper
mkvirtualenvcommand not fonud (需要配置环境变量)
mkdir $HOME/.virtualenvs --->在HOME目录下创建文件用来存放虚拟环境
或者在HOME目录下
mkdir .virtualenvs
- 在管理员文件夹andy下用
vi .bashrc打开文件(否则在其他路径下vi ~/.bashrc)。文件末尾添加如下三行。(:wq保存,a追加写入,G定位末行,Shift+Insert粘贴,dd删除当前行)
export VIRTUALENVWRAPPER_PYTHON='/usr/bin/python3'
source /usr/local/bin/virtualenvwrapper.sh

- 加载.bashrc文件
source ~/.bashrc
到这里虚拟环境配置完成。以下是虚拟环境基本命令
虚拟环境基本命令
- 创建虚拟环境
mkvirtualenv -p python3 blog
- 查看已有的虚拟环境
workon
- 使用已有的虚拟环境
workon virtueName
- 退出已有的虚拟环境
deactivate
- 删除已有的虚拟环境
rmvirtualenv virtueName

Xftp和FileZilla连接本地虚拟机
查看虚拟机本地地址
192.168.80.128

在使用sftp连接时,filezilla与虚拟机之间是通过ssh连接,所以需在虚拟机上安装ssh-server。
中间连不上怀疑是防火墙的问题
查看防火墙是否打开
sudo ufw status
inactive 表示没有打开
[sudo] password for andy:
Status: inactive
Ubuntu上安装ssh-server指令:
sudo apt-get install openssh-server

安装完成后进行连接,这里的用户名和密码是虚拟机的用户名和密码

连接成功,开始传输文件
这里使用最low的传输方式,直接将项目拖入项目的/home/andy/Documents目录中,(看别人都是拖进/var/www/),然后开始部署后端。
好像可以用git直接从gitee上拉取项目,这种方式也便于后面的维护

部署Django
- 运行在指定虚拟环境下(避免日后项目之间相互影响)
workon pvCal
- 进入到项目运行文件夹。
(查看当前所在目录的绝对路径)
pwd
cd ../ //返回上一级目录
cd Document //进行Document目录
- 先试试能不能运行项目
Python manage.py runserver

没有Django包,那就下载
以下直接列出项目其他需要的库(这里通过Python manage.py runserver来尝试缺失哪些包,但应该可以更快的方法,将需要的包写入个req.txt文件,然后pip install -r req.txt应该也行)
pip install django
pip install pymysql
pip install djangorestframework
pip install django-cors-headers
连接数据库
最后是连接数据库失败,解决它

下载数据库(这边我没有进入虚拟环境下载,直接下载了)
sudo apt-get install mysql-server
在安装完数据库之后,我们需要用系统生成的用户名和密码登录mysql,这样在后面对数据库操作时,不容易产生错误。
在下面的文件中找到用户名和密码
cat /etc/mysql/debian.cnf
有可能没有打开文件的权限
切换成root用户,设置密码
sudo passwd root
用su命令进入到root用户就可以访问了。后续如果登录不了,就用这里的用户和密码登录
比如:
mysql -uxxxxxxx(用户) -pXXXXXXXXXX(密码)

查看数据库状态

本文详细介绍在虚拟机中部署Django应用的过程,包括环境搭建、数据库迁移、使用uWSGI和Nginx部署等内容。

1446

被折叠的 条评论
为什么被折叠?



