1. 程式人生 > >Apache2.4.34 + php 7.28 + MySQL8.0.12 安裝及配置

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;