本人环境

VMware10
Xshell6
Navicat

1.虚拟机配置下网路,能够连上Xshell

虚拟机开启python网络服务 如何在虚拟机上运行python_django


虚拟机开启python网络服务 如何在虚拟机上运行python_django_02

2.看看要部署的django项目,这里显然需要pip3和python3

虚拟机开启python网络服务 如何在虚拟机上运行python_django_03


由于我是新建的虚拟机(centos7),下载的话要更新下yum

yum -y install

然后使用yum安装pip,首先安装拓展源

yum -y install epel-release

再安装pip

yum -y install python-pip

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_04


接下来是升级python,一般linux内置的版本是2.X,可通过这个命令查看

python -V

虚拟机开启python网络服务 如何在虚拟机上运行python_python_05


但项目要求的版本更高,我们首先安装必备软件

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc

然后就是下载Python3.6,这里先建个文件夹方便管理

mkdir /usr/download

进入文件夹中

cd /usr/download

用wget进行下载安装包,这里先用yum安装一个

yum -y install wget

再进行python安装包的下载

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

解压文件

tar -xvf Python-3.6.4.tgz

创建安装文件的路径方便管理

mkdir /usr/local/python3

进入到其中并进行编译

cd Python-3.6.4
./configure --prefix=/usr/local/python3

接下来进行安装(先执行make再make install)

make
make install

接下来创建新版本的软链接,让我们安装的python3可以通过直接输入python来使用

mv /usr/bin/python /usr/bin/python_bak
ln -s /usr/local/python3/bin/python3 /usr/bin/python

我们检查一下检查python的版本

python -V

虚拟机开启python网络服务 如何在虚拟机上运行python_mysql_06


但上边完成之后,pip3和yum是用不了的,需要进一步配置

vi ~/.bash_profile

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_07


把:/usr/local/python3/bin加在PATH后,即

虚拟机开启python网络服务 如何在虚拟机上运行python_mysql_08


加完后保存退出,执行以下命令,让上一步修改成功

source ~/.bash_profile

这样pip3就可以正常使用了

接下来配置yum,首先

vi /usr/bin/yum

把第一行的

虚拟机开启python网络服务 如何在虚拟机上运行python_mysql_09


改为

虚拟机开启python网络服务 如何在虚拟机上运行python_mysql_10


同样的,修改

vi /usr/libexec/urlgrabber-ext-down

把第一行的

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_11


改为

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_12


yum也可正常使用了!

至此,项目所需pip和python环境配置完成

3.项目要使用mysql,用docker来实现

回到桌面?

cd

安装docker

yum install -y docker

启动docker

service docker start

拉取mysql镜像源

docker run -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql hub.c.163.com/library/mysql:5.7

4.继续看django项目,发现使用的是本地的mysql数据库

虚拟机开启python网络服务 如何在虚拟机上运行python_centos_13


因此我们需要将虚拟机的端口映射到本地,先关闭虚拟机,到VMware的界面,打开编辑里的虚拟网路编辑器

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_14


点击NAT模式的NAT设置

虚拟机开启python网络服务 如何在虚拟机上运行python_python_15


虚拟机开启python网络服务 如何在虚拟机上运行python_django_16


主机端口:虚拟机外部访问改虚拟机的端口

虚拟机ip地址:可通过 ip addr 查询

虚拟机端口:由于使用的是mysql,故用3306端口

之后点击确定应用

5.打开虚拟机,连上Xshell,打开docker

service docker start

挂上mysql

docker run -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql hub.c.163.com/library/mysql:5.7

关闭防火墙

systemctl stop firewalld

点击Xshell中的新建文件传输

虚拟机开启python网络服务 如何在虚拟机上运行python_django_17


把项目文件拖入右方

虚拟机开启python网络服务 如何在虚拟机上运行python_mysql_18


进入到有requirements.txt文件夹中,我的话是

cd /root/django/

运行

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

这样才算成功,不行的话就按它的要求来

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_19


接下来

python3 manage.py runserver 192.168.56.116:8000(你之前填的IP地址)

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_20


打开一个网页,网址处填192.168.56.116:8000

虚拟机开启python网络服务 如何在虚拟机上运行python_虚拟机开启python网络服务_21


出现了东西才算成功,不行的话就按提示一步步去解决

至此,Django项目在Centos虚拟机中实战部署完成!