pythonubuntumysql
1. ubuntu搭建apache+python+django+mysqlweb开发环境
在Ubuntu12.04系统下,首先确保安装了默认版本的Python 2.7.3。为了构建一个完整的Web开发环境,还需要安装Apache、mod_python、Django和MySQL。
首先,安装Apache服务器。执行命令:
sudo apt-get install apache2
接着,重启Apache以确保安装成功,命令如下:
sudo /etc/init.d/apache2 restart
打开浏览器输入http://localhost或http://127.0.0.1,页面显示"It works!",说明Apache已成功安装。默认情况下,Apache在/var目录下创建了一个名为www的子目录,所有Web文件都应放置在此目录中,以便通过浏览器访问。
接下来配置Apache服务器。总配置文件位于apache2.conf,一般不建议修改。自定义公共配置存于httpd.conf文件中。每个站点的配置文件通过软链接指向sites-enabled目录。
安装mod_python,通过命令:
sudo apt-get install libapache2-mod-python
确保已将Python模块加入到启用列表中,如未完成此步,执行:
sudo ln -s /etc/apache2/mods-available/python.load /etc/apache2/mods-enabled/
创建mod_python的配置文件python.conf,内容如下:
AddHandler mod_python .py
PythonHandler test
PythonDebug On
将配置文件加入启用列表:
sudo ln -s /etc/apache2/mods-available/python.conf /etc/apache2/mods-enabled/
重启Apache服务器并测试。创建/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!”,表示mod_python已成功运行。
安装Django,首先从官方网站下载安装包,然后执行以下步骤:
tar xzvf Django-*.tar.gz
cd Django-*
sudo python setup.py install
如果安装后在/usr/local/bin目录下未找到django-admin.py文件,需手动将其复制至此目录,该文件位于/usr/local/lib/python*/dist-packages/django/bin。
Django默认端口为8000,只监听本地连接,若需更改端口或监听IP,使用命令:
python manage.py runserver 端口号 或 IP:端口号
创建项目使用命令:
django-admin.pystartproject 项目名
进入项目目录,使用命令:
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文件,加入相应的配置。若显示“no mole named modpython”,下载并复制modpython.py文件到/usr/local/lib/python2.7/dist-packages/django/core/handlers目录下。
重启Apache服务器,测试成功。
最后,安装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. 安装MySQLdb库:
sudo apt-get install python-mysqldb
测试安装,命令:
import MySQLdb
若无错误,说明已成功安装MySQL-python。
数据库配置在Django的配置文件settings.py中,内容如下:
DATABASE_ENGINE = ''
DATABASE_NAME = ''
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''
配置要点包括:
数据库引擎、数据库名、用户名、密码、主机和端口号。
若要将网站部署到默认目录/var/www,先修改此目录的读写权限:
sudo chmod 777 /var/www
这样,整个Web开发环境就搭建完成。
2. ubuntu下python2.7链接mysql
在Ubuntu系统中,使用Python 2.7链接MySQL数据库时常会遇到如下报错:
mysql_exceptions.OperationalError: (2002, "Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)")
这一问题的根源在于Python默认通过/var/run/mysqld/mysqld.sock查找MySQL的mysqld.sock文件,而Ubuntu则会在/tmp目录中生成此文件。为了解决这一问题,可以通过创建软链接来实现:
ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
然而,由于MySQL.sock位于/tmp目录,系统在重启后会自动删除该文件,导致软链接失效。因此,每次重启后都需要重新建立软链接。
对于希望在系统重启后不自动删除MySQL.sock文件的解决方法进行了一番探索,但并未找到有效方案。因此,通过创建软链接是解决Ubuntu下Python 2.7链接MySQL数据库问题的简便方法。简而言之,在Ubuntu系统中使用Python 2.7链接MySQL数据库时,确保MySQL.sock文件位于/var/run/mysqld目录下或创建相应软链接,是避免报错的关键步骤。