如何在 CentOS Stream 9 上安裝 LEMP

在本教程中,我們將向您展示如何在 CentOS Stream 9 上安裝 LEMP。對於那些不知道的人,LEMP 是一個由 Linux、Nginx、MariaDB 和 PHP 組成的軟件堆棧。 這些組件構成了一個能夠處理高流量 Web 應用程序的堆棧。 對於想要構建快速且可擴展的 Web 應用程序的 Web 開發人員來說,這是一個流行的選擇。

本文假定您至少具有 Linux 的基本知識,知道如何使用 shell,最重要的是,您將站點託管在自己的 VPS 上。 安裝非常簡單,假設您在 root 帳戶下運行,如果不是,您可能需要添加 ‘sudo‘ 到獲取 root 權限的命令。 我將向您展示 LEMP 堆棧(Nginx、MariaDB、PHP)在 CentOS Stream 9 上的分步安裝。

先決條件

  • 運行以下操作系統之一的服務器: CentOS 流 9.
  • 建議您使用全新的操作系統安裝,以防止出現任何潛在問題。
  • 通過 SSH 訪問服務器(如果您在桌面上,則只需打開終端)。
  • 有效的互聯網連接。 您需要連接互聯網才能下載 Nginx、MariaDB 和 PHP 所需的包和依賴項。
  • A non-root sudo user或訪問 root user. 我們建議充當 non-root sudo user,但是,如果您在充當根用戶時不小心,可能會損害您的系統。

在 CentOS Stream 9 上安裝 LEMP

第 1 步。首先,讓我們首先確保您的系統是最新的。

sudo dnf update
sudo dnf install epel-release

步驟 2. 安裝 Nginx。

默認情況下,Nginx 在 CentOS Stream 基礎存儲庫中可用。 現在我們運行以下命令將 Nginx 安裝到您的系統:

sudo dnf install nginx

安裝完成後,現在啟用 Nginx(在系統啟動時自動啟動),啟動網絡服務器,並使用以下命令驗證狀態:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

驗證Nginx版本,使用以下命令確認:

nginx -v

如果您的服務器受防火牆保護,您需要同時打開 HTTP (80) 和 HTTPS (443) 端口:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

安裝成功後,打開 https://your-IP-address 在您選擇的瀏覽器中,您將看到默認的 Nginx 歡迎頁面,如下圖所示:

有關安裝 Nginx 的其他資源,請閱讀以下帖子:

  • 如何在CentOS Stream上安裝Nginx √

步驟 2. 安裝 MariaDB。

默認情況下,MariaDB 在 CentOS Stream 基礎存儲庫中可用。 現在我們運行以下命令將 MariaDB 安裝到您的系統中:

sudo dnf install mariadb-server

安裝完成後查看版本:

mariadb --version

安裝完成後,現在啟用 MariaDB(在系統啟動時自動啟動),啟動 MariaDB,並使用以下命令驗證狀態:

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

默認情況下,MariaDB 未加固。 您可以使用以下方法保護 MariaDB mysql_secure_installation 腳本。 您應該仔細閱讀下面的每個步驟,這些步驟將設置 root 密碼、刪除匿名用戶、禁止遠程 root 登錄以及刪除測試數據庫和對安全 MariaDB 的訪問:

mysql_secure_installation

像這樣配置它:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

要登錄 MariaDB,請使用以下命令(請注意,這與您用於登錄 MariaDB 數據庫的命令相同):

mysql -u root -p

現在我們創建一個數據庫,創建一個 MariaDB 用戶並啟用到 MariaDB 數據庫的遠程連接:

為了 example,使用以下參數:

  • DB_NAME = idroot_db
  • USER_NAME = idroot_user
  • 遠程 IP = 10.0.46.36
  • 密碼 = 你的強密碼
  • 權限=全部
## CREATE DATABASE ##
MariaDB [(none)]> CREATE DATABASE idroot_db;

## CREATE USER ##
MariaDB [(none)]> CREATE USER 'idroot_user'@'10.0.15.25' IDENTIFIED BY 'your-strong-passwd';

## GRANT PERMISSIONS ##
MariaDB [(none)]> GRANT ALL ON idroot_db.* TO 'idroot_user'@'10.0.46.36';

##  FLUSH PRIVILEGES, Tell the server to reload the grant tables  ##
MariaDB [(none)]> FLUSH PRIVILEGES;

有關安裝 MariaDB 的其他資源,請閱讀以下帖子:

  • 如何在 CentOS Stream 上安裝 MariaDB √

步驟 3. 安裝 PHP。

默認情況下,PHP 在 CentOS 9 Stream 基礎存儲庫中可用。 要在 CentOS Stream 上安裝 PHP,您可以使用以下命令:

sudo dnf install php php-mysqlnd php-fpm php-opcache php-gd php-xml php-mbstring

安裝完成後,您可以通過運行以下命令啟動 PHP-FPM 服務:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

由於我們使用的是 Nginx Web 服務器,因此我們需要更改以下行:

nano /etc/php-fpm.d/www.conf

user = apache
group = apache

將它們更改為:

user = nginx
group = nginx

有關安裝 PHP 的其他資源,請閱讀以下帖子:

  • 如何在 CentOS Stream 上安裝 PHP √

步驟 4. 測試安裝。

現在我們創建一個 PHP 測試頁面來確認它與 Nginx 服務器一起工作:

nano /usr/share/nginx/html/test.php

添加以下文件:

<?php
phpinfo ();
?>

Save 和 close 該文件,然後重新啟動 Nginx Web 服務器,知道它也將服務於 PHP 請求:

sudo systemctl restart nginx
sudo systemctl restart php-fpm

一旦完成,現在通過輸入您的服務器 IP 或域名,然後在您的瀏覽器上查看測試頁面 test.php 例如 localhost/test.php 或者 your-IP-address/test.php

恭喜! 您已成功安裝 LEMP。 感謝您使用本教程在 CentOS Stream 9 上安裝 LEMP 堆棧。如需額外幫助或有用信息,我們建議您查看 LEMP 官方網站。