今天准备想把django配置到apache服务器上,那个糟心. .看了几个博客要么就是草草一笔,要么就是不带版本号,搞得晕头转向最后我还是自己看官方文档弄明白了,这里写一个稍微详细一点的总结,适合不太懂的小白,因为我就是.....——!
再次声明我现在的版本:
Django 1.7.1 + mod_wsgi 4.4.7(非守护进程),+ apache/2.2.26 mac 我没升级,Yosomite 新系统,所以版本号是,10.9.5
apache不用我帮你安装了吧,貌似mac已经原装了(如果说错了别拍我…此步骤跳过,后期会讲到配置apache)
mac,第一件事就是去装xcode,装xcode干嘛呢是为了安装一个叫命令行工具的工具,
在哪? xcode——》偏好→下载,你看到没有?,
啥?没看到?那你在命令行里面输入,
xcode-select ——安装
会自动弹出来个方框让你安装刚才我说的那个工具,好了吧,等他安装完!
第二步:安装家酿
我写文章这个时间已经不像是之前几个博客里面的安装方法,
ruby -e “美元(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
用这个,直接下载安装
第三部:安装mod_wsgi,这回就用到刚才安装的啤酒了,
brew install 自制程序/apache/mod_wsgi
可见为了仅仅安装一个mod_wsgi绕了多大一个弯,嘿嘿不用去追究他的原理,只要咱们安装成功了,供咱们使用完成自己的任务就可以了,简单来说这玩意就是用来在配置完了apache之后可以使用python写的第三方web应用程序成功运行在apache的一个中间件,所以说可以当做是一个应用程序和apache的一个桥梁,后期配置文件路径啥的都靠他了。
第四步:
现在该有的都有了,该去配置文件了
,输入中的httpd。相依,这个是apache的很重要的一个配置文件,我的路径在
/etc/输入/httpd。参看
怎么去?我就不告诉你是打开仪然后命令+ Shift + G
该写点啥呢,你说现在咱们桥梁也有了两边的django和Apache也有了剩下的就是把桥放在两者之间,没错,搭桥!
一方面搭刚才安装的,mod_wsgi一方面搭我们的django
先来mod_wsgi,打开上面那个httpd . conf文件,在最后面,加上怎么一行先
LoadModule wsgi_module /usr/地方/地窖/mod_wsgi 4.4.7/libexec/mod_wsgi。
哦!可以理解成为这个让Apache把刚才下载的mod_wsgi文件加载进来吧,没错!
至于说为什么是
/usr/当地
这个路径呢?你安装的适合人家就放在那了你能怎么的吧,引过来就好了!
然后! !再加入一行
WSGIPythonPath /图书馆/网络服务器/文件/my2site
可以看出来后面的
/图书馆/网络服务器/文件/my2site
这个就是你用startproject时候创建的根目录了,也就是整个站点的根目录了找出来直接贴在后面,这个的用处可以理解为可以让Apache找到你的django的根目录,怎么样,桥搭上了吧?对!
但是还缺少东西,一个最关键的文件,wsgi。py,创建django工程项目的时候已经自动创建了这个文件,我们只需要像上面那样给他引进来,例如我的是
WSGIScriptAlias /,/图书馆/网络服务器/文件/my2site/my2site/wsgi。py
这里发现最中间有个/,这个是干嘛的。,他是你的的根目录!也就是说的首页地址,像是这样的话我的主业就是127.0.0.1如果我把这个/换成/app那我的首页是什么? ?,你答对了. .
紧接着要写这样一句话
& lt; Directory /图书馆/网络服务器/文件/my2site/my2site/比; & lt; Files  wsgi.py> Allow 得到 Order 否认,允许 & lt;/Files> & lt;/Directory>
他的作用就是让Apache可以读取你刚才引入的wsgi。py,所以他俩是成双成对哒!
,注意:因为的的apache的版本是2.2.26,是小于2.4版本的,所以我用了这两行
Allow 得到 Order 否认,允许
如果你是高于2.4版本的Apache,你要把这两行替换成一行
Require all 授予
<强> OK ! 强>
<强>
强>
<强>这样就算把桥搭好了,强>
<强>去看看首页应该会显示了,,但是你会发现我们很多的静态文件已经显示不出来了,这是因为django已经不负责关联你的静态文件路径了,需要Apache来配置,怎么配置?联想到刚才咱们都引入了wsgi。py文件的经验我们一样的引入静态的根目录,强>
<强>
强>