@[TOC]阿里云Ubuntu服务器部署Django项目
阿里云Ubuntu服务器部署Django项目部分教程
购买阿里云服务器
网上有很多教程,这里不详细说明。
下载Xshwll软件
这部分自己网上找,其中包括用Xshell软件远程连接阿里云服务器,这里不详细说明。
自己的电脑需要做的工作:
1.确认项目没有bug;
2.打开命令行程序,进入自己的项目的文件的位置,用pip freeze > requirements.txt
将当前环境的包导出到requirements.txt
文件中,方便在部署的时候安装;
3.安装git,把自己的项目上传到github或者码云,具体过程如下:
* git init
* git remote add origin xxx.git
* git add .
* git commit -m 'first commit'
* git pull origin master --allow-unrelated-histories
* git push origin master
其中"git push origin master
“表示把本地代码上传到服务器,”git pull origin master
"表示把代码仓库上的代码下载到本地。
在阿里云服务器上的准备工作:Ubuntu 18.04 64位
-
系统本身就安装好python2.7 和python3.6
- 先刷新源 sudo apt-get update
- 然后更新系统 sudo apt-get dist-upgrade
- sudo apt install python3-pip
-
安装
virtualenv
以及virutalenvwrapper
。并创建虚拟环境。- pip install virtualenv
- pip install virtualenvwrapper
- sudo apt install vim
- vim ~/.bashrc 进入文件中,填入以下四行代码:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv source /usr/local/bin/virtualenvwrapper.sh
- 编辑完成之后按ESC,然后输入:wq保存退出,
- 执行语句
source ~/.bashrc
- 创建虚拟环境
mkvirtualenv django-env-py3
我的虚拟环境叫django-env-py3,其他用户可以自定义。 - 进入虚拟环境
workon django-env-py3
-
安装
git
:sudo apt install git
-
为了方便XShell或者CRT连接服务器,建议安装
OpenSSH
:sudo apt install openssh-server openssh-client service ssh restart
-
安装
MySQL
服务器和客户端:sudo apt install mysql-server mysql-client sudo apt-get install libmysqld-dev
-
修改密码,本篇文章将密码修改成
5201314
, 用户可自行定义。
mysql
use mysql;
update mysql.user set authentication_string=password('5201314') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
- 重新启动mysql:
sudo service mysql restart
- 进入数据库,密码已经设置好了,需要输入密码才能进数据库。
mysql -u root -p
- 把数据导入数据库:
输入密码,连接数据库:
mysql -u root -p
创建数据库:
CREATE DATABASE example;
进入创建的数据库:
use example;
向这个数据库导入sql文件:
source /path/example.sql;
另外可能需要安装的python第三方库(我的个人电脑没有虚拟机):
pip3 install aliyun-python-sdk-core
pip3 install pillow
另外有个bug,可以参考:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. django配置mysql数据库
- 运行项目:
python manage.py runserver 0.0.0.0:80