全部產品
Search
文件中心

Elastic Compute Service:手動搭建WordPress(Linux)

更新時間:Nov 22, 2024

WordPress是一款免費開源的網站內容管理系統(CMS),他可以協助您簡單、快捷地建立和管理自己的網站,包括部落格、新聞網站、電子商務網站、社交網路等。WordPress擁有豐富的主題和外掛程式庫,可以輕鬆地為網站定製外觀和功能。本教程介紹如何在不同作業系統的Linux執行個體上,手動搭建WordPress網站的方法。

準備工作

為已建立執行個體搭建WordPress網站,已建立的ECS執行個體必須滿足以下條件:

  • 執行個體已指派公網IP地址或綁定Elastic IP Address(EIP)。

    如果建立執行個體時未配置公網,請綁定EIP。具體操作,請參見綁定EIP

  • 執行個體的安全性群組入方向規則已允許存取22、80連接埠。具體操作,請參見添加安全性群組規則

    重要

    基於伺服器資料安全考慮,本文僅說明部署與測試LNMP環境和WordPress網站所必需允許存取的連接埠,您可以根據實際需求,允許存取其他應用所需的連接埠號碼。例如,遠端連線MySQL資料庫時,需要允許存取MySQL預設佔用的3306連接埠。

操作步驟

警告

