LEMP 是 Linux、NGINX(發音為 Engine X)、MySQL 和 PHP 的首字母縮寫詞。 這些都是通常用於 Web 開發的流行開源工具。 LEMP 堆棧通常用於託管動態網站。 大多數內容管理系統(例如 WordPress、Drupal 和 Joomla)都會創建動態網頁。
當一個 請求來了,服務器將運行 PHP 代碼將 HTML 版本放在一起,並查詢後端數據庫以獲取要插入 HTML 的內容。
在本指南中,我們將介紹安裝 LEMP 堆棧 在 Ubuntu 20.04.
先決條件
- 一個可用的 Ubuntu 20.04 Linux 服務器
- 一個用戶 sudo 特權
這會處理 LEMP 堆棧的第一部分,即, Linux.
安裝 NGINX 網絡服務器
對於 LEMP 堆棧的第二部分,我們需要設置 NGINX 來為客戶端提供 Web 資源。
很容易 安裝 NGINX 在 Ubuntu 20.04 上使用以下命令。
$ sudo apt安裝nginx
安裝成功完成後,您可以通過運行下一個命令來檢查 NGINX 的狀態。
$ sudo systemctl 狀態 nginx
您應該會看到一條消息,確認 NGINX 處於活動狀態(正在運行)。否則,運行下一個命令以啟動 NGINX。
$ sudo systemctl 啟動 nginx
現在,您可以打開 Web 瀏覽器並輸入服務器的 IP 地址。 您應該會看到 NGINX 的默認頁面。
筆記: 您可以通過運行以下命令來檢索服務器的 IP 地址。
$ curl 配置文件
或者乾脆輸入 本地主機 如果您在本地連接,則在您的網絡瀏覽器中。

更改默認的 NGINX 文檔根目錄
上面的“歡迎使用 nginx”網頁是從默認文檔根目錄提供的,即, /var/www/html 基於默認服務器塊文件中的配置指令。 默認的 NGINX 服務器塊文件是 /etc/nginx/sites-available/default. 我們可以創建自己的配置,而不是使用此默認配置。
就是這樣。
首先,在 /var/www 下創建一個目錄,作為新的默認 NGINX 文檔根目錄。 我已經命名我的 雲開發者 根據我註冊域名的第一部分。 你可以用類似的方式命名你的。
$ sudo mkdir /var/www/cloudindevs
接下來,確保 NGINX 服務帳戶(www-data)可以訪問文檔根目錄。
注意:使用 www-data 不是強制性的。 您可以創建任何有意義的用戶名並定義 user
在 /etc/nginx/nginx.conf 文件中。
要將新文檔根的所有權更改為 www-data,請鍵入:
$ sudo chown www-data:www-data /var/www/cloudindevs
要分配權限,請運行以下 chmod 命令:
$ sudo chmod -R 755 /var/www/cloudindevs
之後,您可以通過複製現有的文件來創建一個新的 NGINX 服務器塊文件,如下所示。
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/cloudindevs.com
接下來,編輯新的 NGINX 服務器塊文件並更改 根 指令指向您的新文檔根目錄。
$ sudo nano /etc/nginx/sites-available/cloudindevs.com

下一步是通過如下符號鏈接來激活新的服務器塊文件。
$ sudo ln -s /etc/nginx/sites-available/cloudindevs.com /etc/nginx/sites-enabled
您現在可以通過使用以下命令取消鏈接來禁用以前的默認 NGINX 服務器塊文件。
$ sudo 取消鏈接 /etc/nginx/sites-enabled/default
使用下一個命令測試您的 NGINX 配置。
$ sudo nginx -t
要正確測試此更改,請複制下面的示例 html 代碼。
<head>
<title>Successfully changed NGINX default document root!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx default document root was successfully changed.</p>
</body>
</html>
使用以下命令在新文檔根目錄中創建一個新的索引頁。
$ sudo 納米/var/www/cloudindevs/index.html
將 html 代碼粘貼到文本編輯器中,保存並 close 文件。
使用以下命令重新啟動 NGINX。
$ sudo systemctl 重啟 nginx
最後,打開 Web 瀏覽器並輸入服務器的 IP 地址。
看到下圖中的消息後,您就可以開始了。

