部署Django到云服务器(centos+nginx+mysql+uwsgi+python3)【操作篇(1)】
开篇
笛卡尔说:“你不能教会一个人任何东西,你只能帮助他发现他自己内心本来就有的东西!”
jacky能教你的,只能是经验和建议,要逆袭还得通过自己对数据的不断领悟,数据领域的技能都很简单,这些知识就在那里,等待你的觉醒;
我们学习任何技能和知识,目的都是为了实践,我们学会了手艺,最后都是要赚钱的,有些朋友跟着jacky,一起学了Python数据挖掘,一起学了MySQL,一起学了Linux等等吧,还有一些数据运营和数据思维的技能,那最终我们的结果是什么?就是怎样运用我们所学的这些知识,帮助我们赚钱,这就是我一直倡导的“不做有才华的穷人”,我们要学会知识变现,那怎样才能实现数据知识变现呢?
本系列 jacky就手把手教你如何把构建一个数据平台,那这几次的分享,jacky将分享给大家如何把django部署到服务器上。
阅读前需掌握的技能
- 编程语言:Python
- 系统框架:Django
- 数据库:MySQL
- 服务架构:Uwsgi+Nginx
- IDE:Pycharm
- 代码管理:Git
- 镜像系统:Centos
(一)购买服务器
可以买阿里云,百度云或腾讯云的产品,购买入门配置足够,其他的产品用过几个,优点是钱便宜,缺点是坑太多
-
注意:这里要买的是云服务器,不是云虚拟主机
-
注意:选择的是linux系统( 包括centos或Ubuntu)
-
购买成功后,记住IP号,和云服务器名,还有我们的密码;
(二)用xshell 连接到我们的云服务器
- 连接成功,我们就进入了如下界面:
(三)配置LNMP
3.1 LNMP 基础铺垫
关于什么是LNMP,官网写的很好,也很有逻辑,这里jacky就直接给大家截图LNMP官网中的内容,跟大家分享了;
3.2 下载LNMP安装包
- 在官网下载LNMP安装包,下载到本地电脑,下载地址:http://soft.vpser.net/lnmp/lnmp1.5.tar.gz
3.3 将LNMP安装包,上传到服务器上
- 怎么上传?
安装命令
$ sudo yum install lrzsz
使用方式
$rz
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
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配置到服务器的全局变量中
- 上面我们已经在服务器上成功的安装了,但在终端上并不能直接使用,我们需要使用两个 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
未完待续》》》》》》》》》》》》