Debian 下Django (Apache2/mod_python) 安装指南

  参考了

http://club.topsage.com/thread-412466-1-1.html

 

对其中错误进行了纠正

 

 

 

Django是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MTV设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0。Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。

本文将演示如何在Debian Lenny服务器中快速搭建Django环境,使用Apach2 Web服务器及其mod_python模块提供对pyhton和Django的支持。另外,本文只是提供一个Django运行平台快速搭建的参考,最多Django开发等相关内容请参考其官方文档资料。

1. 安装MySQL

Django支持的数据库管理系统非常广泛,如PostgreSQL、MySQL、SQLite等等,如果你像我一样也是使用MySQL数据库的话,使用下面这个简单的命令安装它,

复制内容到剪贴板
代码:

安装过程中,其中一个环节是要求输入MySQL根用户root的密码:

引用:
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword

如果希望远程访问MySQL的话,我们要修改 /etc/mysql/my.cnf配置文件,把其中的 bind-address=127.0.0.1 一行注释掉:

复制内容到剪贴板
代码:
vi /etc/mysql/my.cnf


然后,重启MySQL:

复制内容到剪贴板
代码:
/etc/init.d/mysql restart

如果要检查是否能远程访问MySQL,可以使用netstat命令,

复制内容到剪贴板
代码:
netstat -tap | grep mysql

会得到类似于下面的输出:

复制内容到剪贴板
代码:
 

2. 安装Apache及mod_python模块

如果你的系统中Apache2及mod_python没有安装的话,也不必担心,同样一条安装命令搞定:

复制内容到剪贴板
代码:

怎么样,看是不是非常快捷方便?


3. 安装Django

接下来我们该安装Django了,同样,还要安装Python对MySQL的支持,这样才能使用python、Django访问MySQL数据库,安装python-django、python-mysqldb:

复制内容到剪贴板
代码:
aptitude install python-django python-mysqldb

4. 配置Apache

Apache安装成功后,其默认的站点根目录为 /var/www,我们这里也不防简化一下:默认的虚拟目录(/etc/apache2/sites-available/default)就直接指向默认的站点根目录(/var/www)了。不过,实际应用中要依自己的具体情况而定。

在正式配置Apache之前,我们必须先新建一个Django项目(比如,叫mysite,具体请参考:http://www.djangoproject.com/documentation/tutorial01/)。为了安全起见,这个项目不放在/var/www目录里,暂且改放在/home/mycode里:

复制内容到剪贴板
代码:

这样,django-admin.py 就自动为我们新建了一个名为mysite的项目,位于/home/mycode/mysite,可以看看,里面已经有一些python程序文件了。

现在,我们来配置Apache,打开我们的默认虚拟主机配置文件/etc/apache2/sites-available/default,在配置文件中的<VirtualHost ...>和</VirtualHost>之前加入如下配置项:

复制内容到剪贴板
代码:
vi /etc/apache2/sites-available/default

上面加入的配置项,第一行的路径 /mysite 是该虚拟站点的子目录,假如,当前站点的URL为 http://www.example.com/的话,那么该路径即告诉apache,我的mysite站点就在该虚拟站点根目录下的mysite目录下,可以直接使用 http://www.example.com/mysite 这个地址访问。

修改完成后,重启Apache:

复制内容到剪贴板
代码:
/etc/init.d/apache2 restart

现在,我们就可以直接在浏览器中打开 http://www.example.com/mysite 查看了。如果一切顺利的话,我们可以看到如下的界面:


这说明Django已经安装成功了,我们可以立即着手Python Web应用程序的开发了,更多Django框架下的Python Web开发资料可以参见:http://www.djangoproject.com/documentation/

5. Django项目连接MySQL数据库

多数Web应用都要用到后台数据库以存取数据,这里我们也简要地说明一下其中的过程。

首先,我们新建一个数据库mysite,并为该库新建一个管理用户mysiteadmin:

复制内容到剪贴板
代码:
mysql -u root -p

CREATE DATABASE mysite;
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY 'mysiteadmin_password';
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost.localdomain' IDENTIFIED BY 'mysiteadmin_password';
quit;

然后,打开项目文件夹中的settings.py python程序文件,修改其中的数据库设置项:

复制内容到剪贴板
代码:
vi /home/mycode/mysite/settings.py

OK,这样,我们在项目中就可以访问MySQL数据库了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Traceback (most recent call last): File "/usr/local/python3/bin/pyinstaller", line 8, in <module> sys.exit(_console_script_run()) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/__main__.py", line 194, in _console_script_run run() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/__main__.py", line 180, in run run_build(pyi_config, spec_file, **vars(args)) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/__main__.py", line 61, in run_build PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 1019, in main build(specfile, distpath, workpath, clean_build) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 944, in build exec(code, spec_namespace) File "/root/test/2.spec", line 20, in <module> noarchive=False, File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 429, in __init__ self.__postinit__() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/datastruct.py", line 184, in __postinit__ self.assemble() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 764, in assemble self._check_python_library(self.binaries) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 834, in _check_python_library python_lib = bindepend.get_python_library_path() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/depend/bindepend.py", line 1018, in get_python_library_path raise IOError(msg) OSError: Python library not found: libpython3.7mu.so.1.0, libpython3.7.so.1.0, libpython3.7m.so, libpython3.7.so, libpython3.7m.so.1.0 This means your Python installation does not come with proper shared library files. This usually happens due to missing development package, or unsuitable build parameters of the Python installation. * On Debian/Ubuntu, you need to install Python development packages: * apt-get install python3-dev * apt-get install python-dev * If you are building Python by yourself, rebuild with `--enable-shared` (or, `--enable-framework` on macOS).
07-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值