Windows從零安裝WordPress

HanzoHuang發表於2024-03-12

Windows從零安裝WordPress

在Linux中,可以用Linux運維工具配合docker很便捷的安裝並配置MySQL、nginx、php、WordPress,但是Windows伺服器中,我還沒有發現類似的皮膚,就嘗試學習用最原始的方法進行安裝。

教程環境:Windows Server 2022

準備工作

  1. Microsoft Visual C++ Redistributable Package

  2. MySQL

  3. nginx

  4. php

  5. WordPress or WordPress(CN) (如果需要中文版,直接從第二個網址進行下載。本教程以英文版為例,步驟一致,對應即可

  6. RunHiddenConsole

    image

Microsoft Visual C++ Redistributable Package

Microsoft Visual C++ Redistributable Package為MySQL依賴的環境

直接同意並安裝即可。

image

MySQL

MySQL資料庫為WordPress必須的環境之一,提供資料存放服務

開啟安裝包,選擇Server only,後續預設繼續即可

image

輸入的密碼為資料庫root管理使用者的密碼,請牢記

image

nginx

nginx在我們建站的過程中起到作為Web 伺服器的用處,負責將網頁內容對應至網址埠

直接將下載的安裝包解壓即可,我解壓在C:\server\nginx,雙擊目錄的nginx.exe即執行程式。

瀏覽網址http://127.0.0.1,出現以下內容則執行正常

image

停止nginx

WIN + R輸入cmd進入命令列,定位至資料夾(C:\server\nginx)並停止應用服務

cd C:\server\nginx
nginx.exe -s stop

php

php為WordPress必須的環境之一,php是為Web開發提供的一種簡單、高效、靈活的程式語言,類似於html,wordpress就是用php進行編寫的

直接解壓壓縮包至C:\server\php,後續進行配置

WordPress

WordPress本身,提供了基礎的建立頁面,建立文章功能,可以安裝豐富外掛

直接解壓壓縮包至C:\server\wordpress

RunHiddenConsole

RunHiddenConsole使得命令得以在後臺執行,而不會因為終端關閉而停止

直接將壓縮包中x64中的RunHiddenConsole.exe解壓放至C:\server資料夾

最終C:\server資料夾有以下下內容(位置只是根據個人偏好選擇,任意位置都可以)

image

配置

注意:下面配置的地址均更改為實際安裝位置,如果安裝位置和我一樣,則直接複製貼上即可

1. MySQL新增資料庫

開始選單中找到MySQL 8.0 Command Line Client

image

輸入剛才的root密碼並回車,進入MySQL命令列,輸入以下命令建立名為wordpress的資料庫

CREATE DATABASE wordpress;

2. nginx配置

nginx的配置檔案是nginx\conf裡的nginx.conf,可以用記事本開啟。找到第35行開始的server

  1. location /(第43行)

    root: wordpress所在位置

    index: 新增index.php,因為wordpress使用php編寫

        location / {
            root   C:/server/wordpress; # 設定為wordpress的位置
            index  index.html index.htm index.php; # 新增index.php
        }
    
  2. location ~ \.php$(第65行)

    首先需要將這幾行前的#刪掉以啟用php

    root: wordpress所在位置

    fastcgi_param: 直接修改為$document_root$fastcgi_script_name

            location ~ \.php$ {
                root           C:/server/wordpress; # 設定為wordpress的位置
                fastcgi_pass   http://127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
            }
    

以下為修改好的配置,如果前面安裝位置和我相同,則可以直接複製替換server部分。

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   C:/server/wordpress; # 設定為wordpress的位置
            index  index.html index.htm index.php; # 新增index.php
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on http://127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on http://127.0.0.1:9000
        #
        location ~ \.php$ {
            root           C:/server/wordpress; # 設定為wordpress的位置
            fastcgi_pass   http://127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; # 修改為$document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

3. php配置

進入php資料夾,找到php.ini-development配置檔案並複製為php.ini

  1. 搜尋extension_dir,找到第778行的內容

    ;extension_dir = "ext"
    

    刪去最開始的;,將ext改為php中的真實路徑

    extension_dir = "C:\server\php\ext"
    
  2. 搜尋cgi.fix_pathinfo,找到第815行內容

    ;cgi.fix_pathinfo=1
    

    刪去;

    cgi.fix_pathinfo=1
    
  3. 新增擴充套件php_mysqli.dll

    因為配置檔案中沒有找到該項,於是我們自行新增至任意位置即可,為了方便管理,我放在extension項的末尾(第975行)。直接加入以下兩行並儲存

    ;mysql extension
    extension=php_mysqli.dll
    

4. 啟動nginx和php

win + r輸入cmd開啟命令提示行,分別輸入以下兩行

start C:\server\nginx\nginx.exe
C:\server\php\php-cgi.exe -b http://127.0.0.1:9000 -c C:\server\php\php.ini

image

注意:執行第二行之後會卡住不動,不要關閉視窗,保持即可。

接下來在瀏覽器中訪問http://127.0.0.1

image

可以發現成功進入wordpress的setup-config頁面,至此啟動成功。

設定批處理檔案

剛才的視窗是不能關的,一旦關閉,php-cgi就會關閉,就不能解析php檔案。我們可以用批處理來開啟/關閉nginx和php-cgi。這裡用到RunHiddenConsole(用來隱藏CMD命令窗),把RunHiddenConsole.exe和批處理檔案放在同一級目錄,便不需要新增全域性環境變數。

  1. start.bat
@echo off

set PHP_FCGI_MAX_REQUESTS = 1000

echo Starting PHP FastCGI...

rem 分別為php-cgi.exe和php.ini的路徑 ,-b,-c等引數必須保留且注意前後空格

RunHiddenConsole C:\server\php\php-cgi.exe -b http://127.0.0.1:9000 -c C:\server\php\php.ini 

echo Starting nginx...

rem 填寫nginx.exe實際位置

RunHiddenConsole C:\server\nginx\nginx.exe

exit
  1. stop.bat
@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

雙擊執行start.batstop.bat便可以直接啟動/停止nginx和php服務。

3. 初始化WordPerss

  1. 瀏覽器訪問http://127.0.0.1,進入之前看到的介面,點選Let's go

  2. 填寫選項:

    Database name: wordpress(第一步:MySQL新增資料庫中填寫的資料庫名稱)

    Username: root(管理員帳號,預設)

    Password: 資料庫使用者密碼(安裝資料庫時填寫的密碼)

    Database Host: localhost(保持預設)

    Table Prefix: wp_(保持預設)

    image

  3. 點選submit,如果成功,則會出現以下頁面,點選Run the installation繼續安裝;如果出現Error,說明填寫有誤,請仔細檢查。

    image

  4. 填寫資訊:

    Site Title: 網站標題

    Username: 網站管理使用者名稱

    Password: 密碼(牢記)

    Your Email: 你的郵箱

    Search engine visibility: 是否被搜尋引擎發現(取決於搜尋引擎是否遵守)

    image

    點選Install WordPress進入下一步

  5. 出現下面頁面,說明網站設定成功。

    image

  6. 訪問WordPress主頁:http://127.0.0.1

    image

  7. 進入WordPress管理介面:http://127.0.0.1/wp-admin

    先填寫賬號密碼進行登入

    image

    登入之後進入管理介面

    image

Reference:

  • windows下搭建nginx+php開發環境(by 苦逼成長印記)-cnblog

  • 如何更改Wordpress語言為中文(by 木魚在遊)-華為開發者聯盟

相關文章