Linux centos+python3.7+django2.1.3+wsgi 环境部署

Linux 下搭建python3.7+django2.1.3+wsgi

小贴士:

现在的linux环境都自带python2.x,使用者如想使用python3.x则需注意安装与使用上的小细节,例如安装成功python3需要进行设置python3的软链,以及设置pip3的软链,可以使用python3 -V pip3-V 查看是否安装成功。

运行环境linux+python3.7+django2.1.7

  • linux下安装python3
    准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件)

yum groupinstall 'Development Tools'

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

-下载 Python3.7代码包

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
(如果这里进行下载包下来报错,可手动取包通过FTP工具传入注意文件夹的权限,否则无法传到linux)
(我个人是通过自己下载python3.7安装包,通过ftp传到服务器上的某个文件夹下解压,然后安装的)

-进行解压

tar xvf Python-3.7.0.tgz 可加指定目录

进入解压好的安装包路径后编译安装包,指定安装路径,并执行安装命令:

cd Python-3.7.0

./configure -prefix=/usr/local/python3

注意:prefix参数用于指定将Python安装在新目录,防止覆盖系统默认安装的python

编译
make && make install

第4步安装后会报错

错误提示是 ModuleNotFoundError: No module named '_ctypes'

参看网站:https://www.kaaer.cn/archives/811

解决办法:
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

yum install libffi-devel -y

重新执行 make && make install

---编译报错请百度下解决方法,进行上一步的操=操作进行重新编译

提示:Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

这是原因没有安装或升级oenssl:

yum install openssl-devel

再次重复编译方案python3.7:

成功后会提示成功安装pip-7.12与setuptools!

-建立python3新的软连接,指向Python-3.7:

sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3

  • 建立pip3新的软连接,指向pip3:

sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

因为yum使用python2,因此替换为python3后可能无法正常工作,因此修改yum配置文件

sudo vi /usr/bin/yum /将第一行指定的python版本改为python2.7(#!/usr/bin/python 改为 #!/usr/bin/python2.7)/

  • 进行版本运行演示

python3 -V

python 3.7.1********

pip3 -V

pip 10.0.1**********

安装完成

-安装django并创建mysite项目

使用pip安装django

pip install Django

或指定安装版本

pip install Django==2.1.3

测试安装是否成功

进入python环境

python

导入django,如果没有报错则表示安装成功

import django

查看django版本

django.VERSION #django.get_version()

如果使用django-admin 提示命令不存在则需创建django-admin的全局命令,原文件在python安装目录的bin目录下

ln -s /usr/local/python3/bin/diango-admin.py /usr/local/bin/diango-admin.py

-使用django创建mysite项目

django-admin.py startproject mysite

下面我们就来创建mysite下面的app应用

django-admin.py startapp app

进行运行服务

python3 ./manage.py runserver 0.0.0.0:9000

注意manage.py启动时需要写出完整路径 因为manage是子目录下的一个文件,还有注意当前用户是否有执行权限,便面不必要的坑

打开网页访问:0.0.0.0:9000就会看到django默认页面,服务启动完毕!

其中需要注意的问题是:
1、端口是否开放。
2、还有就是永久启动django服务,关闭远程连接后任然可以使用。

安装编译 wsgi
tar xvf mod_wsgi-4.6.7
cd mod_wsgi-4.6.7

./configure --with-apxs=/www/server/apache/bin/apxs --with-python=/usr/bin/python3
出现报错 说是apxs 的错误
执行 ./configure --with-apxs=/www/server/apache/bin/apxs
然后 make && make install

修改django框架下的setting.py
ALLOWED_HOSTS = ['10.10.10.10','xxx.xxxx.com']
你的服务器公网IP是啥就写啥,后面是解析的域名
修改apache 配置文件 httpd.conf

ServerName crm.staruning.com # 域名
WSGIDaemonProcess mysite python3-path=/mysite/blog
WSGIProcessGroup mysite
#注意,以下发生变化,即第二个参数为访问的路径
WSGIScriptAlias /mysite /mysite/mysite/wsgi.py


Order Deny,Allow
Allow from All


重新启动服务器
service httpd restart

你可能感兴趣的:(Linux centos+python3.7+django2.1.3+wsgi 环境部署)