时光飞逝,机会就在我们眼前,学会把握机遇。

Django部署到服务器上的准备环境

  •  小涛
  •   Django部署
  •  2018-12-26
  •  1217 人已阅读


系统环境
  1. 服务器的操作系统:Ubuntu 16.04 64位

  2. 云服务器是阿里云

  3. 远程连接工具:FinalShell 下载地址

首先拿到一台服务器,先查看python的版本是否与我们开发的版本是否一致;因为linux会自带python

查看Linux的python版本

输入python 双击table键;就能够看到系统给我安装了哪些版本了

root@iZwz98z8juypkzatn41qjbZ:~# python
python           python2.7-config python3.5         python-config
python2           python2-config   python3.5m        
python2.7         python3           python3m  

由于我的开发环境是python3.7;为了保持一致,需要安装一个python3.7

安装Python 3.7
apt-get install software-properties-common
add-apt-repository ppa:jonathonf/python-3.7
apt-get update
apt-get install python3.7

安装完成后,输入python双击tab键就能看到我们安装的Python3.7

创建软连接

切换python3为我们安装的Python3.7的版本

root@iZwz98z8juypkzatn41qjbZ:~# python3 -V
Python 3.5.2
root@iZwz98z8juypkzatn41qjbZ:~# cd /usr/bin
root@iZwz98z8juypkzatn41qjbZ:/usr/bin# rm python3
root@iZwz98z8juypkzatn41qjbZ:/usr/bin# ln -s python3.7 python3
root@iZwz98z8juypkzatn41qjbZ:/usr/bin# python3 -V
Python 3.7.1
安装pip3

安装后执行pip3 -V,报错ImportError: cannot import name 'sysconfig' from 'distutils'

root@iZwz98z8juypkzatn41qjbZ:/# pip3 -V
Traceback (most recent call last):
 File "/usr/bin/pip3", line 9, in <module>
   from pip import main
 File "/usr/lib/python3/dist-packages/pip/__init__.py", line 14, in <module>
   from pip.utils import get_installed_distributions, get_prog
 File "/usr/lib/python3/dist-packages/pip/utils/__init__.py", line 23, in <module>
   from pip.locations import (
 File "/usr/lib/python3/dist-packages/pip/locations.py", line 9, in <module>
   from distutils import sysconfig
ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.7/distutils/__init__.py)

解决方案

添加源(原有基础上)

sudo vim /etc/apt/sources.list

把下面的内容插入到sources.list中去

deb http://cn.archive.ubuntu.com/ubuntu bionic main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-proposed main multiverse restricted universe

update更新命令

sudo apt-get update

安装pip3

sudo apt-get install python3-pip

执行pip3 -V

root@iZwz98z8juypkzatn41qjbZ:/# pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

升级pip3

执行命令

root@iZwz98z8juypkzatn41qjbZ:/# pip3 install --upgrade pip

升级完成后,执行pip3 -V 命令;又出现了错误:ImportError: cannot import name 'main'

解决方案:

/usr/bin/pip3文件下

将原来的:

from pip import main
if __name__ == '__main__':
   sys.exit(main())

改为:

from pip import __main__
if __name__ == '__main__':
   sys.exit(__main__._main())

进行测试;成功

root@iZwz98z8juypkzatn41qjbZ:/# pip3 -V
pip 18.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
安装虚拟环境
pip3 install virtualenv

创建虚拟环境

virtualenv mysite_env
# 启动虚拟环境
source mysite_env/bin/activate
# 退出虚拟环境
deactivate
导出项目依赖库到 requirements.txt

在虚拟环境下执行命令

(mysite_env) D:\PyCharm_WorkSpace\mysite_env\mysite>pip freeze > requirements.txt

导入依赖库

pip install -r requirements.txt
ubuntu 16.04 安装MySQL8.0数据库
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
dpkg -i mysql-apt-config_0.8.10-1_all.deb
apt-get update
apt-get install mysql-server
windows导出MySQL数据库
#  tengxt 数据库的用户名 
# mysite_db 数据库名
# data.sql 导出的sql
mysqldump -u tengxt -p mysite_db > data.sql
SCP上传文件
# data.sql 需要上传的文件
# root@119.23.201.6 用户名@远程服务器的地址
# /home/data.sql 服务器保存的地址
scp data.sql root@119.23.201.6:/home/data.sql
导入数据到MySQL中
# 先登录到MySQL数据,找到mysite_db数据库然后导入数据
mysql> use mysite_db
Database changed
mysql> source data.sql;
安装mysqlclient;报错:OSError: mysql_config not found

解决方案:

wget https://dev.mysql.com/get/libmysqlclient-dev_8.0.11-1ubuntu16.04_amd64.deb
dpkg -i libmysqlclient-dev_8.0.11-1ubuntu16.04_amd64.deb
# 执行上一句,若提示没有按照libmysqlclient21,则执行apt-get install libmysqlclient21
apt-get update
apt-get install libmysqlclient-dev
# 安装python开发包
apt-get install python3.6-dev
apt-get install openssl
apt-get install libssl-dev
# 把上面的依赖安装完成后进行安装就行了
pip install mysqlclient
测试网站
python manage.py runserver 0.0.0.0:80
# 需要在项目的settings.py文件中设置
ALLOWED_HOSTS = ['*']
  很赞哦!(0)
关闭

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

 发表评论  请文明留言
0 条评论

 还没有评论,来说两句吧...