日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

手動部署LAMP環境

更新時間:
一鍵部署
我的部署

LAMP環境是常用的Web開發環境之一,其中LAMP分別代表Linux、Apache、MySQL和PHP。LAMP擁有龐大的社區支持和豐富的資源,適合開發、部署和維護各種規模的Web應用,由于其高度靈活性和可定制性,您可以根據項目需求調整每個組件的配置,以達到最佳性能和安全性。

前提條件

  • ECS實例已分配公網IP地址或綁定彈性公網IP(EIP)。如果您不清楚如何綁定EIP,請參見綁定EIP

  • ECS實例的安全組入方向規則已放行22、80端口。具體操作,請參見添加安全組規則

  • ECS實例內存大于等于4 GiB。

部署LAMP環境

Alibaba Cloud Linux 3/CentOS 8

重要

CentOS 8的源地址http://mirror.centos.org/centos/8/內容已移除,當您在阿里云上繼續使用默認配置的CentOS 8的源會發生報錯。具體操作,請參見CentOS 8 EOL如何切換源?

  1. 安裝Apache服務器。

    1. 更新包管理工具并安裝Apache服務器。

      sudo dnf update -y && sudo dnf install -y httpd
    2. 設置Apache服務器守護進程并啟動。

      sudo systemctl enable httpd
      sudo systemctl start httpd
  2. 安裝MySQL數據庫。

    1. 添加MySQL官方源。

      說明

      Alibaba Cloud Linux 3您需要安裝compat-openssl10與舊版本OpenSSL庫兼容。

      sudo dnf install -y compat-openssl10
      sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm
    2. 安裝MySQL服務,同時啟動MySQL服務并設置開機自啟。

      sudo dnf install -y mysql-server
      sudo systemctl start mysqld
      sudo systemctl enable mysqld
    3. 查看root用戶默認初始密碼。

      • 如果是Alibaba Cloud Linux 3執行。

        echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
      • 如果是CentOS 8安裝后默認無密碼。

    4. 為MySQL服務root用戶設置密碼,您需要將命令中<oldpwd>替換為初始密碼,<newpwd>替換為您的新密碼(如果是CentOS 8<oldpwd>替換為空,命令提示輸入密碼輸入回車跳過)。

      重要

      密碼策略要求密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符,并且密碼總長度至少為 8 個字符。

      sudo mysqladmin -uroot -p'<oldpwd>' password '<newpwd>'
  3. 安裝PHP。

    1. 設置remi源并啟用php:remi-8.4

      說明

      本文默認使用了PHP 8.4,如果對版本有要求需要將模塊名稱修改成對應版本(例:安裝PHP 8.1需要將模塊名稱修改為php:remi-8.1)。

      sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-8.rpm  --nodeps
      sudo dnf install -y yum-utils && sudo dnf module enable -y php:remi-8.4
    2. 安裝PHP、PHP進程管理器、MySQL擴展模塊,同時啟動PHP進程管理器服務并設置開機自啟。

      sudo dnf install -y php php-fpm php-mysqlnd
      sudo systemctl start php-fpm
      sudo systemctl enable php-fpm
  4. 驗證LAMP環境。

    1. 查詢php-fpm配置文件默認監聽地址。

      sudo grep 'listen =' /etc/php-fpm.d/www.conf
      • 如果返回sock文件地址說明默認監聽sock文件。

      • 如果返回127.0.0.1:9000說明默認監聽本地9000端口。

    2. 執行命令創建/etc/httpd/conf.d/php-fpm.conf配置文件并添加php-fpm規則。

      重要

      如果php-fpm監聽地址為127.0.0.1:9000需要修改規則為proxy:fcgi://127.0.0.1:9000

      sudo touch /etc/httpd/conf.d/php-fpm.conf
      sudo tee /etc/httpd/conf.d/php-fpm.conf > /dev/null <<EOF
      <FilesMatch \.php$>
          SetHandler "proxy:unix:/run/php-fpm/www.sock;"
      </FilesMatch>
      EOF
    3. 重啟Apache服務器使配置生效。

      sudo systemctl restart httpd
    4. 執行命令在路徑/var/www/html/下新建test.php文件,并添加測試內容(<username>替換為數據庫用戶名,<password>替換為數據庫密碼)。

      sudo touch /var/www/html/test.php
      sudo tee /var/www/html/test.php > /dev/null <<EOF
      <?php
      \$servername = "localhost";
      \$username = "<username>";
      \$password = "<password>";
      
      \$conn = new mysqli(\$servername, \$username, \$password);
      
      if (\$conn->connect_error) {
      die("fail: " . \$conn->connect_error);
      }
      echo "success\n";
      ?>
      EOF
    5. 在本地物理機上使用瀏覽器訪問http://ECS實例公網IP/test.php,返回success說明PHP代理設置成功并成功連接MySQL數據庫。

