0%

Ubuntu+Apache2+django配置

虚拟环境

  1. 安装virtualenv
1
pip install virtualenv
  1. 创建指定python版本的虚拟环境
1
virtualenv xxx --python=pythonx.x.x
  1. 进入虚拟环境
1
source xxx/bin/activate
  1. 退出虚拟环境
1
deactivate
  1. 删除虚拟环境
1
rm -rf xxx

Django

  1. Django安装
1
pip install django
  1. 创建django项目
1
django-admin startproject HelloWorld
  1. 运行django项目
1
python manage.py runserver 0.0.0.0:8000

Apache

  1. 安装apache
1
sudo apt install apache2
  1. 安装mod_wsgi模块
1
sudo apt install libapache2-mod-wsgi-py3
  1. 查看apache运行状态:
1
systemctl status apache2
  1. 复制一份新的配置文件
1
sudo cp 000-default.conf mysite.conf
  1. 写入下列信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<VirtualHost *:8000>
#访问网站以哪个目录开始,第二个参数填写路径
WSGIScriptAlias / /home/django/mysite/mysite/wsgi.py
<Directory /home/django/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#开放静态目录
Alias /static/ /home/django/mysite/static/
<Directory /home/django/mysite/static>
Require all granted
</Directory>

#开放上传文件夹
Alias /media/ /home/django/mysite/media/
<Directory /home/django/mysite/media>
Require all granted
</Directory>

#以下开始是因为使用了virtualenv部署
#第一个路径是虚拟环境路径,第二个是项目所在路径
WSGIDaemonProcess mysite python-home=/home/django/django-env python-path=/home/django/mysite
#分组
WSGIProcessGroup mysite
</VirtualHost>
  1. 修改端口号,打开/etc/apache2/ports.conf,修改Listen 80
  2. 重启apache
1
2
3
4
a2ensite mysite.conf //激活
a2dissite 000-default.conf //关闭自身站点
apache2ctl configtest //检查配置有无问题,有的话自行解决
apache2ctl restart

参考

[1] Ubuntu+Apache+Django部署