本教程展示瞭如何在 Windows 10 WSL 上安裝 LEMP 堆棧。對於那些不知道的人,LEMP 是一個免費和開源的 Web 開發平台,用於開發 Web 應用程序。 LEMP 代表 Linux、Nginx (Engine-X)、MariaDB/MySQL 和 PHP,所有這些都是開源的並且可以免費使用。這是支持動態網站和 Web 應用程序的最流行的軟件堆棧。
本文假設您至少具備 Linux 的基本知識,知道如何使用 shell,最重要的是,您將網站託管在自己的 VPS 上。 假設您在 root 帳戶下運行,安裝非常簡單。sudo
‘ 獲取 root 權限的命令。 在 Windows 上安裝 LEMP 堆棧的分步說明。 對於 Ubuntu 18.04、16.04 和其他基於 Debian 的發行版,例如 Linux Mint on Linux 2 Subsystem (WSL2),可以遵循相同的步驟。
我需要
- Windows 2020 年 5 月 10 日 (2004)、Windows 2019 年 5 月 10 日 (1903) 或 Windows 2019 年 11 月 10 日 (1909) 或更高版本。
- 支持 Hyper-V 虛擬化的計算機。
在 Windows 10 WSL 上安裝 LEMP 堆棧
步驟 1. 為 Linux 2 啟用 Windows 子系統。
在 Windows 上安裝 Linux 發行版之前,您必須首先啟用“Windows Subsystem for Linux”可選功能。通過運行以下命令啟用它:
以管理員身份打開 PowerShell 並運行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
步驟 2. 啟用虛擬機功能。
在安裝 WSL 2 之前,您需要為您的虛擬機平台啟用可選功能。要使用此功能,您的機器必須具有虛擬化功能。
要在 Windows 10 (2004) 上啟用虛擬機平台,請以管理員身份打開 PowerShell 並運行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
步驟 3. 將 WSL 2 設置為默認版本。
將 WSL 2 設置為默認值。以管理員身份打開 PowerShell 並運行以下命令將 WSL 2 設置為 WSL 的默認版本。
wsl --set-default-version 2
步驟 4. 安裝 Ubuntu Linux 發行版。
有了 WSL 和必要的虛擬化技術,您所要做的就是從 Microsoft Store 中選擇一個 Linux 發行版並安裝它。 有幾種不同的發行版可用,包括 OpenSUSE、Pengwin、Fedora Remix 和 Alpine Linux。
要在 Windows 10 上安裝 Ubuntu,請打開 Microsoft Store 應用,搜索“Ubuntu 20.04”,然後[入手]單擊按鈕。
步驟 5. 在 Windows WSL 上安裝 Nginx。
要在 Ubuntu 服務器上安裝 Nginx HTTP,請運行以下命令:
sudo apt update sudo apt install nginx
安裝成功後,運行以下命令停止和啟動 Nginx 服務。
sudo service nginx stop sudo service nginx start
接下來,通過訪問服務器的 IP 地址來驗證 Web 服務器是否正在運行並且可以訪問。
https://localhost
步驟 6. 在 Windows WSL 上安裝 MariaDB。
通過運行以下命令安裝 MariaDB:
sudo apt install mariadb-server mariadb-client
完成後,運行以下命令停止和啟動 MariaDB 服務,使其始終在服務器啟動時啟動。
sudo service mysql stop sudo service mysql start
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
使用以下命令登錄數據庫控制台:
mysql -u root -p
步驟 7. 在 Windows 10 WSL 上安裝 PHP。
運行以下命令來安裝支持 WordPress 的 PHP 和模塊。
sudo apt install php-fpm php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-xml php-cli php-zip
然後運行以下命令來停止和啟動 PHP7.4 服務。
sudo service php7.4-fpm stop sudo service php7.4-fpm start
安裝 PHP 和相關模塊後,通過運行以下命令驗證是否安裝了 PHP:
php -v
步驟 8. 測試 PHP
創建一個名為的測試 PHP 文件 phpinfo.php
使用以下命令訪問服務器的默認主目錄:
sudo nano /var/www/html/phpinfo.php
添加以下行:
<?php phpinfo(); ?>
接下來,打開 Nginx 默認配置文件並取消註釋突出顯示的行。
sudo nano /etc/nginx/sites-available/default
取消註釋突出顯示的行並保存文件。
# Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; # # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass PHP scripts to FastCGI server # location ~ .php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /.ht { }
重新啟動 Nginx 服務以使更改生效。
sudo service nginx restart
此處顯示有關已安裝 PHP 的信息。
https://127.0.0.1/info.php or https://localhost/info.php
恭喜! 您已成功安裝 LEMP。感謝您使用本教程在 Ubuntu 20.04 LTS (Focal Fossa) 系統上的 Windows 子系統 Linux 2 (WSL 2) 上安裝最新穩定版本的 LEMP 堆棧。如需更多幫助或有用信息,我們建議您查看 Ubuntu 官方網站.