首先下載Apache源碼壓縮包,地址為http://mirror.bit.edu.cn/apache/httpd/
繼續(xù)下載aPR和apr-util壓縮包,地址為http://mirror.bit.edu.cn/apache/apr/
下載pcre壓縮包,地址為http://ftp.exim.llorien.org/pcre/
l 安裝arp
tar -zxf apr-1.5.0.tar.gz #解壓壓縮包 壓縮包名稱(chēng)根據(jù)版本號(hào)決定cd apr-1.5.0 #進(jìn)入解壓目錄./configure --prefix=/usr/local/apr #進(jìn)行安裝配置 設(shè)置安裝位置make #編譯sudo make install #安裝
l 安裝apr-util
tar –zxvf apr-util-1.5.3.tar.gz #解壓 壓縮包名稱(chēng)根據(jù)版本號(hào)決定cd apr-util-1.5.3 #進(jìn)入解壓目錄./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-configmake sudo make install
l 安裝pcre
unzip –o pcre-8.34.zip #解壓 文件名依據(jù)版本號(hào)而定cd pcre-8.34./configure --prefix=/usr/local/pcremakesudo make install
l 安裝Apache
tar –zxvf httpd-2.4.7.tar.gz #解壓 我安裝的為2.4.7版本cd httpd-2.4.7./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/makesudo make install
之后啟動(dòng)Apache,
cd /usr/local/apache2/binsudo apachectl –k start或者 sudo service apache2 start
如果看到如下頁(yè)面,說(shuō)明安裝成功。

啟動(dòng):
sudo service apache2 start 或者sudo apachectl start
停止:
sudo service apache2 stop或者sudo apachectl stop
重啟:
sudo service apache2 restart 或者sudo apachectl restart
重新加載站點(diǎn):
sudo service apache2 reload
采用mod_wsgi的方式。
首先需要下載mod_wsgi-2.4.tar.gz。
可以到官網(wǎng)下載。
還可以到點(diǎn)這里直接下載。
接下來(lái)執(zhí)行如下命令,對(duì)壓縮包進(jìn)行解壓;
tar –zxvf mod_wsgi-3.4.tar.gz
然后cd到解壓之后的目錄,執(zhí)行如下命令,產(chǎn)生配置編譯配置文件;
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python
其中/usr/local/apache2為Apache的安裝目錄,確保apxs存在于bin目錄中,/usr/bin/python為Ubuntu中python默認(rèn)安裝位置。
接下來(lái)執(zhí)行make 命令,進(jìn)行編譯;
make
最后執(zhí)行如下命令,進(jìn)行安裝;
sudo make install
如果到這里都順利的話(huà),會(huì)提示“chmod 755 /usr/local/apache2/modules/mod_wsgi.so” 為mod_wsgi.so賦權(quán)。如圖:

