在本教程中,我們將說明如何在 Rocky Linux 9 上使用 Nginx MariaDB 安裝 WordPress。本教學將指導您安裝和設定 Nginx 作為 Web 伺服器、PHP、MariaDB 作為資料庫。
WordPress 最受歡迎的 CMS。它是一個用 PHP 編寫的免費開源內容管理系統,並與 MySQL 或 MariaDB 資料庫配對。
在 Rocky Linux 9 上使用 Nginx MariaDB 安裝 WordPress
先決條件:
Rocky Linux 9專用伺服器或KVM VPS。
root 使用者存取權限或具有 sudo 權限的普通使用者。
保持伺服器最新:
sudo dnf update -y
安裝Nginx
sudo dnf install nginx -y
使用以下命令啟動並啟用 Nginx 服務:
sudo systemctl start nginx && sudo systemctl enable nginx
如果您啟用了 UFW 防火牆,並且防火牆阻止 apache Web 伺服器的請求,請在防火牆中開啟一個連接埠。
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent
sudo firewall-cmd --reload
現在,讓我們驗證 Nginx 安裝。打開瀏覽器並導航到您的伺服器IP,它將顯示預設測試頁面。
安裝MariaDB
首先,我們需要新增 MariaDB 儲存庫。在 /etc/yum.repo.d/ 目錄中建立 mariadb.repo 檔案。
sudo vi /etc/yum.repos.d/mariadb.repo
我們需要導入套件管理系統使用的公鑰。我們可以使用以下命令導入它:
[mariadb]
name = MariaDB
baseurl = https://rpm.mariadb.org/10.11/rhel/$releasever/$basearch
gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
現在,運行安裝命令。
sudo dnf install mariadb-server -y
使用以下命令啟動並啟用 mariadb.service:
sudo systemctl start mariadb && systemctl enable mariadb
登入mysql並建立資料庫和使用者。
sudo mysql
我們可以透過鍵入以下內容為 WordPress 建立資料庫:
MariaDB [(none)]> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
你可以隨意替換和調用 wordpress。
現在,建立一個使用者並授予我們之前建立的資料庫的權限。
MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
將 wordpressuser 替換為您的使用者名,並使用強密碼設定密碼。
若要反映更改,請執行以下命令:
MariaDB [(none)]> FLUSH PRIVILEGES;
一切完成後,退出 mysql。
MariaDB [(none)]> exit;
安裝並配置PHP
首先,我們需要安裝EPEL。
sudo dnf install epel-release -y
列出可用的 PHP 模組。
sudo dnf module list php
接下來,使用以下命令啟用 PHP 8.1:
sudo dnf module install php:8.2
最後,安裝 WordPress 安裝所需的 PHP 套件。
sudo dnf install php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-zip php-mysqli -y
驗證 PHP 安裝:
php -v
我們將透過刪除分號 (;) 並將其設為 0 來取消註釋。
cgi.fix_pathinfo=0
完成後,儲存並退出。
接下來,重新啟動 php-fpm 服務:
sudo systemctl restart php-fpm
設定Nginx
配置 Nginx 伺服器區塊以使用特定網域名稱和 PHP 處理器。在這裡我們正在創建新的伺服器區塊。
sudo vi /etc/nginx/conf.d/hostnextra.com.conf
注意:將 hostnextra.com 替換為您的網域。
Add following lines: 新增以下行:
server {
server_name server_domain_name_or_IP;
root /var/www/wordpress;
index index.html index.htm index.nginx-debian.html index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
將 替換為您的伺服器 IP 或網站名稱。
測試設定檔。
sudo nginx -t
如果沒有錯誤,請重新啟動 Nginx 以進行必要的變更。
sudo systemctl restart nginx
下載並解壓縮WordPres
現在,我們可以下載最新版本的WordPress。使用 /tmp 目錄下載並解壓縮 WordPress。
cd /tmp
sudo curl -LO https://wordpress.org/latest.tar.gz
解壓縮壓縮檔案以建立 WordPress 目錄結構:
sudo tar xzvf latest.tar.gz -C /var/www/
接下來,將 wp-config-sample.php 設定檔名變更為 wp-config.php。
cd /var/www/wordpress/
sudo cp wp-config-sample.php wp-config.php
現在,將所有權變更為 www-data 使用者和群組。
sudo chown -R nginx:nginx /var/www/wordpress/
WordPress配置文件
接下來,我們需要設定 WordPress 主設定檔。我們需要產生 WordPress 金鑰。 WordPress 為這些值提供了一個安全的產生器,讓您不必嘗試自己想出好的值。
若要從 WordPress 金鑰產生器取得安全值,請輸入:
sudo curl -s https://api.wordpress.org/secret-key/1.1/salt/
上述命令將產生密鑰。複製金鑰並將其貼上到 WordPress 設定檔 wp-config.php 中。
sudo nano wp-config.php
找到包含這些設定的虛擬值的部分。它看起來像:
...
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
...
刪除這些行並貼上從命令列複製的值。
現在,我們需要在檔案中新增資料庫名稱、使用者和密碼,我們也可以明確地將檔案系統方法設定為「direct」。如下圖所示:
...
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
...
define('FS_METHOD', 'direct');
注意:將上面的值替換為您設定的值。完成後儲存並關閉文件。
安裝Certbot
讓我們使用 SSL 保護網站。我們將使用 Certbot 頒發可免費使用的 SSL 憑證。使用以下指令安裝 Certbot:
sudo dnf install certbot python3-certbot-nginx -y
使用 certbot 指令取得 SSL 憑證。 Nginx 外掛程式將負責重新設定 Nginx 並重新載入設定。
sudo certbot --nginx -d hostnextra.com
注意:將 hostnextra.com 替換為您的網域。
首次執行 certbot 時,系統會提示您輸入電子郵件地址並同意服務條款。
至此,我們已經成功安裝了所需的一切。現在讓我們導航到瀏覽器並訪問網域。
完成WordPress安裝
我們已經完成了伺服器端配置。在網頁瀏覽器中,導覽至伺服器的網域名稱或公用 IP 位址:
http://server_domain_or_IP
原文:這裡