1. 程式人生 > >apache基礎學習

apache基礎學習

strong 虛擬目錄 網絡端口 安全 會話 重新定義 window 類型 屬性信息

1,apache是什麽?

目前最主流的三個Web服務器是Apache Nginx IIS

2,環境搭建

linux系統安裝xampp:

先下載xampp for linux,放在/opt文件夾下,程序員常常把程序放在這個文件夾下,便於管理。

輸入命令自動安裝:sudo ./xampp-linux-x64-5.6.23-0-installer.run ,圖形界面點擊next,finish,安裝完成。

運行和停止:命令分別是>sudo /opt/lampp/xampp start 和 >sudo /opt/lampp/xampp stop

啟動圖形控制界面:sudo /opt/lampp/./manager-linux-x64.run

配置文件目錄:

Apache文檔根目錄:/opt/lampp/htdocs/

Apache配置文件:/opt/lampp/etc/httpd.conf

MySQL配置文件:/opt/lampp/etc/my.cnf

PHP配置文件:/opt/lampp/etc/php.ini

ProFTPD配置文件:/opt/lampp/etc/proftpd.conf

PHPMyadmin配置文件:/opt/lampp/phpmyadmin/config.inc.php

常用的xampp操作命令:

啟動/停止/重啟Apache:/opt/lampp/lampp start/stop/restart(包括啟動/停止/重啟了mysql,proftpd)

安全設置:/opt/lampp/lampp security

使用php版本/查看版本:/opt/lampp/lampp php4(5)/phpstatus

只啟動和停止Apache:/opt/lampp/lampp startapache/stopapache

只啟動和停止MySQL:/opt/lampp/lampp startmysql/stopmysql

只啟動和停止ProFTPD服務器:/opt/lampp/lampp startftp/stopftp

啟動和停止Apache的SSL支持:/opt/lampp/lampp startssl/stopssl

隨系統自啟動:

ln –s /opt/lampp/lampp/etc/rc.d/rc3.d/S99lampp

ln –s /opt/lampp/lampp/etc/rc.d/rc4.d/S99lampp

ln –s /opt/lampp/lampp/etc/rc.d/rc5.d/S99lampp

取消自啟動:

ln –s /opt/lampp/lampp K01lampp

卸載XAMPP:rm –rf /opt/lampp

3,web服務器apache架構與原理

web服務器的工作流程:

1,客戶端發送請求:客戶端(通過瀏覽器)和Web服務器建立TCP連接,連接建立以後,向Web服務器發出訪問請求,根據HTTP協議,該請求中包含了客戶端的IP地址、瀏覽器的類型和請求的URL等一系列信息。

2,服務器解析請求:Web服務器對請求按照HTTP協議進行解碼,然後Web服務器軟件現在就知道了,它應該找到請求的文件,並使用特定的協議將內存返回給客戶。

3,讀取其他信息:除了訪問內容以外的信息

4,完成請求的動作:若沒有錯誤出現,WWW服務器將執行請求所要求的動作。web服務器在其文檔樹中搜索請求的文件(/sample.html)。若文件能找到並可正常讀取,首先web服務器會發送狀態碼和一些描述性的信息,然後這個文檔被發出,同時服務軟件的標識以及文件的時間屬性信息也被包含在頭域中。如果文件沒有找到或者無法讀取,則請求沒法滿足,這時候服務器會返回一個狀態碼,表示請求有誤。

5,關閉文件和網絡連接,結束會話:當回應被發出以後,web服務器會關閉整個會話,它會關閉被請求的文件,關閉網絡端口而結束網絡連接。

apache架構虛擬目錄:

  在xampp中,我默認的localhost目錄是:C:/xampp/htdocs,假設該目錄下有一個test.php文件,則,在瀏覽器中訪問localhost/test.php就能打印出test.php的內容:hello i am main web!(直接訪問localhost的話會顯示出XAMPP的導引頁面)

  需求,建立一個虛擬目錄,位置是C:/xampp/htdocs/daqing_test,訪問該位置的鏈接是:www.daqing.com,該目錄下有一個test.php文件,瀏覽器訪問的時候會顯示:hello i am vitualhost!

  建立虛擬站點:

1,打開Apache安裝目錄下conf/httpd.conf文件,需要把文件中以下兩行的註釋去掉,也就是去掉井號,保存。

#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#Include conf/extra/httpd-vhosts.conf

2,打開Apache安裝目錄下/conf/extra/httpd-vhosts.conf文件,先找到NameVirtualHost *:80 去掉註釋的#號,目測這是一個專門配置虛擬站點的文件。按照如下格式將自定義的站點信息寫入到該文件末尾:

<VirtualHost *:80>
    DocumentRoot "/xampp/htdocs/daqing_test"
    ServerName www.daqing.com
</VirtualHost>

註意,提前建好/xampp/htdocs/daqing_test文件夾

3,在系統的配置文件中改一下hosts(C:\Windows\System32\drivers\etc\hosts),如果這個文件只有管理員才能修改,那就請點擊:文件 -- 打開windows power shell--以管理員身份打開windows power shell -- 命令行輸入>cmd -- >notepad hosts -- 修改:加入兩行

127.0.0.1 www.daqing.com    

註意兩組數中間有空格或者是\t。記得保存。

4,重啟apache,案例說虛擬站點應該是沒問題了,但是我的localhost此時已經不能訪問了!哭,那怎麽辦呢?接著想辦法配置

5,我第一步的操作是把配置文件httpd.conf中的這一句話註釋掉了

#ServerName localhost:80

但是localhost仍舊不工作,

6,然後我去httpd-vhosts.conf中重新定義了localhost,也就是按照添加虛擬站點的思想去加上了localhost

<VirtualHost _default_:80>
    ##ServerAdmin [email protected]
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
    ##ServerAlias www.dummy-host2.localhost
    ##ErrorLog "logs/dummy-host2.localhost-error.log"
    ##CustomLog "logs/dummy-host2.localhost-access.log" combined
</VirtualHost>

教程說_default_ 必須加,好吧,雖然不甚理解,那我加上吧。帶井號的註釋我也不大懂,加不加都可以。

7,最後一步,還是要去系統的hosts文件中加上這一句話:

127.0.0.1  localhost

這時候去瀏覽器訪問localhost/test.php或者www.daqing.com/test.php都可以成功!終於成功了。嗚嗚嗚

參考:

https://www.jianshu.com/p/98b0968f77be  

https://blog.csdn.net/github_38854224/article/details/78424441

https://blog.csdn.net/ldl_xz/article/details/50890197

4.apache和mysql是如何協作的?

在用php語言直接在站點寫好接口,還是需要先會php編程語言。

apache基礎學習