设为首页 收藏本站
查看: 456|回复: 0

[经验分享] mac配置 Django 1.7.1 +mod_wsgi 4.4.7(非daemon) +Apache/2.2.26 (Unix)

[复制链接]

尚未签到

发表于 2018-11-21 13:07:09 | 显示全部楼层 |阅读模式
今天准备想把django配置到apache 服务器上,那个糟心。。看了几个博客 要么就是草草一笔,要么就是不带版本号,搞得 晕头转向 最后我还是自己看官方文档弄明白了,这里写一个稍微详细一点的总结,适合不太懂的小白,因为我就是。。。。。- -!

再次声明我现在的版本:

Django 1.7.1 +mod_wsgi 4.4.7(非daemon) +Apache/2.2.26
mac 我没升级 Yosomite 新系统,所以版本号是 10.9.5
apache不用我帮你安装了吧,貌似mac已经原装了(如果说错了别拍我。。此步骤跳过,后期会讲到配置apache)

mac  第一件事 就是去装xcode, 装xcode干嘛呢 是为了安装一个叫Commandline tool的工具,

在哪? xcode -》 prefrence-> download   你看到没有?

啥?没看到? 那你在命令行里面输入

xcode-select --install
会自动弹出来个方框让你安装刚才我说的那个tool,好了吧,等他安装完!

  

第二步: 安装 homebrew

我写文章这个时间 已经不像是之前几个博客里面的安装方法

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
用这个,直接下载安装

第三部:安装 mod_wsgi,这回就用到刚才安装的brew了,

brew install homebrew/apache/mod_wsgi
可见 为了仅仅安装一个 mod_wsgi 绕了多大一个弯,嘿嘿不用去追究他的原理,只要咱们安装成功了,供咱们使用完成自己的任务就可以了,简单来说这玩意就是用来 在配置完了Apache之后可以使用python写的第三方web application成功运行在Apache的一个middleware,所以说可以当做是一个application 和Apache的一个桥梁,后期配置文件路径啥的都靠他了。

  

第四步:

现在该有的都有了,该去配置文件了

  

apache2 中的 httpd.conf  这个是apache的很重要的一个配置文件,我的路径在

/etc/apache2/httpd.conf
怎么去?我就不告诉你是打开Finder然后Command+Shift + G

该写点啥呢,你说现在咱们桥梁也有了 两边的django 和Apache也有了剩下的就是把桥放在两者之间,没错,搭桥!

  

一方面搭刚才安装的 mod_wsgi 一方面搭我们的django

先来mod_wsgi ,打开上面那个 httpd.conf文件,在最后面,加上怎么一行先

LoadModule wsgi_module /usr/local/Cellar/mod_wsgi/4.4.7/libexec/mod_wsgi.so
哦!可以理解成为这个让Apache把刚才下载的mod_wsgi 文件加载进来吧,没错!

至于说为什么是

/usr/local
这个路径呢?你安装的适合人家就放在那了你能怎么的吧,引过来就好了!

然后!!再加入一行

WSGIPythonPath /Library/WebServer/Documents/my2site
可以看出来 后面的

/Library/WebServer/Documents/my2site
这个就是你用startproject时候创建的根目录了,也就是整个站点的根目录了找出来直接贴在后面,这个的用处可以理解为 可以让Apache找到你的django的根目录,怎么样,桥搭上了吧?对!

但是还缺少东西,一个最关键的文件 wsgi.py ,创建django工程项目的时候已经自动创建了这个文件,我们只需要像上面那样给他引进来,例如我的是

WSGIScriptAlias / /Library/WebServer/Documents/my2site/my2site/wsgi.py
这里发现 最中间有个 /  这个是干嘛的。  他是你的的根目录!也就是说的首页地址,像是这样的话我的主业就是 127.0.0.1 如果我把这个 / 换成 /app 那我的首页是什么??  你答对了。。

  

紧接着要写这样一句话



Allow from all
Order deny,allow

他的作用就是让Apache 可以读取你刚才引入的wsgi.py,所以他俩是成双成对哒!

注意:因为的的apache的版本是 2.2.26  是小于2.4版本的,所以我用了这两行

Allow from all
Order deny,allow
如果你是高于2.4版本的Apache, 你要把这两行替换成一行

Require all granted
OK!


这样就算把桥搭好了,

去看看首页应该会显示了,,但是你会发现我们很多的静态文件已经显示不出来了,这是因为django已经不负责关联你的static文件路径了,需要Apache来配置,怎么配置?联想到刚才咱们都引入了wsgi.py文件的经验 我们一样的引入static的根目录,


就是关键字不太一样 这次我们用Alias

Alias /static/ /Library/WebServer/Documents/my2site/polls/statics_file/
static就是 settings里面的 STATIC_URL 后面那个就是他的真实目录拉!

别忘记要给Apache访问文件的权利哦!


Allow from all
Order deny,allow
  还是注意Apache版本问题,对,他们也是一对的,
  这样再回过头来看看我们的主页,是不是跟之前的一模一样了




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-637818-1-1.html 上篇帖子: Linux下apache如何限制并发连接和下载速度 下篇帖子: apache日志轮询技术(cronolog and rotatelogs)小结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表