安裝 MySQL 數據庫管理系統
LEMP 堆棧的第三部分是 MySQL — 一種常用的開源數據庫管理系統,用於存儲和管理應用程序數據。 MariaDB 是 LEMP 堆棧中 MySQL 的一個很好的替代品,因為它提供了改進的性能。 但是在本文中,我們使用的是傳統的 MySQL。
您可以使用以下命令在 Ubuntu 20.04 上安裝 MySQL。
$ sudo apt 安裝 mysql 服務器
安裝後,您可以使用下一個命令檢查 MySQL 的版本。
$ mysql –version
配置 MySQL
要正確配置 MySQL,建議您按如下方式運行 mysql_secure_installation 腳本。
$ sudo mysql_secure_installation
簡而言之,該腳本將提示您:
- 啟用/禁用驗證密碼組件。 這與密碼複雜性要求有關
- 為 MySQL root 用戶設置新密碼
- 刪除匿名用戶
- 禁止遠程root登錄
- 刪除測試數據庫
- 重新加載權限表以應用更改
一旦 mysql_secure_installation 腳本完成並顯示成功消息,您就可以登錄 MySQL。
登錄到 MySQL
要登錄 MySQL,請運行以下命令並在出現提示時輸入您的 MySQL 根密碼。
$ sudo mysql -u 根 -p
你應該看到 mysql> 提示確認您現在有一個工作的 MySQL 服務器。

類型 退出 然後按回車退出 MySQL。
mysql> 退出
安裝 PHP
最後,安裝超文本預處理器 (PHP) 完成了 LEMP 堆棧。 PHP 處理 動態處理 Web 內容並與 MySQL 交互。
在本節中,我們將安裝 PHP-FPM (Fast-CGI Process Manager) 並將其配置為供 NGINX Web 服務器使用。
安裝 PHP-FPM
運行以下命令在 Ubuntu 20.04 上安裝 PHP-FPM 和相關組件。
$ sudo apt 安裝 php-fpm php-mysql
安裝後,使用以下命令檢查 PHP 的版本。
$ php -v
配置 NGINX 以使用 PHP-FPM
如下編輯您的 NGINX 服務器塊配置文件。
$ sudo nano /etc/nginx/sites-available/cloudindevs.com
按鍵盤上的向下箭頭,直到到達以 指數. 現在,添加 索引.php 到列表中,如下圖所示。

接下來,再次按向下箭頭鍵,直到到達標題為“的部分”將 PHP 腳本傳遞給 FASTCGI 服務器.”
取消註釋以下行。
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
現在,因為我希望我的 NGINX 服務器可以通過我註冊的域名訪問,我對服務器塊文件做了一些額外的更改。
下面是進行這些更改後的服務器塊文件的片段。 如果您也想這樣做,您可以復制下面的配置詳細信息並替換 雲開發者 因此。
server {
listen 80;
root /var/www/cloudindevs;
index index.php index.html index.htm;
server_name cloudindevs.com www.cloudindevs.com;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
Save 變化和 close 服務器塊配置文件。
注意:默認情況下, PHP-FPM 池配置存儲在 /etc/php/7.4/fpm/pool.d/www.conf 文件中。 在這裡,您可以定義 用戶 和 團體 為了 php-fpm.
測試 PHP-FPM 配置
回想一下,我們將 index.php 添加到 NGINX 服務器塊配置文件中的索引文件列表中。 因此,我們需要在新的默認文檔根目錄中創建 index.php 文件,如下所示。
$ sudo 納米/var/www/cloudindevs/index.php
複製下面的 PHP 代碼並將其粘貼到文本編輯器中。
<?php
phpinfo();
?>
Save 變化和 close 文件。
使用以下命令重新啟動 NGINX:
$ sudo systemctl 重啟 nginx
打開 Web 瀏覽器並輸入您的服務器的 IP 地址或 本地主機 如果您在本地連接。 您應該會看到以下頁面,確認 PHP-FPM 工作正常。

出於安全考慮,您可以按如下方式刪除 index.php 文件,以避免向外界洩露過多有關您的服務器的信息。
$ sudo rm /var/www/cloudindevs/index.php
結論
按照本指南中的步驟操作,您現在應該在 Ubuntu 20.04 上擁有一個可運行的 LEMP 平台。 如果您需要有關本指南的說明,請在下面的評論部分告訴我們。