Apache2.4.34 + php 7.28 + MySQL8.0.12 安裝及配置
服務端的學習
Apache2.4.34 的安裝及配置
1.基本安裝
最新的 Apache 已經不提供 Windows 的安裝版本,所以我們這裡使用的是解壓版
安裝方式如下
1.注意:需要使用管理員身份執行命令列!!! 2. 切換到 Apache 解壓路徑中的 bin 目錄 3.# $ cd <解壓目錄>/bin 4.安裝 Apache 服務,‐n 引數是指定服務名稱 5.# $ httpd.exe ‐k install ‐n "Apache" 6.如果需要解除安裝 Apache,可以執行以下命令 7.# $ httpd.exe ‐k uninstall ‐n "Apache"
執行安裝命令過後會報一個錯,原因是預設的配置檔案有問題,需要先調整一下配置檔案 ==conf/httpd.conf== ,才能正常啟動服務。
找到 Apache 解壓目錄中的 conf 目錄下的 httpd.conf 檔案,定位到 37 行,將 c:/Apache24 改為解壓目錄,我這裡解壓到路徑是 C:/Develop/apache ,所以我這裡修改
修改完以後,執行以下命令重新測試配置檔案是否通過。
$ httpd.exe ‐t
這裡依然報錯:
隨即,我們發現這個配置檔案中有很多預設配置選項中的路徑都是 c:/Apache24 ,所以我們批量都修改為我們解 壓的目錄路徑。 然後重新執行 httpd.exe -t 測試配置檔案,這時候應該提示 Syntax OK 。
如果有關於
ServerName
的警告提示,不用管它,暫時還不會影響我們接下來的使用和操作。
接著執行以下命令重新啟動 Apache 服務:
# 注意:需要使用管理員身份執行命令列!!! $ httpd.exe ‐k start ‐n "Apache" # 重新啟動 Apache 服務 $ httpd.exe ‐k restart ‐n "Apache" # 停止 Apache 服務 $ httpd.exe ‐k stop ‐n "Apache"
回到瀏覽器中,位址列輸入:http://localhost/,回車訪問,這時正常應該看到 It works!
如果無法訪問 請檢視80 埠是否被佔用
可以直接在httpd.conf 中改埠 訪問
注意:
1.確保配置檔案語法檢查通過 2.確保 80 埠沒有被其他程式佔用 3.確保防火牆允許 80 埠的請求,或者乾脆關掉防火牆 4.如果出現 Forbidden 情況,確保配置檔案 httpd.conf 中 247 行( DocumentRoot 之後)的 Directory 配置的與 DocumentRoot 路徑相同 5.我們在開發階段大多數都是自己訪問自己機器上的網站,那這種情況下,我們既是服務端又是客戶端。 對於新手來說,最常見的問題就是分不清楚哪是客戶端應該有的,哪是服務端應該有的。這種時候一定要保持清醒,客戶端侷限在瀏覽器視窗,程式碼以及 Apache 相關的檔案和配置都是放在服務端的。
網站根目錄
網站根目錄就是存放我們網站檔案的最頂層目錄,通常 URL 中域名後面的第一個斜線對應(對映)的就是網站根目錄。 預設文件指的是我們在訪問某一個目錄時(沒有指定具體的檔案),預設訪問的檔案叫做預設文件 注:動態網站情況會比較特殊,需要單獨考慮,不一定是這個規則。
預設 Apache 的網站根目錄是安裝目錄中的 htdocs 資料夾,為了方便對網站檔案的管理,一般我們會將其設定在一個自定義目錄中(如果你不介意其實不修改也無所謂)。 如果需要設定網站根目錄,可以通過修改配置檔案 httpd.conf 中的網站根目錄選項切換。
預設文件
當客戶端訪問的是一個目錄而不是具體檔案時,服務端預設返回這個目錄下的某個文件(檔案),這個文件就稱之為 預設文件。
配置檔案 httpd.conf 的 280 行的 DirectoryIndex ,預設文件可以配置多個(有前到後依次去找,找到為止,如果沒找到任何一個則啟用目錄瀏覽):
2.虛擬主機的配置
如果一臺機器上只有一個網站的話,沒有任何問題,但是如果想要在一臺機器上部署多個站點,就必須通過配置虛擬主機的方式解決。
由於後期對虛擬主機的配置操作非常常見,所以我們一般將虛擬主機的配置單獨放到一個配置檔案中,然後在主配置檔案中引入,避免破壞主配置檔案中的其他配置。 Include conf/extra/httpd-vhosts.conf 配置的作用就將另外一個配置檔案引入(使其生效)
具體的操作方式就是在主配置檔案 httpd.conf 的 505 行取消註釋:
然後找到 Apache 的虛擬主機配置檔案,新增一個如下的虛擬主機配置節點,然後重新啟動 Apache。
這個檔案中有兩個預設的示例配置,可以註釋掉
如果真的要使用 baixiu.com 這個域名的話,就只能通過修改 hosts 檔案達到目的,原因很簡單:這個域名不是我們自己的,我們沒有辦法修改這個域名在公網上的 DNS。
具體操作
1.改成所需的都域名和埠
新增內容
<Directory "F:/study/zixue/php"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
2.更改系統檔案hosts
末尾新增
#配置 127.0.0.1 xuanji.io
如果虛擬主機的埠使用的不是 80 ,則需要在主配置檔案中新增一個對這個埠的監聽:
PHP7.28 的安裝及配置
1.基本安裝
官網下載PHP的版本
最好解壓在與伺服器同一個資料夾中 方便管理(純英文路徑)
接下來,在Apache中新增支援
httpd.conf中 # php support LoadModule php7_module C:/Develop/php/php7apache2_4.dll #最好手打 容易出錯
然後在 <IfModule mime_module>
節點中新增 .php
副檔名解析支援
# parse .php files AddType application/x‐httpd‐php .php
預設文件配置節點 <IfModule dir_module>
中新增 index.php
預設文件指的是在訪問一個目錄而不是具體檔名時,預設執行的檔名
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
重啟 Apache,開啟瀏覽器測試
MySQL8.0 的安裝
1.基本安裝
1.解壓到純英文路徑(最好還是一個目錄下)
2.解壓目錄新增 my.ini
參考:
[mysqld] # MySQL 安裝目錄 basedir=C:/Develop/mysql # 資料檔案所在目錄 datadir=C:/Develop/mysql/data
3.以管理員身份執行 CMD 執行以下命令,安裝一個 MySQL 服務
# 定位到安裝目錄下的 bin 資料夾 $ cd <MySQL安裝目錄>/bin # 初始化資料所需檔案以及獲取一個臨時的訪問密碼 $ mysqld ‐‐initialize ‐‐user=mysql ‐‐console # 將 MySQL 安裝為服務 可以指定服務名稱 $ mysqld ‐‐install MySQL 啟動服務 $ net start mysql
4.登入 MySQL 伺服器,重置密碼
# 先通過使用者名稱密碼進入 MySQL 操作環境 $ mysql ‐u root ‐p Enter password: # 輸入臨時密碼 # 設定資料庫訪問密碼,一定要加分號 mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
注意:
刪除 全域性刪除mysql服務
sc delete 服務名稱
2.與php連線起來
1.如果需要使用 MySQLi 擴充套件,需要在 php.ini 檔案中開啟這個擴充套件(解除註釋)
如果沒有php.ini 將下方的兩個字尾改成ini 即可
在php.ini中查詢
解開註釋即可
還有在這注意 Apache是否已經把載入的設定在php目錄下,如果無效在apache 末尾新增
PHPIniDir “php.ini的路徑”php.ini
還有如果無效,請檢視php.ini中的拓展路徑是否開啟(新增絕對路徑 C:\fuwuqi\php7.2)
然後在伺服器中開啟php檔案
顯示這個就成功開啟了連線
出現無法連線資料庫的解決方法
輸入命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; grant all privileges on *.* to ‘root’@’localhost’; flush privileges;