python3.6 django部署_Apache2+Django+Python3.6部署-
本文指导安装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部署-相关推荐
- python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建
由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...
- 【django轻量级框架】(Python3.6.8+Django2.0)第一个Django项目与基础环境搭建
一.前言 Django 是一个开放源代码的 Web 应用框架,由 Python 写成.采用了 MTV 的框架模式,即模型 M,模板 T 和视图 V.当然,网上也有人说 Django 采用了 MVC 的 ...
- Django打造大型企业官网-项目部署
Django打造大型企业官网-项目部署 一.准备工作 1.在开发机上的准备工作 1)确认项目没有bug. 2)打开终端,进入虚拟环境,再 cd 到项目根目录下,执行命令:pip freeze > ...
- apache 部署python3_centos7.6+python3+apache2.4+django2.1.2网站部署总结
本次网站部署是使用了django2.1.2版本部署,由于centos自带的Python2.7不支持django2.0以上版本,故需要安全python3的环境.python3.apache的安装不做具体 ...
- Django+nginx+uwsgi+ubuntu18.04网站部署
Django网站的部署 原理 凡事都要讲个原理嘛.如图所示,就是整个原理啦.详细可以观看哔哩哔哩up主讲的真不错呀!!! 网站用户 网站服务器 socket uwsgi Django 图片来源于(ht ...
- [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis
在上篇教程中,我们手动构建了两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx,成功部署了一个简单的Django项目.然而在实际的生产环境中,我们往往需要定义数量庞大的 dock ...
- Django + Uwsgi + Nginx 实现生产环境部署1
项目开发完毕后,需要将代码放到服务器上,这样用户才能访问.接下来我们一步一步来进行一波部署操作. 1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前 ...
- Docker部署Django由浅入深系列(中): 双容器部署Django + Uwsgi + Nginx
本文是使用Docker部署Django由浅入深系列的中篇,我们将构建两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx.我们将了解不同容器间是如何通信的,并学会正确配置uwsgi ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
最新文章
- R语言ggplot2可视化:使用ggplot2绘制按时间顺序排列的时间线图(chronological timeline plot)
- 【翻译】如何创建Ext JS暗黑主题之一
- 徐阿衡 | 知识抽取-实体及关系抽取(一)
- Spring框架----IOC的概念和作用之程序的耦合和解耦
- Android使用自定义字体(自定义view)
- MATLAB编程思想
- linux 将当前时间往后调整2分钟_Python处理时间序列常用方法汇总
- Android内存、性能是程序永恒的话题
- FFMPEG 常用命令行
- 李嘉诚培养23岁孙女接班 每年安保费就要花10亿!
- C4D快速入门教程——XPresso基本使用
- spring cloud day(6) gateway网关
- 回炉STM32入新坑cubemx
- mac电脑如何找到usr文件夹
- 【Image Matting】Image Matting评价指标
- 淘宝旺旺智能回复软件 旺旺智能客服 旺旺聊天机器人
- UVA 1471 Defense Lines 防线
- idea的language level含义和module的language level自动跳到5
- CyberGhost使用、下载、注册【完整教程】
- python爬取京东手机参数_python爬取京东手机价格
热门文章
- java中关于length的真确理解~~~~有补充的请跟帖~~~
- python定时任务是异步的吗_定时任务、异步任务
- 终端不能联网_5G和物联网DDA的关系
- haarcascades---各种分类器xml文件下载地址
- [转载] JAVA数组实现学生成绩统计
- 如何使用React Native样式表?
- kafka偏移量保存到mysql里_【队列】调试应用时进行的kafka偏移量调整
- ansys添加力矩_ANSYS软件中施加扭矩的方法
- python爬取酷狗音乐top500_python获取酷狗音乐top500的下载地址 MP3格式
- vue 导出_Vue核心知识:8.3 vuex在vue-cli中的应用,文件之间的导出与引入