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

[经验分享] Ubuntu11.04下Django安装以及发布配置

[复制链接]

尚未签到

发表于 2018-5-5 14:45:29 | 显示全部楼层 |阅读模式
  Django是当前流行的基于python的开源web开发框架,容易上手而且代码的重用性也很好,是敏捷开发的典范。本文将着重介绍如何在ubuntu下安装django并通过apache发布django项目。请尽量按照文中提到的软件版本号进行安装有些版本间的兼容问题会导致安装不成功。例如在ubuntu 12.04上进行部署发现安装很多软件都因为依赖关系而不能够安装。Let's begin!
  1. 安装python
  ubuntu自带python,因此一般不需要安装,本文所使用的版本为2.7
  2. 安装mysql-server

  •   sudo apt-cache search mysql-server #查询可以安装的版本
  •   sudo apt-get install mysql-server-5.1 #本文中安装5.1
  3. 安装mysqlPython

  •   下载MySQL for Python 1.2.3,到http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/下载对应文件
  •   解压缩文件

  •   tar -zxvf MySQL-python-1.2.3.tar.gz


  •   安装mysql开发包

  •   sudo apt-get install libmysqld-dev


  •   进入目录,修改文件site.cfg去掉这一行的注释 #mysql_config=/usr/local/bin/mysql_config并且更新本地mysql_config的路径,我的本地路径是/usr/bin/mysql_config
  •   安装setuptools

  •   sudo apt-get install python-setuptools


  •   安装python开发包

  •   sudo apt-get install python-dev


  •   最后,执行编译安装

  •   sudo python setup.py install


  •   编译过程中可能出现的错误及解决方法:
  EnvironmentError: /usr/bin/mysql_config not found   解决方法:安装libmysqld-dev
ImportError: No module named setuptools   解决方法:安装python-setuptools
  pymemcompat.h:10:20: fatal error: Python.h: No such file or directory   解决方法:安装python-dev
  4. 安装django
  之前的三个步骤都为安装django做好了准备,打通了python和mysql之间的通道。

  •   下载django https://www.djangoproject.com/download/
  •   解压之后进入目录直接执行命令

  •   sudo python setup.py install
  5. 安装apache

  •   sudo apt-get install apache2
  6. 安装mod_python

  •   下载mod_python 3.3.1 http://archive.apache.org/dist/httpd/modpython/
  •   安装apache开发包

  •   sudo apt-get install apache2-dev


  •   解压之后进入目录执行(路径根据实际路径更改)

  •   ./configure –with-apxs=/usr/bin/apxs2 –with-python=/usr/bin/python


  •   源代码中有一个公认的bug需要修复,在src/connobject.c的第142行:

  •   !(b == APR_BRIGADE_SENTINEL(b)
  改为

  •   !(b == APR_BRIGADE_SENTINEL(bb)


  •   最后编译安装

  •   sudo make & make install
  7. 配置apache

  •   在mod_python安装好之后,我们会在/usr/lib/apache2/modules下发现新创建的mod_python.so, 我们在目录/etc/apache2/mods-available下按照其他文件格式一样新建文件python.load,内容为:

  •   LoadModule python_module /usr/lib/apache2/modules/mod_python.so
  同时在mods-enabled下建立到这个文件的链接

  •   sudo ln -s ../mods-available/python.load python.load
  8. 发布网页
  这里将着重介绍如何将一个django项目通过apache向外发布以让外网访问。

  •   首先,建立一个project,取名mysite,目标目录设在/home/user_name/Workspace

  •   django-admin.py startproject mysite


  •   在/usr/apache2/sites-available下新建site配置文件mysite,内容如下:

  •   <Location "/">
  •   SetHandler python-program
  •   PythonPath "['/home/user_name/Workspace/mysite/'] + sys.path"
  •   PythonHandler django.core.handlers.modpython
  •   SetEnv DJANGO_SETTINGS_MODULE mysite.settings
  •   PythonOption django.root /
  •   PythonDebug On
  •   </Location>


  •   启用site

  •   sudo a2ensite mysite


  •   重启apache,

  •   sudo /etc/init.d/apache2 restart


  •   打开浏览器输入http://localhost/
  如果看到以下画面则说明部署成功
DSC0000.png

  这仅仅是一个最小项目的部署情况,针对较为复杂的项目,会在下一篇文章中讨论。

运维网声明 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-456265-1-1.html 上篇帖子: Ubuntu 12.04解决txt文档中文乱码方法 下篇帖子: Ubuntu 手机操作系统将于2月底开放下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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