Alibaba Cloud Linux 2/CentOS 7

  1. 安裝Apache服務器。

    1. 更新包管理工具并安裝Apache服務器。

      sudo yum update -y && sudo yum install -y httpd
    2. 設置Apache服務器守護進程并啟動。

      sudo systemctl enable httpd
      sudo systemctl start httpd
  2. 安裝MySQL數據庫。

    1. 添加MySQL官方源。

      sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm
    2. 安裝MySQL服務,同時啟動MySQL服務并設置開機自啟。

      sudo yum install -y mysql-server
      sudo systemctl start mysqld
      sudo systemctl enable mysqld
    3. 查看root用戶默認初始密碼。

      echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
    4. 為MySQL服務root用戶設置密碼,您需要將命令中<oldpwd>替換為初始密碼,<newpwd>替換為您的新密碼。

      重要

      密碼策略要求密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符,并且密碼總長度至少為 8 個字符。

      sudo mysqladmin -uroot -p'<oldpwd>' password '<newpwd>'
  3. 安裝PHP。

    1. 設置remi源并啟用remi-php83

      說明

      本文默認使用了PHP 8.3,如果對版本有要求需要將模塊名稱修改成對應版本(例:安裝PHP 8.1需要將模塊名稱修改為remi-php81)。

      sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm  --nodeps
      sudo yum install -y yum-utils && sudo yum-config-manager --enable   remi-php83
    2. 安裝PHP、PHP進程管理器、MySQL擴展模塊,同時啟動PHP進程管理器服務并設置開機自啟。

      sudo yum install -y php php-fpm php-mysqlnd
      sudo systemctl start php-fpm
      sudo systemctl enable php-fpm
  4. 驗證LAMP環境。

    1. 查詢php-fpm配置文件默認監聽地址。

      sudo grep 'listen =' /etc/php-fpm.d/www.conf
      • 如果返回sock文件地址說明默認監聽sock文件。

      • 如果返回127.0.0.1:9000說明默認監聽本地9000端口。

    2. 執行命令創建/etc/httpd/conf.d/php-fpm.conf配置文件并添加php-fpm規則。

      重要

      如果php-fpm監聽地址為sock文件地址,需要修改規則proxy:fcgi://127.0.0.1:9000proxy:unix:<path>;,<path>需要替換為您的sock文件地址。

      sudo touch /etc/httpd/conf.d/php-fpm.conf
      sudo tee /etc/httpd/conf.d/php-fpm.conf > /dev/null <<EOF
      <FilesMatch \.php$>
          SetHandler "proxy:fcgi://127.0.0.1:9000"
      </FilesMatch>
      EOF
    3. 重啟Apache服務器使配置生效。

      sudo systemctl restart httpd
    4. 執行命令在路徑/var/www/html/下新建test.php文件,并添加測試內容(<username>替換為數據庫用戶名,<password>替換為數據庫密碼)。

      sudo touch /var/www/html/test.php
      sudo tee /var/www/html/test.php > /dev/null <<EOF
      <?php
      \$servername = "localhost";
      \$username = "<username>";
      \$password = "<password>";
      
      \$conn = new mysqli(\$servername, \$username, \$password);
      
      if (\$conn->connect_error) {
      die("fail: " . \$conn->connect_error);
      }
      echo "success\n";
      ?>
      EOF
    5. 在本地物理機上使用瀏覽器訪問http://ECS實例公網IP/test.php,返回success說明PHP代理設置成功并成功連接MySQL數據庫。

