centos7.6+python3+apache2.4+django2.1.2网站部署总结
本次网站部署是使用了django2.1.2版本部署,由于centos自带的Python2.7不支持django2.0以上版本,故需要安全python3的环境。python3、apache的安装不做具体介绍,网上有很多方法,不做具体介绍,重点针对本次部署过程中遇到的几个问题进行记录。
1、python mysql数据库连接模块;
由于python3不支持使用python2的MySQLdb连接数据库,需要使用pymysql的模块来连接数据库,如果直接import pymysql模块,django程序启动的时候会报错提示没有pymysql模块。这里需要在站点的__init__.py的文件里面加入下面的内容:
import pymysql
pymysql.install_as_MySQLdb()
把pymysql当成MySQLdb来用。
2.安装mod_wsgi模块方法;
使用yum install mod_wsgi去安装apache mod_wsgi模块, 这样做其实最终mod模块会调用本地默认的python2的所有库文件, 无论你后面如何配置django入口文件, apache都不会使用我们配置的python3, 导致apache无法调用python3而报错.。正确的方法是使用python3的pip install mod_wsgi来安装模块,注意pip也分python2和python3,具体看你安装的时候的配置。如果已经通过yum安装过了,可以通过yum remove mod_wsgi移除到即可。
另外,通过pip安装模块的会出现gcc编译错误的问题,网上的说法是缺少了一些必要的编译环境包导致的,网上找了下解决方案,安装了下面的包以后就好了
yum -y install gcc python36-devel bzip2-devel sqlite-devel openssl-devel readline-devel xz-devel xz-devel tk-devel gdbm-devel python-devel
安装完成后通过mod_wsgi-express install-module获取到模块的文件
3.apache配置
编辑vi /etc/httpd/conf/httpd.conf,在文件末尾加mod_wsgi-express install-module获取到的信息;
虚拟主机配置
WSGIPythonHome "/usr" #这里设置的是python的标准库所在位置,这个是mod_wsgi-express install-module显示的路径,实际写到python3.6的目录会有问题不知道什么原因,这样配置就没问题;
Listen 8000
<VirtualHost *:8000>
ServerName django.example.com
Alias /static/ /var/www/django/static/ #静态文件路径
<Directory /var/www/django/static> #静态文件路径
Require all granted
</Directory>
<Directory /var/www/django/mysite> #站点路径
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess mysite python-path=/usr/lib/python3.6/site-packages:/usr/local/lib/python3.6/site-packages:/usr/local/lib64/python3.6/site-packages #python3的第三方库路径
WSGIScriptAlias / /var/www/django/mysite/wsgi.py #django项目的wsgi.py文件路径
centos7.6+python3+apache2.4+django2.1.2网站部署总结的更多相关文章
- 学以致用六---Centos7.2+python3.6.2+django2.1.1 --搭建一个网站
目的,创建django project,开始django web之旅 一.创建一个project 在opt目录下创建一个project [root@gxc opt]# django-amdin. ...
- 学以致用七---Centos7.2+python3.6.2+django2.1.1 --搭建一个网站(补充)
补充:上一节出现的报错提示 可在settings.py 里,改成 ‘*’ ,这样所有的主机都可以访问了. 打开网页 注意红色框出来的 hello 是和 urls.py里的hello对应 urls.p ...
- Python 3之Django2部署(centos7+nginx+python3+django2.0)
前置工具,系统为centos7.5,为了方便管理,可以安装宝塔免费版本 首先, yum install -y wget && wget -O install.sh http://dow ...
- Centos7 安装python3
Centos7 安装python3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #安装sqlite-devel yum -y ...
- Django:Python3.6.2+Django2.0配置MySQL
持续学习Django中... Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据 ...
- centos7安装 python3.6,且保留2.7版本
CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...
- CentOS7 安装Python3,开发SocketIO 客户端
CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...
- CentOS7上Python3.5安装
CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...
- CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置
CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置 ========================================== ...
随机推荐
- monorepo仓库管理方式探秘
前言 随着功能和业务量级的飙升,前端代码量级也越来越大,管理运维的成本也进一步增加. 代码仓库的运营管理挑战也浮出水面. 主流方案有两种:一是multirepo式的分散式的独立仓库,二是monorep ...
- 用WPF实现大数据展示,超炫的效果
开头语 经过一段时间研究,终于实现CS和BS相同效果的大数据展示平台了.首先来看看实现的效果,超炫的效果,客户特别喜欢,个人也非常满意,分享给各位,同大家一起交流学习. 从上图可以看出,分为左中右三栏 ...
- spring定时器时间设置规则
单纯针对时间的设置规则org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpressio ...
- requests + bs4 爬取豌豆荚所有应用的信息
1.分析豌豆荚的接口的规律 - 获取所有app的接口url 2.往每一个接口发送请求,获取json数据 解析并提取想要的数据 app_data: 1.图标 app_img_url 2.名字 app_n ...
- 初始Redis与简单使用
初始Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...
- c++ 基础知识回顾 继承 继承的本质就是数据的copy
c++ 基础知识笔记 继承 什么是继承 继承就是子类继承父类的成员属性以及方法 继承的本质就是 数据的复制 是编译器帮我们做了很多操作 class Base { public: Base(){ cou ...
- ad域-iis
环境准备: 1. win server 服务器安装完成 2.配置主机名 3.配置静态ip 安装ad域和iis 重启服务器 密码记住!!! 点击安装 把服务器的NDS设置成本机ip 重启完成 注意:ad ...
- nodeJS实现识别验证码(tesseract-ocr+GraphicsMagick)
背景 最近在写一个爬虫的小工具,卡在登录这里. 想爬的网站需要登录才能获取数据,登录又需要输入验证码. 好在验证码是简单的验证码,还可以自己识别试试. 需求分析 1.保存验证码图片 2.识别验证码 3 ...
- centos7 编译安装 php7.4
1. 下载安装编译工具 yum groupinstall 'Development Tools' 2.安装依赖包 yum install libxml2 libxml2-devel openssl o ...
- 【转】【e周美文】优秀博客上榜推荐
Everybody,本周的博客推荐开始啦,记住,有好的博客可要给小活推荐一下哦. 7.19日 博客推荐 Android权限列表作者:@大漠落日 链接:http://my.eoe.cn/1103623/ ...