apache基礎學習
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基礎學習