本文指导安装Apache2, mod_wsgi 4.6.5, Django2.1,以及安装过程中可能出现的问题及解决方法。

1,安装Apache2.4

我本机是Ubuntu16.04的系统,如果时CenterOS,使用yum安装就好了.

sudo apt install apache2 这个安装一般没有什么问题

2,源码编译安装Python3.6

源码地址:https://www.python.org/ftp/python/3.7.1/Python-3.6.9.tgz

编译安装相关命令如下:

tar -zxf Python-3.6.9.tgz

cd Python-3.6.9

./configure --prefix=/usr/local/python36 --enabled-shared --enable-loadable-sqlite-extensions

配置选项 --prefix指定安装目录,跟其他Python环境独立开来,也方便不用的时候删除;

--enable-shared 启用共享库,mod_wsgi需要Python开发库支持;

--enable-loadable-sqlite-extensions django默认使用sqlite数据库

make

sudo make install

3, 编译安装mod_wsgi4.6.5

下载地址: https://github.com/GrahamDumpleton/mod_wsgi/releases

编译安装过程,如有不详细的地方,请参考:https://modwsgi.readthedocs.io/en/develop/user-guides/installation-issues.html#

tar xvfz mod_wsgi-X.Y.tar.gz

./configure --with-apxs=/usr/bin/apxs \

--with-python=/usr/local/python36/bin/python3.6

配置选项--with-apxs 如果没有执行sudo apt install apache2-dev

--with-python 指定上面安装的Python路径

make

make install

安装完成可以看下:

4, Apache配置支持wsgi

sudo vim /etc/apache2/site-available/wsgi.conf

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py

#WSGIPythonHome /path/to/venv

#WSGIPythonPath /path/to/mysite.com

# 使用 mod_wsgi 后台模式,"Daemon mode" 是运行 mod_wsgi 的推荐模式

WSGIDaemonProcess example.com python-home=/path/to/venv python-path=/path/to/mysite.com

WSGIProcessGroup example.com

Require all granted

# 提供文件服务

Alias /robots.txt /path/to/mysite.com/static/robots.txt

Alias /favicon.ico /path/to/mysite.com/static/favicon.ico

Alias /media/ /path/to/mysite.com/media/

Alias /static/ /path/to/mysite.com/static/

Require all granted

Require all granted

注意事项:

如果多个 Django 站点运行在同一 mod_wsgi 进程,它们会共用最先启动的站点配置。能通过以下修改改变行为:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")

wsgi.py 中也这么改:

os.environ["DJANGO_SETTINGS_MODULE"] = "{{ project_name }}.settings"

上传文件名称包含非 ASCII 字符的文件时,若抛出 UnicodeEncodeError,确认 Apache 是否被正确配置,能接受非 ASCII 文件名:

export LANG='en_US.UTF-8'

export LC_ALL='en_US.UTF-8'

常见的配置文件路径是 /etc/apache2/envvars

5, 启用网站

启用配置/弃用

sudo a2ensite/a2dissite path/to/wsgi.conf

检查你的配置文件

apache2ctl configtest如果有问题,可以根据提示解决

sudo service apache2 start/restart

6, 最后

curl http://localhost/api 检查你的网站,也可以在浏览器打开相应的地址

python3.6 django部署_Apache2+Django+Python3.6部署-相关推荐

  1. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  2. 【django轻量级框架】(Python3.6.8+Django2.0)第一个Django项目与基础环境搭建

    一.前言 Django 是一个开放源代码的 Web 应用框架,由 Python 写成.采用了 MTV 的框架模式,即模型 M,模板 T 和视图 V.当然,网上也有人说 Django 采用了 MVC 的 ...

  3. Django打造大型企业官网-项目部署

    Django打造大型企业官网-项目部署 一.准备工作 1.在开发机上的准备工作 1)确认项目没有bug. 2)打开终端,进入虚拟环境,再 cd 到项目根目录下,执行命令:pip freeze > ...

  4. apache 部署python3_centos7.6+python3+apache2.4+django2.1.2网站部署总结

    本次网站部署是使用了django2.1.2版本部署,由于centos自带的Python2.7不支持django2.0以上版本,故需要安全python3的环境.python3.apache的安装不做具体 ...

  5. Django+nginx+uwsgi+ubuntu18.04网站部署

    Django网站的部署 原理 凡事都要讲个原理嘛.如图所示,就是整个原理啦.详细可以观看哔哩哔哩up主讲的真不错呀!!! 网站用户 网站服务器 socket uwsgi Django 图片来源于(ht ...

  6. [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis

    在上篇教程中,我们手动构建了两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx,成功部署了一个简单的Django项目.然而在实际的生产环境中,我们往往需要定义数量庞大的 dock ...

  7. Django + Uwsgi + Nginx 实现生产环境部署1

    项目开发完毕后,需要将代码放到服务器上,这样用户才能访问.接下来我们一步一步来进行一波部署操作. 1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前 ...

  8. Docker部署Django由浅入深系列(中): 双容器部署Django + Uwsgi + Nginx

    本文是使用Docker部署Django由浅入深系列的中篇,我们将构建两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx.我们将了解不同容器间是如何通信的,并学会正确配置uwsgi ...

  9. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

最新文章

  1. R语言ggplot2可视化:使用ggplot2绘制按时间顺序排列的时间线图(chronological timeline plot)
  2. 【翻译】如何创建Ext JS暗黑主题之一
  3. 徐阿衡 | 知识抽取-实体及关系抽取(一)
  4. Spring框架----IOC的概念和作用之程序的耦合和解耦
  5. Android使用自定义字体(自定义view)
  6. MATLAB编程思想
  7. linux 将当前时间往后调整2分钟_Python处理时间序列常用方法汇总
  8. Android内存、性能是程序永恒的话题
  9. FFMPEG 常用命令行
  10. 李嘉诚培养23岁孙女接班 每年安保费就要花10亿!
  11. C4D快速入门教程——XPresso基本使用
  12. spring cloud day(6) gateway网关
  13. 回炉STM32入新坑cubemx
  14. mac电脑如何找到usr文件夹
  15. 【Image Matting】Image Matting评价指标
  16. 淘宝旺旺智能回复软件 旺旺智能客服 旺旺聊天机器人
  17. UVA 1471 Defense Lines 防线
  18. idea的language level含义和module的language level自动跳到5
  19. CyberGhost使用、下载、注册【完整教程】
  20. python爬取京东手机参数_python爬取京东手机价格

热门文章

  1. java中关于length的真确理解~~~~有补充的请跟帖~~~
  2. python定时任务是异步的吗_定时任务、异步任务
  3. 终端不能联网_5G和物联网DDA的关系
  4. haarcascades---各种分类器xml文件下载地址
  5. [转载] JAVA数组实现学生成绩统计
  6. 如何使用React Native样式表?
  7. kafka偏移量保存到mysql里_【队列】调试应用时进行的kafka偏移量调整
  8. ansys添加力矩_ANSYS软件中施加扭矩的方法
  9. python爬取酷狗音乐top500_python获取酷狗音乐top500的下载地址 MP3格式
  10. vue 导出_Vue核心知识:8.3 vuex在vue-cli中的应用,文件之间的导出与引入