ubuntu搭建apache+python+django+mysql web开发环境

我是在ubuntu12.04的环境下配置的,系统默认安装python2.7.3

还需要安装apache,mod_python,django以及mysql

.安装apache2

    sudo apt-get install apache2

  安装完成,重启

 sudo /etc/init.d/apache2 restart

在浏览器里输入http://localhost或者是http://127.0.0.1,如果看到了It works!,那就说明Apache就成功的安装了,Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。

apache2配置文件说明:

apache2.conf是一个总的配置文件,一般不去修改它。

httpd.conf填写自定义的公共配置。

每个站点各自的配置文件都建立了一个软连接到sites-enabled

.安装mod_python

第一步

sudo apt-get install libapache2-mod-python

第二步,将python模块加入到启用列表中(我装完mod_pythonpython模块已经加入到启用列表中了,所以这一步跳过了)

sudo ln -s /etc/apache2/mods-available/python.load     /etc/apache2/mods-enabled/

第三步,配置mod_python

先在/etc/apache2/mods-available/下新建一个文件python.conf

sudo vi /etc/apache2/mods-available/python.conf

加入如下内容:

<Directory/var/www>
      AddHandler mod_python .py
      PythonHandler test
      PythonDebug On
</Directory>

然后同样加入启用列表:

sudo ln -s/etc/apache2/mods-available/python.conf     /etc/apache2/mods-enabled/

第四步,重启apache服务器

sudo /etc/init.d/apache2 restart

第五步,测试

/var/www下新建一个文件,test.py,输入内容为:

from mod_python import apache
def handler(req):
    req.content_type="text/plain"
    req.write("hello!")
    return apache.OK

在浏览器输入http://localhost/test.py

显示hello!,就表明已经运行成功

.安装Django

官网下载安装包,然后安装

1.tar xzvf Django-*.tar.gz

2.cd Django-*

3.sudo python setup.py install

安装完成。

如果装完在/usr/local/bin目录下没有django-admin.py文件,那就将这个文件添加到/usr/local/bin目录。这个文件在/usr/local/lib/python*/dist-packages/django/bin目录下。

默认情况下runserver命令启动服务器的端口为8000,只监听本地连接
如果你希望改变端口,增加一个命令行参数即可
python manage.py runserver 8080
你也可以改变服务器监听的IP地址,当你同其它开发者分享一个开发站点时很有用
python manage.py runserver 0.0.0.0:8080
上面的命令使得Django监听任何网络接口,这样的话就允许其它计算机连接该服务器

创建项目

运行”django-admin.pystartproject mysite”将会在你的当前目录下创建一个mysite目录。

启动服务器,切换到你的项目目录里(cd mysite ),运行下面的命令:

python manage.py runserver

试着访问http://127.0.0.1:8000/,你将会看到“Welcometo Django”的页面。

本地化:

setting.py文件中做如下设置:

TIME_ZONE= 'Asia/Shanghai'  #设置时区为中国时区,代替默认的墨西哥时区

LANGUAGE_CODE= 'zh-cn'  #设置为中文环境

django部署至apache

/etc/apache2/sites-available/default这个配置文件进行类似如下修改:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/michael/workspace/web/djcode #项目对应目录的上一级目录
<Location "/">
    Allow from all
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonDebug On
    PythonPath"['/home/michael/workspace/web/djcode/mysite',#项目对应目录
        '/usr/local/lib/python2.7/dist-packages/django/bin']+ sys.path"
</Location>
</VirtualHost>

(编辑文件时去掉上面的注释)

在浏览器打开127.0.0.1,如果显示no module named modpython,则下载modpython.py文件并拷贝到目录'/usr/local/lib/python2.7/dist-packages/django/core/handlers'下。http://www.oschina.net/code/explore/Django-1.2.4/django/core/handlers/modpython.py

重启apache,运行成功。

.安装MySQL数据库

安装MySQL很简单,sudo apt-get install mysql-server mysql-client

还需要安装几个文件才能配合django使用

1.先尝试在终端运行:mysql_config,如果提示没安装,那就运行sudo apt-get install libmysqlclient-dev 

2.MySQL是通过apt-get安装的,那么我们还要安装python-dev包,来提供安装过程中必须的Python.h这个头文件:

 sudo apt-get install python-dev  

3.最后安装MySQLdbsudo apt-get install python-mysqldb

测试一下,在python命令行中执行:import MySQLdb  

如果没出现错误,说明我们成功安装了MySQL-python

数据库配置:

数据库配置也是在Django的配置文件里,缺省是 settings.py 。打开这个文件并查找数据库配置:

DATABASE_ENGINE = ''
DATABASE_NAME = ''
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''

配置纲要如下:

DATABASE_ENGINE 告诉Django使用哪个数据库引擎。

如果是MySQL,就在DATABASE_ENGINE现值后面添加mysql,其他的属性根据自己的配置填写。

最后,如果你要将网站架设在默认目录/var/www下,设置Ubuntu文件执行读写权限

由于Linux系统的安全性原则,改目录下的文件读写权限是只允许root用户操作的,所以我们不能在www文件夹中新建文件,也不能修改和删除,必须要先修改/var/www目录的读写权限。在界面管理器中通过右键属性不能修改文件权限,得执行root终端命令:

sudo chmod 777 /var/www

这样就可以写入htmlpy文件了。777linux中的最高权限,表示可读,可写,可执行。

这样整个环境就搭建好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值