部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)操作篇

Posted 数据分析部落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)操作篇相关的知识,希望对你有一定的参考价值。

开篇

笛卡尔说:“你不能教会一个人任何东西,你只能帮助他发现他自己内心本来就有的东西!”

我们只要多模仿,多思考,总有一个时刻,我们就会觉悟:原来,这些都这么的简单!

这次jacky分享的文章已涉及数据构架的内容,内容对初学者来说,模仿很容易,但是要理解还需多思考,我们需要自我觉悟!

先模仿jacky的分享,在思考原理,这个学习逻辑会让你事倍功半。

阅读前需掌握的技能

  • 编程语言:Python

  • 系统框架:Django

  • 数据库:mysql

  • 服务架构:Uwsgi+nginx

  • IDE:Pycharm

  • 代码管理:Git

  • 系统:Centos

(一)购买服务器

可以买阿里云,百度云或腾讯云的产品,购买入门配置足够,其他的产品用过几个,优点是钱便宜,缺点是坑太多

  • 注意:这里要买的是云服务器,不是云虚拟主机

  • 注意:选择的是linux系统( 包括centos或Ubuntu)

  • 购买成功后,记住IP号,和云服务器名,还有我们的密码;

(二)用xshell 连接到我们的云服务器

  • 连接成功,我们就进入了如下界面:

部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)【操作篇(1)】

(三)配置LNMP

3.1 LNMP 基础铺垫

关于什么是LNMP,官网写的很好,也很有逻辑,这里jacky就直接给大家截图LNMP官网中的内容,跟大家分享了;

部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)【操作篇(1)】

3.2 下载LNMP安装包

3.3 将LNMP安装包,上传到服务器上

  • 怎么上传?

安装命令
$ sudo yum install lrzsz

使用方式
$rz

部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)【操作篇(1)】

3.4 将LNMP解压并在服务器上安装

解压
tar xf lnmp.tar.gz
cd lnmp1.5/
./install.sh

3.5 LNMP配置

  • 运行上面的命令,服务器将自动安装LNMP,安装前系统会询问我们安装什么版本的MySQL,MySQL我们选择5.5,内存大的就选5.5以上;其余的选择同,或者直接回车都安装默认也是没有关系的,之后就是漫长的安装,几十分钟吧… …

(四)安装Python3

系统自带的是Python2,这里我们需要的是Python3,为什么用Python3不用Python2,请参看jacky的其他文章

4.1 下载安装包

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

部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)【操作篇(1)】

4.2 解压并安装Python3

tar -zxvf Python-3.5.4.tgz
cd Python-3.5.4
./configure --prefix=/usr/local/python3
make && make install

4.3 把Python3配置到服务器的全局变量中

部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)【操作篇(1)】

  • 上面我们已经在服务器上成功的安装了,但在终端上并不能直接使用,我们需要使用两个 ln命令

ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
  • 注意:上面的ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3命令中python3.5和pip3后一定要加一个空格,这点非常非常的重要

(五)安装和使用虚拟环境virtualenv

  • 执行安装命令

pip3 install virtualenv
  • 更新pip3,并再次安装virtualenv

pip3 install --upgrade pip
pip3 install virtualenv
  • 创建名字为django的虚拟环境,执行命令

python3 -m venv /home/virtualenv/django
cd /home/virtualenv/django/bin
source activate
  • 下面为配置成功的界面

(六) 在django的虚拟环境下安装第三方库

6.1 批量导入

要安装的第三方库,有很多,这里jacky选择了更简便的批量安装,命令方法如下:

  • 在服务器下,新建txt文件,并把下面的库粘贴到txt文件中保存

vi reqrequirements.txt
diff-match-patch==20121119
Django==2.0.1
django-crispy-forms==1.7.0
django-formtools==2.1
django-import-export==0.6.1
django-pure-pagination==0.3.0
django-ranged-response==0.2.0
django-reversion==2.0.12
django-simple-captcha==0.5.6
djangorestframework==3.8.2
et-xmlfile==1.0.1
future==0.16.0
httplib2==0.9.2
jdcal==1.3
odfpy==1.3.6
openpyxl==2.4.9
Pillow==5.0.0
pytz==2018.4
PyYAML==3.12
six==1.11.0
tablib==0.12.1
unicodecsv==0.14.1
uWSGI==2.0.17
xlrd==1.1.0
xlwt==1.3.0

6.2 批量安装命令

pip install -r reqrequirements.txt

6.3 安装mysqlclient安装包

因为这个安装包,比较容易出错,所以单独来安装这个包

mysqlclient==1.3.12

  • 如安装mysqlclient第三方库出现报错(“OSError: mysql_config not found”),修改配置文件并手动安装的解决方案:

cd /tmp
wget http://mirrors.163.com/pypi/packages/6f/86/bad31f1c1bb0cc99e88ca2adb7cb5c71f7a6540c1bb001480513de76a931/mysqlclient-1.3.12.tar.gz#sha256=2d9ec33de39f4d9c64ad7322ede0521d85829ce36a76f9dd3d6ab76a9c8648e5
tar -xzvf mysqlclient-1.3.12.tar.gz
cd mysqlclient-1.3.12
vim setup_posix.py
***修改setup_posix.py下,mysql_config.path = "mysql_config" 改成 mysql_config.path = "/usr/local/mysql/bin/mysql_config",保存并退出:wq!****
python setup.py install

未完待续》》》》》》》》》》》》

以上是关于部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)操作篇的主要内容,如果未能解决你的问题,请参考以下文章

Hexo部署到云服务器

部署(3.上传项目到云服务器)

django项目的部署

小白部署TP5到云服务器所遇到的二三个问题

小白部署TP5到云服务器所遇到的二三个问题

部署beego项目到远程服务器