不同的作業系統搭建WordPress的命令存在差異,請根據您的ECS執行個體作業系統選擇對應的操作,否則會安裝失敗。本文檔以Alibaba Cloud Linux 3/2、CentOS 7/8為例部署WordPress 6.4。

  1. 部署LNMP環境。具體操作,請參見手動部署LNMP環境

    重要
    • 更多部署LNMP環境的方式,請參見部署LNMP環境。但WordPress對PHP、MySQL版本存在依賴關係,如果版本不匹配則會導致WordPress安裝失敗。具體依賴資訊,請參見WordPress Compatibility

    • 本文檔Web伺服器為Nginx,如果您的伺服器ECS執行個體已安裝Apache,會出現80連接埠被佔用的問題,導致WordPress無法訪問。

  2. 遠端連線ECS執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  3. 配置WordPress資料庫。

    1. 運行以下命令,進入MySQL資料庫。

      說明

      使用root使用者登入MySQL,並輸入密碼。密碼為您在搭建LNMP環境時為資料庫設定的密碼。

      mysql -u root -p
    2. 運行以下命令,為WordPress網站建立一個名稱為wordpress的資料庫。

      create database wordpress;
    3. 運行以下命令,建立一個新使用者user管理WordPress庫,新使用者密碼為PASSword123.,以提高資料安全性。

      create user 'user'@'localhost' identified by 'PASSword123.';
      說明
      • 您可以使用show variables like "%password%";命令,查詢MySQL的密碼強度規則。本樣本中密碼規則要求:長度為8至30個字元,必須同時包含大小寫英文字母、數字和特殊符號,其中特殊符號包含()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/

      • MySQL在5.7版本後預設安裝了密碼強度驗證外掛程式validate_password。

    4. 運行以下命令,賦予使用者對資料庫wordpress的全部許可權。

      grant all privileges on wordpress.* to 'user'@'localhost';
    5. 運行以下命令,使配置生效。

      flush privileges;
    6. 運行以下命令,退出MySQL。

      exit;
  4. 下載WordPress,並移動至網站根目錄。

    1. 運行以下命令,進入Nginx網站根目錄,下載WordPress壓縮包。

      說明

      本樣本預設安裝的是WordPress中文版本。如果您需安裝WordPress英文版本,需運行命令wget https://wordpress.org/wordpress-6.4.4.zip,下載WordPress英文版本壓縮包。同時您需要注意,後續操作中壓縮包的名稱必須替換為wordpress-6.4.4.zip

      cd /usr/share/nginx/html
      sudo wget https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip
    2. (可選)運行以下命令,安裝unzip命令。

      sudo yum install unzip -y
    3. 運行以下命令,解壓WordPress壓縮包。

      sudo unzip wordpress-6.4.4-zh_CN.zip
    4. 運行以下命令,將WordPress安裝目錄下的wp-config-sample.php檔案複製到wp-config.php檔案中,並將wp-config-sample.php檔案作為備份。

      cd /usr/share/nginx/html/wordpress
      sudo cp wp-config-sample.php wp-config.php
  5. 修改WordPress設定檔。

    1. 運行以下命令,編輯wp-config.php檔案。

      sudo vim wp-config.php
    2. i鍵進入編輯模式。

      根據已配置的WordPress資料庫資訊,修改MySQL相關配置資訊樣本如下所示。

      說明

      設定檔中的WordPress資料庫名稱、MySQL資料庫使用者名稱和密碼需要和配置WordPress資料庫中保持一致。

      // ** MySQL 設定 - 具體資訊來自您正在使用的主機 ** //
      /** WordPress資料庫的名稱 */
      define('DB_NAME', 'wordpress');
      
      /** MySQL資料庫使用者名稱 */
      define('DB_USER', 'user');
      
      /** MySQL資料庫密碼 */
      define('DB_PASSWORD', 'PASSword123.');
      
      /** MySQL主機 */
      define('DB_HOST', 'localhost');
      說明

      WordPress網站的資料資訊將通過資料庫的user使用者儲存在名為wordpress的資料庫中。

    3. Esc鍵,輸入:wq後按Enter鍵,儲存退出設定檔。

  6. 修改Nginx設定檔。

    Alibaba Cloud Linux 3/2、CentOS 7

    1. 運行以下命令,開啟Nginx設定檔。

      sudo vim /etc/nginx/nginx.conf
    2. i鍵進入編輯模式。

      • server大括弧內,將root後的內容替換為WordPress根目錄。

        本樣本中WordPress的根目錄為/usr/share/nginx/html/wordpress

      • location ~ .php$大括弧內,將root後的內容替換為WordPress根目錄。

      說明

      替換為WordPress根目錄時,需將WordPress根目錄後加分號(;),否則無法重啟Nginx服務。

      nginx設定檔

    3. Esc鍵,輸入:wq後按Enter鍵,儲存退出設定檔。

    4. 運行以下命令,重啟Nginx服務。

      sudo systemctl restart nginx

    CentOS 8

    1. 運行以下命令,開啟Nginx設定檔。

      sudo vi /etc/nginx/conf.d/default.conf
    2. i鍵進入編輯模式,替換WordPress根目錄。

      本樣本中WordPress的根目錄為/usr/share/nginx/html/wordpress

      • location /大括弧內,將root後的內容替換為WordPress根目錄。nginx

      • location ~ \.php$大括弧內,將root後的內容替換為WordPress根目錄。nginx

    3. Esc鍵,輸入:wq後按Enter鍵,儲存退出設定檔。

    4. 運行以下命令,重啟Nginx服務。

      sudo systemctl restart nginx
  7. 安裝並登入WordPress網站。

    1. 在本地物理機上使用瀏覽器訪問http://ECS執行個體公網IP,進入WordPress安裝頁面。

    2. 填寫網站基本資料,然後單擊安裝WordPress

      填寫資訊參數說明:

      • 網站標題:WordPress網站的名稱。例如:demowp。

      • 使用者名稱:登入WordPress時所需的使用者名稱,請注意安全性。例如:testwp。

      • 密碼:登入WordPress時所需的密碼,建議您設定安全性高的密碼。例如:Wp.123456。

      • 您的電子郵件:用於接收通知的電子郵件。例如:username@example.com。

    3. 單擊登入

    4. 輸入在安裝WordPress時設定的使用者名稱testwp和密碼Wp.123456,然後單擊登入

      成功進入您個人的WordPress網站。使用WordPress的更多資訊,請參見WordPress官網使用文檔

相關操作

解析WordPress網站網域名稱