照著提示輸入命令即可:
chmod 755 /usr/local/apache2/modules/mod_wsgi.so
接下來(lái),安裝Django:
django官網(wǎng)(https://www.djangoproject.com/download/)上提供了兩種安裝方式。
l pip方式
pip install Django==1.6.2
l 直接下載壓縮包安裝,下載地址https://www.djangoproject.com/download/1.6.2/tarball/
tar xzvf Django-1.6.2.tar.gz #先解壓cd Django-1.6.2 #進(jìn)入解壓后目錄sudo python setup.py install
上面兩種方式任選一種即可。
安裝完成后可以在終端窗口中查看是否安裝成功

我安裝的是django 1.7版本。
Apache的默認(rèn)www服務(wù)地址為/var/www,剛剛安裝好服務(wù)后,里面只有一個(gè)index.html的網(wǎng)頁(yè)文件。
接著說(shuō)一下Apache,由于Apache在linux下安裝后,安裝文件是分兩部分存在的,一部分在安裝時(shí)指定的目錄中,另一部分在/etc/apache2目錄中。
由于我安裝Apache時(shí),指定的目錄是/usr/local/apache2,所以我的機(jī)器上apache分布在如下兩個(gè)目錄,即:
/usr/local/apache2 #可執(zhí)行程序目錄
和
/etc/apache2 #配置文件目錄
進(jìn)入/etc/apache2目錄,查看目錄結(jié)構(gòu),其中藍(lán)色為目錄,白色為文件。

httpd.conf 文件通常是一個(gè)空文件,以后設(shè)置時(shí)可以加入以下指令;
下面我們來(lái)看一下httpd.conf中的幾條指令,“#”后加入了注釋說(shuō)明;
Port 80 #定義了web服務(wù)器的偵聽(tīng)端口,默認(rèn)值為80,它是TCP網(wǎng)絡(luò)端口之一。若寫(xiě)入多個(gè)端口,以最后一個(gè)為準(zhǔn)。
User apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái)) #一般情況下,以nobody用戶(hù)和nobody組來(lái)運(yùn)行web服務(wù)器,因?yàn)閣eb
Group apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái)) #服務(wù)器發(fā)出的所有的進(jìn)程都是以root用戶(hù)身份運(yùn)行的,存在安全風(fēng)險(xiǎn)。
ServerAdmin root@localhost #指定服務(wù)器管理員的E-mail地址。服務(wù)器自動(dòng)將錯(cuò)誤報(bào)告到該地址。
ServerRoot /etc/httpd #服務(wù)器的根目錄,一般情況下,所有的配置文件在該目錄下
ServerName new.host.name:80 #web客戶(hù)搜索的主機(jī)名稱(chēng)
KeepAliveTimeout 15 #規(guī)定了連續(xù)請(qǐng)求之間等待15秒,若超過(guò),則重新建立一條新的TCP連接
MaxKeepAliveRequests 100 #永久連接的HTTP請(qǐng)求數(shù)
MaxClients 150 #同一時(shí)間連接到服務(wù)器上的客戶(hù)機(jī)總數(shù)
ErrorLog logs/error_log #用來(lái)指定錯(cuò)誤日志文件的名稱(chēng)和路徑
PidFile run/httpd.pid #用來(lái)存放httpd進(jìn)程號(hào),以方便停止服務(wù)器。
Timeout 300 #設(shè)置請(qǐng)求超時(shí)時(shí)間,若網(wǎng)速較慢則應(yīng)把值設(shè)大。
DocumentRoot /var/www/ #用來(lái)存放網(wǎng)頁(yè)文件
magic文件中包含的是有關(guān)mod_mime_magic模塊的數(shù)據(jù), 一般不需要修改它;
ports.conf則為服務(wù)器監(jiān)聽(tīng)I(yíng)P和端口設(shè)置的配置文件;
mods-available目 錄下是一些.conf和.load 文件, 為系統(tǒng)中可以使用的加載各種模塊的配置文件, 而mods-enabled目錄下則是指向這些配置文件的符號(hào)連接, 從配置文件apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái))2.conf 中可以看出, 系統(tǒng)通過(guò)mods-enabled目錄來(lái)加載模塊, 也就是說(shuō), 系統(tǒng)僅通過(guò)在此目錄下創(chuàng)建了符號(hào)連接的mods-available 目錄下的配置文件來(lái)加載模塊。同時(shí)系統(tǒng)還提供了兩個(gè)命令 a2enmod 和 a2dismod用于維護(hù)這些符號(hào)連接。這兩個(gè)命令由 apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái))2-common 包提供。命令各式也非常簡(jiǎn)單: a2enmod [module] 或 a2dismod [module];
sites-available目 錄下為配置好的站點(diǎn)的配置文件, sites-enabled 目錄下則是指向這些配置文件的符號(hào)連接, 系統(tǒng)通過(guò)這些符號(hào)連接來(lái)起用站點(diǎn) sites-enabled目錄下的符號(hào)連接附有一個(gè)數(shù)字前綴, 如000-default, 這個(gè)數(shù)字用于決定啟動(dòng)順序, 數(shù)字越小, 啟動(dòng)優(yōu)先級(jí)越高. 系統(tǒng)提供了兩個(gè)命令 a2ensite 和 a2dissite 用于維護(hù)這些符號(hào)連接。這兩個(gè)命令由 apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái))2-common 包提供;
Apache配置介紹到這里,接下來(lái)開(kāi)始配置Django網(wǎng)站。
Apache默認(rèn)的服務(wù)器地址為var/www目錄,沒(méi)有必要修改此位置,cd到/var/www目錄,新建Django項(xiàng)目,執(zhí)行如下命令:
sudo django-admin.py startproject mysite
創(chuàng)建的項(xiàng)目目錄結(jié)構(gòu)如下
mysite/
manage.py
mysite/ __init__.py
settings.py
urls.py
wsgi.py
可以通過(guò)
python manage.py runserver 8000
測(cè)試django項(xiàng)目是否創(chuàng)建成功。如果提示錯(cuò)誤,可能是由于django默認(rèn)使用sqllite數(shù)據(jù)庫(kù)的原因,只要在mange.py同級(jí)目錄中添加db.sqllite3即可。
之后,我打算將mysite這個(gè)站點(diǎn),在端口8888下運(yùn)行。
修改/etc/apache2/ports.conf ,在其中的
NameVirtualHost *:80Listen 80
下面添加
NameVirtualHost *:8888Listen 8888
表示VirtualHost *:8888的虛擬主機(jī)監(jiān)聽(tīng)8888端口,而默認(rèn)的VirtualHost *:80的虛擬主機(jī)監(jiān)聽(tīng)80端口。
接下來(lái)讓apache來(lái)加載我們自己的工程網(wǎng)站,去apache的配置目錄/etc/apache/sites-available, 新建一個(gè)我們網(wǎng)站的配置文件。
sudo vim mysite
添加如下配置:
<VirtualHost *:8888> DocumentRoot /var/www/mysite/mysite <Directory /var/www/mysite/mysite> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py</VirtualHost>
在/etc/apache2/httpd.conf添加如下配置:
<VirtualHost *:8888> DocumentRoot /var/www/mysite/mysite <Directory /var/www/mysite/mysite> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py</VirtualHost>
最后在/var/www/mysite/mysite/wsgi.py中添加如下代碼:
import syssys.path.append("/var/www/mysite/")將網(wǎng)站目錄添加到環(huán)境變量,如果網(wǎng)站目錄不再環(huán)境變量中,會(huì)出現(xiàn)錯(cuò)誤。
激活我新建的mysite網(wǎng)站,執(zhí)行如下命令:
sudo a2ensite mysite #其中mysite就是sites-available中新建的那個(gè)配置文件的名稱(chēng)
重新加載網(wǎng)站:
sudo service apache2 reload
之后執(zhí)行
sudo service apache2 restart
重啟apache服務(wù)。
在瀏覽器打開(kāi)127.0.0.1:8888,會(huì)看到如下頁(yè)面:

注:如果不想新建網(wǎng)站配置文件,可直接在etc/apache2/httpd.conf中添加配加默認(rèn)配置即可:
WSGIScriptAlias / "/ var/www/mysite/mysite/wsgi.py" <Directory " /var/www/mysite/mysite"> Order Deny,Allow Allow from all </Directory>
初次配置,如有錯(cuò)誤及疏漏之處,還請(qǐng)各位看官提醒、指點(diǎn),或者有任何問(wèn)題也可留言說(shuō)明。
|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注