Ubuntu20.04及以上

  1. 安裝Apache服務器。

    1. 更新包管理工具并安裝Apache服務器。

      sudo apt update -y && sudo apt install -y apache2
    2. 設置Apache服務器守護進程并啟動。

      sudo systemctl enable apache2
      sudo systemctl start apache2
  2. 安裝MySQL數據庫并設置密碼。

    1. 更新軟件包列表并安裝MySQL服務器。

      sudo apt update -y && sudo apt install -y mysql-server
    2. 將MySQL的配置文件中監聽地址從127.0.0.1(即只監聽本地連接)更改為0.0.0.0(即監聽所有可用網絡接口),從而允許遠程連接到MySQL服務器。

      sudo sed -i "s/127.0.0.1/0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf
    3. 修改數據庫root用戶主機部分從localhost更改為%以允許從任何地址連接,同時修改root用戶的密碼和身份認證插件。您需要將命令中<newpwd>替換為您的密碼。

      重要
      • 由于本地root用戶的默認身份認證插件是auth_socket,如果命令執行后提示輸入密碼,請直接按回車跳過。

      • 密碼策略要求密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符(通常需要使用反斜杠\來轉義這些特殊字符,以避免被解釋為命令的一部分),并且密碼總長度至少為 8 個字符。

      sudo mysql -uroot -p -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '<newpwd>';" -e "UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost';" -e "FLUSH PRIVILEGES;"
    4. 重啟MySQL數據庫服務使配置生效。

      sudo systemctl restart mysql
  3. 安裝PHP。

    1. 更新軟件包,安裝software-properties-common包,并添加PPA倉庫ppa:ondrej/php

      sudo apt update && sudo apt install -y software-properties-common && sudo add-apt-repository -y ppa:ondrej/php
    2. 安裝PHP 8.4及相關組件,包括FPM和MySQL擴展。

      說明

      您可以通過sudo apt search php查看所有支持安裝的PHP版本,安裝其他版本需要修改命令中對應版本號(例:安裝PHP 8.1需修改命令sudo apt install -y php8.1 php8.1-fpm php8.1-mysql)。

      sudo apt install -y php8.4 php8.4-fpm php8.4-mysql
  4. 驗證LAMP環境。

    1. 查詢php-fpm配置文件默認監聽地址,<version>需要替換為您的PHP版本(例:PHP 8.4需要將<version>替換為8.4)。

      sudo grep '^listen =' /etc/php/<version>/fpm/pool.d/www.conf
      • 如果返回sock文件地址說明默認監聽sock文件。

      • 如果返回127.0.0.1:9000說明默認監聽本地9000端口。

    2. 執行命令新建/etc/apache2/conf-available/php-fpm.conf文件,在內填寫PHP轉發規則,<listen>需要替換為您的監聽地址。

      sudo touch /etc/apache2/conf-available/php-fpm.conf
      sudo tee /etc/apache2/conf-available/php-fpm.conf > /dev/null <<EOF
      <FilesMatch \.php$>
          SetHandler "proxy:<listen>"
      </FilesMatch>
      EOF
      • 如果是sock文件地址,需要替換<listen>unix:<path>;<path>需要替換為您的sock文件地址。

        重要

        如果監聽的sock文件,需要sock文件的權限設置為允許讀寫,您可以使用以下命令來更改權限sudo chmod 666 <path>,<path>更改為您的sock文件地址。

      • 如果是127.0.0.1:9000,需要替換<listen>fcgi://127.0.0.1:9000

    3. 設置配置文件軟連接。

      sudo ln -s /etc/apache2/conf-available/php-fpm.conf /etc/apache2/conf-enabled/
    4. 啟用proxy_fcgi和setenvif模塊使Apache可以將PHP請求轉發到PHP進程管理器,并啟用PHP進程管理器的配置文件。

      sudo a2enmod proxy_fcgi setenvif
      sudo a2enconf php8.4-fpm
    5. 重啟Apache服務器使配置生效。

      sudo systemctl restart apache2
    6. 執行命令在路徑/var/www/html/下新建test.php文件,并添加測試內容(<username>替換為數據庫用戶名,<password>替換為數據庫密碼)。

      sudo touch /var/www/html/test.php
      sudo tee /var/www/html/test.php > /dev/null <<EOF
      <?php
      \$servername = "localhost";
      \$username = "<username>";
      \$password = "<password>";
      
      \$conn = new mysqli(\$servername, \$username, \$password);
      
      if (\$conn->connect_error) {
      die("fail: " . \$conn->connect_error);
      }
      echo "success\n";
      ?>
      EOF
    7. 在本地物理機上使用瀏覽器訪問http://ECS實例公網IP/test.php,返回success說明PHP代理設置成功并成功連接MySQL數據庫。

常見問題

無法通過公網IP訪問test.php頁面

可能原因及其解決方案:

安全組未放開80端口、系統防火墻開啟、80端口被占用。

具體排查方法,請參見無法訪問ECS實例中的服務的排查方法

如何設置MySQL遠程訪問

創建非root用戶遠程登錄MySQL的賬號,并允許遠程主機使用該賬號訪問MySQL。具體操作,請參見遠程訪問MySQL數據庫