国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Linux下安裝Apache并以mod_wsgi方式部署django站點(diǎn)

2019-11-14 17:48:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

源碼編譯方式安裝Apache

首先下載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ō)明安裝成功。

如何控制Apache服務(wù)

啟動(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

 

如何使Apache支持django

采用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版本。

如何新建一個(gè)django網(wǎng)站

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ō)明。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆回县| 天水市| 巫山县| 明光市| 通河县| 奎屯市| 墨竹工卡县| 三河市| 墨竹工卡县| 开平市| 丹巴县| 绥芬河市| 白银市| 门头沟区| 从化市| 肇州县| 虹口区| 铜鼓县| 焦作市| 康乐县| 锡林郭勒盟| 靖远县| 吉木乃县| 汨罗市| 忻州市| 东城区| 秀山| 嘉义县| 建阳市| 全椒县| 崇州市| 丰原市| 万年县| 阳谷县| 广灵县| 黄浦区| 阿拉善右旗| 天水市| 孟村| 石门县| 西华县|