RHEL5.3下搭建LAMP+Django環境(二)

餘二五發表於2017-11-22

PHP安裝

1、為了讓php服務支援網站常用的一些專案,安裝php之前需要先安裝依賴的軟體包,確認yum源可用的情況下執行兩條命令安裝就可以:yum -y install lib* 和yum -y install freetype* 安裝即可!

 2、安裝gd 2.0

# tar zxvf gd-2.0.33.tar.tar

# cd gd-2.0.33

# ./configure

# make && make install

 3、安裝freetds,用於連線mysql資料庫:

# tar zxvf freetds-stable0.64.tgz

# cd freetds-0.64

# ./configure –prefix=/usr/local/freetds –enable-msdblib –with-tdsver=8.0 –enable-dbmfix –with-gnu-ld –enable-shared –enable-static
# make && make install

 

4、安裝php

# tar zxvf php-5.2.5.tar.gz

#cd php-5.2.5

 

5、編譯選項:

# ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql5/ –with-curl –with-libxml-dir –with-libexpat-dir –enable-soap –with-xsl –with-gd –with-jpeg-dir –with-zlib –with-png-dir –with-freetype-dir –enable-sockets –enable-pcntl –with-mssql=/usr/local/freetds –enable-mbstring

6、編譯安裝:

# make && make install

7、複製原始碼包中的配置檔案模板:

# cp php.ini-dist /usr/local/php/lib/php.ini

 8、修改apache配置檔案,增加以下兩行:

# sed -i `/AddType application/x-gzip .gz .tgz/a

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps

` /usr/local/apache/conf/httpd.conf

9、在/usr/local/apache/htdocs目錄下建立test.php檔案:

# echo –e “<?php phpinfo() ?>” > /usr/local/apache/htdocs/test.php

重啟apache服務,在瀏覽器開啟http://ip/test.php,如相關引數正常則php安裝成功。

 

Django安裝

 1、解壓縮軟體包:

# tar zxvf Django-1.2.5.tar.gz

# cd Django-1.2.5

2、安裝軟體:

# python setup.py install

3、驗證django是否安裝成功:

# python

>>>import django

>>>

載入django模組,如果無錯誤提示說明安裝成功。

4、建立專案例子:

專案名稱:Hector

# django-admin.py startproject  Hector

之後再當前目錄下就會出來一個新的資料夾Hector

裡面有4個檔案:

__init__.py:會把專案目錄變成一個python package(相關的python模組的集合),讓我們可以用“.”來指定專案中的某個部分。例如Hector.urls

manage.py:是一個同這個Django專案一起工作的工具,可執行。

settings.py:包含了專案的預設設定。包括資料庫資訊、除錯標記以及其他的一些重要變數。

urls.py:在Django裡叫URLconf,它是一個將URL模式對映到應用程式上的配置檔案。

 本地測試:

Hector>python manage.py runserver

出現以下資訊

Validating models…

0 errors found

Django version 1.2, using settings `Hector.settings`

Development server is running at http://127.0.0.1:8000/

Quit the server with CTRL-BREAK.

然後在命令列裡執行curl http://127.0.0.1:8000/ 就可以看到結果了,結果不是很明顯,也可以把顯示的內容複製到文字文件中,然後將文字文件的字尾改為.html,在開啟效果就很清晰了。

Mod_wsgi安裝

 為了讓Apache支援Django,必須安裝mod_wsgi

1、解壓縮軟體包:

# tar zxvf mod_wsgi-3.3.tar.gz

# cd mod_wsgi-3.3

2、編譯選項,指定apachepython的安裝路徑

# ./configure –with-apxs=/usr/local/apache/bin/apxs –with-python=/usr/local/bin/python

這個地方我遇到了一個問題,編譯時提示找不到/usr/local/bin/python 程式,最後解決方法是which python 搜尋python命令的位置,然後cp一份到/usr/local/bin/python

3、編譯安裝:

# make && make install

4、修改apache配置檔案:

# sed -i `/libphp5.so/a LoadModule wsgi_module modules/mod_wsgi.so` /usr/local/apache/conf/httpd.conf                     #使apache支援wsgi模組

5、檢查安裝是否成功:

apache配置檔案中加入以下一段:

WSGIScriptAlias /python “/usr/local/apache/htdocs/test.wsgi”      #這條命令的意思是說訪問/python 和訪問/usr/local/apache/htdocs/test.wsgi 看到的效果是一樣的,做了一個轉換而已。

 <Directory”/usr/local/apache/htdocs”>   

     Order Deny,Allow

     Allow from all

 </Directory>                                   #設定使用者訪問目錄的許可權,全部允許。

/usr/local/apache/htdocs目錄中建立test.wsgi,內容如下:

def application(environ, start_response):

    status=`200 OK`

    output=`Hello World!`

    response_headers=[(`Content-type`,`text/plain`), (`Content-Length`,str(len(output)))]

    start_response(status, response_headers)

    return[output]

重新啟動apache服務

訪問http://ip/python,看到“Hello World!”說明安裝成功。



搭建完畢,有什麼不對的地方,還請大家指出,先謝了。

本文轉自 linuxsong 51CTO部落格,原文連結:http://blog.51cto.com/song49/891052,如需轉載請自行聯絡原作者


相關文章