ubuntu环境下python3-django部署到 apache2
来源:互联网 发布:师洋淘宝店叫啥 编辑:程序博客网 时间:2024/05/18 03:15
最近学习django,要把项目部署到apache2,搞了好几天终于摸索成了,写出来和大家分享一下。
1.我的环境
系统:ubuntu14.04 LTS (本来是在16.04上的,按照下面的方式不行,总是报一个错,所以改成14.04了)
python:3.4.3 这个版本是ubuntu自带的,ubuntu还自带了python2.7.6 ,所以有些地方会有冲突
django:1.10.6
apache:2.4.7
2.环境搭建
这个写出来以便于新手学习,和以后自己回顾吧。
1,安装pip3: sudo apt-get install python3-pip。
这里我们安装的是pip3,不是 pip。用pip install 安装的装在了python2中,pip3 install是安装到python3中的,这个要搞明白。
2,利用pip3安装django: sudo pip3 install django。
测试是否安装成功:终端进入python3 >>>import django >>>django.VERSION 如果显示版本号则安装成功。
可以测试一下终端进入python ...应该是 不行的。因为django安装到了python3中。
3,安装apache2和mod_wsgi
sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi-py3(PS:Python 2 中:sudo apt-get install libapache2-mod-wsgi)
确认apaceh2版本号:apachectl -v
4,mysql数据库安装及访问mysql数据库请参看:http://blog.csdn.net/bigboysunshine/article/details/60961845
至此环境搭建好了。
3,部署
将你的django工程放在 /var/www/下,其他位置也可以,这个是apache的默认位置。
1.新建配置文件:sudo vi /etc/apache2/sites-available/sitename.conf
假如工程名是blog,ServerName可以是ip地址或者域名,如果是域名的话还需要修改Django工程下的seeting.py文件,将其ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=['www.yourdomain.com'],多个域名可以通过逗号隔开。端口好要改的话需要 在/etc/apache2/ports.conf中添加你对应的端口号。
<VirtualHost *:80> ServerName www.yourdomain.com ServerAlias otherdomain.com ServerAdmin wang@163.com Alias /media/ /var/www/blog/media/ Alias /static/ /var/www/blog/static/ <Directory /var/www/blog/media> Require all granted </Directory> <Directory /var/www/blog/static> Require all granted </Directory> WSGIScriptAlias / /var/www/blog/blog/wsgi.py # WSGIDaemonProcess ziqiangxuetang.com python-path=/home/tu/blog:/home/tu/.virtualenvs/blog/lib/python2.7/site-packages # WSGIProcessGroup ziqiangxuetang.com <Directory /var/www/blog/blog> <Files wsgi.py> Require all granted </Files> </Directory></VirtualHost>2.修改wsgi.py文件
import os from os.path import join,dirname,abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) import sys sys.path.insert(0,PROJECT_DIR) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "examsys.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
3.设置mysql字符集
如果用到mysql数据库需要设置字符集,请参看:http://blog.csdn.net/bigboysunshine/article/details/60961845
4.如果上面设置的端口是80则请参看:http://blog.csdn.net/bigboysunshine/article/details/62418300
5.激活网站
sudo a2ensite sitename.conf
sudo service apache2 restart
6.进入工程目录执行
sudo python3 manage.py collectstatic
然后访问 一下应该就ok了。
声明:以上是在ubuntu 14.04中测试的。ubuntu16.04不行。
参考:http://www.ziqiangxuetang.com/django/django-deploy.html
http://www.jianshu.com/p/b40a4a12fff1
- ubuntu环境下python3-django部署到 apache2
- linux 部署Django + apache2 + python3
- Ubuntu apache2下建立django开发环境
- Django项目用mod_wsgi部署到Apache2, Ubuntu 14.04
- Windows上Python3.6环境django部署到Apache服务器
- Ubuntu 14.04下Django&MySQL环境部署
- ubuntu python3.5 django1.8.5 apache2.4 wsgi mysql部署django项目
- MAC OS 10.11 python3+django+apache2.4+wsgi部署流程
- fedora20 下 django1.6+python3.3 部署到 wsgi 和apache2.4
- Django Ubuntu部署: python3 + mysql + nginx + uswgi
- django学习日记--在ubuntu apache2上部署django
- 在Ubuntu 14.04 下部署Apache2服务器并发布Django 1.7.6 Web应用(本机)
- ubuntu python django环境部署
- Ubuntu 14.10下部署Django到Apache服务器
- Ubuntu 14.10下部署Django到Apache服务器_
- ubuntu下apache2环境问题
- windows 下 apache 部署 django python3.6
- Ubuntu下Django的部署
- 内购全解
- 快速切片
- JavaScript对cookie的粗浅操作
- layer用法
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
- ubuntu环境下python3-django部署到 apache2
- Vulkan编程指南翻译 第五章 展现 第3节 交换链
- mysql存储过程中定义权限
- 分布式系统
- 系统分析与设计学习笔记之一: Introduction of SE & OOAD
- 面向对象编程Object Oriented Programming
- Spring全自动编写代理-----AOP
- 当起大量爬虫,爬同一个网页,运行到后面会大量出现错误
- 正则表示IP