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目錄下或創建相應軟鏈接,是避免報錯的關鍵步驟。