通過執行個體公網IP地址直接存取您的WordPress網站會降低服務端的安全性。如果您已有網域名稱或者想為WordPress網站註冊一個網域名稱,可以參考以下步驟。

  1. 註冊網域名稱。

    您可以在阿里雲註冊網域名稱。具體操作,參見通用網域名稱註冊基本流程如何註冊阿里雲網域名稱

  2. 備案網域名稱。

    如果您的網域名稱指向的網站託管在阿里雲中國內地節點伺服器,您需要進行備案。具體操作,請參見ICP備案流程

    說明
    • 備案要求ECS執行個體的計費方式為訂用帳戶且至少購買3個月,如果您的伺服器購買時間長度不滿足備案要求,需執行以下操作:

    • 整個備案流程預計所需時間長度約1~22個工作日左右,具體時間長度以實際操作時間為準。

    • 備案過程中的常見問題,請參見備案常見問題

  3. 解析網域名稱。

    將網域名稱指向執行個體公網IP。具體操作,請參見設定網域名稱解析

    說明

    網域名稱解析過程中的常見問題,請參見解析不生效類問題

  4. 將執行個體公網IP替換為新網域名稱。

    1. 遠端連線已搭建WordPress網站的ECS執行個體。

      具體操作,請參見串連執行個體

    2. 運行以下命令,登入MySQL資料庫。

      mysql -u root -p
    3. 運行以下命令,切換至WordPress對應的資料庫。

      use wordpress;
    4. 運行以下命令,為WordPress網站設定新網域名稱。

      說明

      操作時需修改命令中的參數:

      • http://執行個體公網IP:替換為實際的執行個體公網IP。

      • http://www.example.com:替換為實際網域名稱。

      update wp_options set option_value = replace(option_value, 'http://執行個體公網IP', 'http://www.example.com') where option_name = 'home' OR option_name = 'siteurl';
    5. 運行以下命令,退出MySQL。

      exit;

      成功為WordPress網站設定新網域名稱。

常見問題

Q1:無法通過公網IP訪問WordPress

可能原因及其解決方案:

Q2:WordPress中設定固定連結後,跳轉頁面無法訪問

網站設定為靜態網頁有利於搜尋引擎收錄網站。您在對WordPress網站設定固定連結前,需要先在Nginx伺服器中設定為靜態規則。操作步驟如下:

  1. 登入搭建WordPress的ECS執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 運行以下命令,開啟Nginx設定檔。

    sudo vim /etc/nginx/nginx.conf
  3. i鍵進入編輯模式。

  4. location /大括弧內,添加如下代碼。

    if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
    rewrite (.*) /index.php;
    }
  5. Esc鍵,輸入:wq後按Enter鍵,儲存退出設定檔。

  6. 運行以下命令,重啟Nginx服務。

    sudo systemctl restart nginx

Q3:WordPress中更新版本、上傳主題或外掛程式時,提示需要FTP登入憑證或無法建立目錄

該問題可能是因為WordPress設定檔、主題或外掛程式的許可權不足,您可以參考以下步驟解決。

  1. 登入搭建WordPress的ECS執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 運行以下命令,開啟WordPress設定檔。

    sudo vim /usr/share/nginx/html/wordpress/wp-config.php
  3. i鍵進入編輯模式。

  4. 在最下方,添加如下代碼。

    define("FS_METHOD","direct");
    define("FS_CHMOD_DIR", 0777);
    define("FS_CHMOD_FILE", 0777);
  5. Esc鍵,輸入:wq後按Enter鍵,儲存退出設定檔。

  6. 返回WordPress儀錶盤,重新整理頁面,可解決需要FTP登入憑證的問題。

    如果仍存在無法建立目錄的問題,需再次返回ECS執行個體,運行以下命令,將網站根目錄的許可權使用者更新為Nginx對應的使用者,本樣本環境中為nginx使用者。

    sudo chown -R nginx /usr/share/nginx/html/wordpress

Q4:如何修改WordPress鏡像中的MySQL 5.7資料庫的預設使用者名和密碼?

  1. 遠端連線安裝WordPress鏡像的ECS執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 運行以下命令,登入MySQL資料庫。

    mysql -u root -p

    根據回顯資訊,輸入MySQL資料庫root使用者的預設密碼。

    [test@izbp1cgfkqcrs8pi2li**** ~]# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.7.23 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
  3. 運行以下命令,進入MySQL資料庫。

    use mysql
    說明

    運行select user from mysql.user;命令,可查看MySQL資料庫的使用者名稱。

  4. 根據需求,修改資料庫的使用者名稱和密碼。

    • 運行以下命令,修改資料庫使用者名稱為新使用者名稱。

      update user set user="新使用者名稱" where user="使用者名稱";

      本樣本將root使用者名稱修改為admin,命令如下:

      update mysql.user set user="admin" where user="root";
    • 運行以下命令,修改資料庫使用者名稱的密碼。

      update mysql.user set authentication_string=password("新密碼") where user="要更新密碼的使用者名稱";

      本樣本將root使用者密碼改為newpassword,命令如下:

      update mysql.user set authentication_string=password("newpassword") where user="root";
  5. 運行以下命令,重新整理許可權使修改生效。

    flush privileges; 
  6. 運行以下命令,退出MySQL資料庫。

    quit;

相關文檔