Ubuntu 16.04中 Django + apache + wsgi 配置
来源:互联网 发布:男生眼中美女脸 知乎 编辑:程序博客网 时间:2024/05/16 04:13
折腾了一天,最后终于成了
1 安装 wsig:sudo apt install libapache2-mod-wsgi-py3(我的 python版本为 python3.5)
2 修改 apache 配置( apache2.4)
# 末尾添加,我的路径为 /var/www/project/django/mysiteAlias /media/ /var/www/project/django/mysite/media/Alias /static/ /var/www/project/django/mysite/static/<Directory /var/www/project/django/mysite/media> Require all granted</Directory><Directory /var/www/project/django/mysite/media> Require all granted</Directory>WSGIScriptAlias / /var/www/project/django/mysite/mysite/wsgi.pyWSGIPythonPath /var/www/project/django/mysite# WSGIDaemonProcess ziqiangxuetang.com python-path=/home/tu/blog:/home/tu/.virtualenvs/blog/lib/python2.7/site-packages# WSGIProcessGroup ziqiangxuetang.com<Directory /var/www/project/django/mysite/mysite><Files wsgi.py> Require all granted</Files></Directory>
3 项目 wsgi.py 文件
import osfrom os.path import join,dirname,abspathPROJECT_DIR = dirname(dirname(abspath(__file__)))#3import syssys.path.insert(0,PROJECT_DIR)os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"from django.core.wsgi import get_wsgi_applicationapplication = get_wsgi_application()
4 同时搭建两个 django 项目
(1)首先改 apache.conf 配置
方法大致与上面一样,但 static(media) 和 WSGIScriptAlias 后要加上项目的名称,其它无须改动
# 第一个项目 wechat Alias /wechat/static/ /var/www/django/wechat/static/ <Directory /var/www/django/wechat/static> Require all granted </Directory> WSGIScriptAlias /wechat /var/www/django/wechat/weixin/wsgi.py WSGIPythonPath /var/www/django/wechat <Directory /var/www/django/wechat/weixin> <Files wsgi.py> Require all granted </Files> </Directory># 第二个项目 tf Alias /tf/static/ /var/www/django/tf/static/ <Directory /var/www/django/tf/static> Require all granted </Directory> WSGIScriptAlias /tf /var/www/django/tf/tf/wsgi.py WSGIPythonPath /var/www/django/tf <Directory /var/www/django/tf/tf> <Files wsgi.py> Require all granted </Files> </Directory>
(2)修改 setting.py
项目中 url.py 与 wsgi.py 等不必修改,仅须在 seeting.py 项目中的 static 路径改一下,不然无法引用静态文件。若有 media 也一样。
(看别的博客urls.py还需要修改,但自己测试后发现并不用,反而改了之后会影响使用)
# 修改前(分别为上面对应的两个项目,但实际上是一样的)STATIC_URL = '/static/'STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'),)STATIC_URL = '/static/'STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'),)# 修改后STATIC_URL = '/wechat/static/'STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'),)STATIC_URL = '/tf/static/'STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'),)
(3)修改完成,重启 apache 服务即可。修改后项目的访问路径也加上 apache2.conf 中添加的项目名称。在我的项目中即为;
# wechat配置:WSGIScriptAlias /wechat /var/www/django/wechat/weixin/wsgi.py原:localhost/library新:localhost/wechat/library# tf配置:WSGIScriptAlias /tf /var/www/django/tf/tf/wsgi.py原:localhost/boys新:localhost/tf/boys
5 php 等项目的部署
WSGIScriptAlias 后加具体的项目名后,域名后跟此项目名才行执行该项目,若加别的名称则会采用默认的方式(即该目录下的文件)。用此方法即可恢复其它项目的配置
如若有 ThinkPHP 的项目在根目录下,则 localhost/index.php/….. 即可正常进行。
0 0
- Ubuntu 16.04中 Django + apache + wsgi 配置
- Ubuntu中Apache,Django,wsgi环境搭建
- Django + Apache + wsgi配置和环境搭建(ubuntu)
- apache+wsgi+django配置的存档
- Linux环境Apache+Django+wsgi配置
- 配置django运行环境(apache+wsgi)
- mac+apache+django+wsgi
- 部署django+apache wsgi
- Ubuntu 服务器上Apache + WSGI 部署Django项目
- 使用WSGI在Apache服务器中部署Django项目实例
- 小白装django+apache+wsgi+mysql
- Mac Apache Django WSGI 部署
- Window + Apache + WSGI 配置
- wsgi+apache配置
- apache+wsgi+flask配置
- Ubuntu Apache 2.4 配置-HTTPS、python mod WSGI
- apache服务器使用wsgi部署django站点
- Apache+WSGI+Django+Python的服务器部署
- SPRING源码学习之路(三)——<aop:config>自动代理的实现
- ARM开发板挂载Ubuntu主机的NFS共享文件夹
- Unity3D使用RenderCommand渲染外轮廓
- 美团校招 拜访
- Xshell连接不上虚拟机提示ssh服务器拒绝了密码,请再试一次
- Ubuntu 16.04中 Django + apache + wsgi 配置
- IP地址、子网掩码、网络号、主机号、网络地址、主机地址
- 04-算法学习-做ACM需要的算法
- Http协议详解
- android ios pc三端异同处的比较
- dapper是如何实现业务实体与数据库实体的mapping的
- JAVA开发常用英语单词总结五
- Oracle 11g如何实现"三重分区"
- IntelliJ IDEA 注册码 (秘钥)