189 8069 5689

mac配置Django1.7.1+mod_wsgi4-创新互联

今天准备想把django配置到apache 服务器上,那个糟心。。看了几个博客 要么就是草草一笔,要么就是不带版本号,搞得 晕头转向 最后我还是自己看官方文档弄明白了,这里写一个稍微详细一点的总结,适合不太懂的小白,因为我就是。。。。。- -!

创新互联建站自2013年创立以来,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元田东做网站,已为上家服务,为田东各地企业和个人服务,联系电话:028-86922220

再次声明我现在的版本:

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版本问题,对,他们也是一对的,

这样再回过头来看看我们的主页,是不是跟之前的一模一样了

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:mac配置Django1.7.1+mod_wsgi4-创新互联
网站路径:http://cdxtjz.cn/article/cdcehd.html

其他资讯