從0開始python後端開發_配置apache伺服器(Mac系統)
很久沒寫過關於配置這一類的教程了,今天給大家寫一篇如何在mac系統環境下下安裝以及正確的配置apache
mac系統下有非常好用的軟體管理包,Homebrew,所以我們不需要捨近求遠去apache官方網站下載,然後解壓安裝。
如果你的電腦沒用安裝Homebrew只需要開啟Terminal,在Terminal的shell命令列輸入
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
即可開始自動傻瓜式的brew安裝,在安裝完成之後可以檢查一下是否正確的安裝以及環境變數是否正確的配置,只需要在命令列輸入:#brew -v
示列:
#brew -v
Homebrew 1.5.3
Homebrew/homebrew-core (git revision 83b7; last commit 2018-02-08)
輸出brew版本和brew使用的核心以及最後的使用日期,就表示brew正確的被安裝到了mac系統下
既然已經正確的安裝了brew,那麼我們就可以使用brew很輕而易舉的安裝apache
只需要在命令列輸入
在brew的軟體包裡apache是httpd後面的24則是版本號,意思就是下載2.4版本的apache伺服器
#brew install httpd24
brew會幫我們自動下載以及安裝!下載完成之後,第一步就是檢查是否正確的安裝!
在命令列輸入:
#httpd -v
檢視httpd資訊示列:
#httpd -v
Server version: Apache/2.4.29 (Unix)
Server built: Dec 28 2017 00:52:51
如上所示,正確的輸出了Apache伺服器的版本號以及所使用的系統核心,就代表Apache伺服器已經正確的安裝到mac系統上了!
下面開始配置Apache伺服器的配置檔案
Apache伺服器的預設安裝目錄是/usr/local/etc/httpd
首先第一步在命令列輸入:
#cd /
進入根目錄在依次進入Apache的預設的安裝目錄:
#cd usr
#cd local
#cd etc
#cd httpd
也可以直接進入:#cd /usr/local/etc/httpd
然後輸入ls檢視一下目錄檔案:
#ls
httpd.conf magic original
extra mime.types
httpd.conf就是我們要配置的檔案,其他檔案暫時我們無需瞭解!
注意在使用者組根目錄下操作需要root許可權,我們要對該檔案使用vim編輯器進行編輯,不能直接vim httpd.conf 需要在前面加上sudo
sudo vim httpd.conf
然後輸入root密碼
完成上述一系列操作之後開始接下來的檔案配置
進入vim編輯介面後使用查詢命令查詢"Directory"關鍵字
<Directory "/var/www/cgi-bin">
AllowOverride None
Order allow,deny
</Directory>
配置檔案中會有多個"Directory"關鍵字,我們只要找到類似於上面這樣的格式的Directory關鍵字即可
Directory後面用雙引號擴起來的欄位是HTTP執行的預設預CGI程式目錄
我們將其修改為我們自己的目錄即可
這裡我就不做修改,我預設目錄就是var/www/cgi-bin
然後在下面把
AllowOverride None
Order allow,deny
更換為
AllowOverride None
Options +ExecCGI
Order allow,deny
Allow from all
使阿帕奇支援所有可執行檔案並獲得該目錄下的所有許可權
然後繼續搜尋"LoadModule"關鍵字,會有多個,我們只需要找到這種書寫格式的即可:
LoadModule cgi_module lib/httpd/modules/mod_cgi.so
找到了如果被“#”註釋掉了將#去掉,使其能正常載入cig動態庫
在搜尋“AddHandler”關鍵字,可能會有多個,只需要找到這種書寫格式即可:
AddHandler cgi-script .cgi
這個關鍵字是告訴apache支援那些檔案格式!
在.cgi後面加上一個空格和".py"即可讓apache伺服器支援py檔案
AddHandler cgi-script .cgi .py
然後在搜尋關鍵字“ServerName”,可能會有多個,只需要找到這種書寫格式即可:
ServerName www.example.com:8080
ServerName指令設定了伺服器用於辨識自己的主機名和埠號。就是說它後面的值是機器自己的主機名,可以帶埠號。這主要用於建立重定向URL。比如,一個放置web伺服器的主機名為simple.example.com ,但同時有一個DNS別名www.example.com 。而您希望web伺服器更顯著一點,可以使用如下的指令:
ServerName www.example.com:80
當沒有指定ServerName時,伺服器會嘗試對IP地址進行反向查詢來推斷主機名。如果在ServerName中沒有指定埠號,伺服器會使用接受請求的那個埠。為了加強可靠性和可預測性,應該使用ServerName顯式的指定一個主機名和埠號。
ServerName localhost:8080
改好之後儲存退出vim編輯器
重啟apache伺服器
#sudo httpd -k restart
在瀏覽器裡輸入:
http://localhost:8080
如果出現“IS OK”的字樣代表apache已經正確的配置,並正常執行。
預設的情況下不在埠號後面加任何路徑會預設執行
配置檔案中
"DrectoryIndex"關鍵字後方的檔案
配置檔案中"Drectorylndex"關鍵字:
<IfMoule dir_module>
Drectorylndex index.html
</IfMoule>
你也可以將“Drectorylndex”後面的欄位改成你的檔名
index.html是在/var/www檔案目錄下的,該目錄為apache預設檔案目錄,我們的程式目錄在/var/www/cgi-bin目錄下,所以如果要使用我們的檔案需要加上/cgi-bin/file_name
配置完成之後我們在/var/www/cgi-bin/目錄下建立一個python檔案
sudo vim hello_apache.py
注意使用者目錄下需要root許可權一定要加上sudo否則沒辦法儲存
寫入如下程式碼做測試
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print "Content-type:text/html"
print # 空行,告訴伺服器結束頭部
print '<html>'
print '<head>'
print '<meta charset="utf-8">'
print '<title>Hello Word</title>'
print '</head>'
print '<body>'
print '<h2>Hello World! </h2>'
print '</body>'
print '</html>'
寫完之後儲存,並在命令列中給予執行許可權:
sudo chmod 755 hello_apache.py
或者也可以直接給該檔案目錄下許可權
sudo chmod 755 /var/www/cgi-bin
這樣每次編寫新的python檔案就不需要重複給予執行許可權!
如果不給予執行許可權apache會直接將檔案內容顯示出來,而不執行python指令碼!
最後在瀏覽器中輸入“http://localhost:8080/cgi-bin/hello_apache.py”
瀏覽器的頁面標題會變成:Hello Word
頁面內容會變成:Hello Word!
如果要想修改域名地址要修改mac系統下的hosts檔案
在命令列輸入:
進入使用者根目錄
#cd //
進入etc目錄
#cd etc
開啟hosts檔案
#sudo vim hosts
在最下面輸入:
test 127.0.0.1
然後在瀏覽器輸入test:8080即可
域名可以修改埠號也一樣可以修改
進入apache配置目錄
#cd /usr/local/etc/httpd
開啟配置檔案
#sudo vim httpd.conf
使用vim查詢命令查詢
Listen 8080
將後面的8080改成你想要的任意埠號,注意要保證該埠號沒用被佔用
Listen 8081
儲存退出,重啟apache,在瀏覽器位址列輸入:
test:8081
即可跳轉到我們指定的預設的html檔案下!