1. 程式人生 > >開源解決方案一:快速搭建單機版 LAMP 網站

開源解決方案一:快速搭建單機版 LAMP 網站

opera clas 資源管理 都在 ger source environ 本地 tin

LAMP 通常表示 Linux + Apache + MySQL/MariaDB + Perl/PHP/Python,LAMP 的各個組件不是一成不變的,並不局限於它最初的選擇。作為一個解決方案套件,LAMP 非常適合構建動態網站和網站應用程序。另外使用類似 Zabbix 這樣的組件做監控也是網站必不可少的。

更好的閱讀體驗,可以點擊此處

安裝 LAMP

本文檔的 LAMP 代指 Linux + Apache2 + MySQL + php5 且各示例步驟基於 Azure 環境下的 LINUX 虛擬機。本文檔介紹三種方式來安裝LAMP:1. 使用 Azure PowerShell 腳本; 2. 使用 Azure CLI; 3. 使用 SHELL 腳本。 安裝 LAMP 過程中會在虛擬機上自動安裝 Zabbix agent。

說明:
目前 Azure PowerShell 腳本和 Azure CLI 方式僅支持 CentOS(6.5, 6.6, 6.7, 7.0, 7.1, 7.2)。而 SHELL 腳本則有 CentOS, Ubuntu以及 SLES 三個版本。

參數使用註意事項:
DNSNamePrefix:必須小寫,需保證唯一性,該參數將作為 DNS 前綴。
ZabbixServerIPAddress:可選項,指定 Zabbix 服務器地址。

Azure PowerShell 方式

PowerShell 腳本運行註意事項:
需要以管理員權限運行 PowerShell,使用之前需運行如下命令:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

如果您選擇 Azure PowerShell 方式安裝 LAMP,那麽請按如何安裝和配置 Azure PowerShell 中的說明在本地計算機上安裝 Azure PowerShell。然後打開 Azure PowerShell 命令提示符,通過運行以下命令並遵循提示進行 Azure 帳戶的交互式登錄體驗,來使用工作或學校 ID 登錄:

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

然後您需要創建一個 Azure 資源組 (Resource Group),創建 Azure 虛擬機和安裝LAMP都在該資源組中進行,運行以下命令創建 Azure 資源組:

New-AzureRmResourceGroup -Name "YOUR-RESOURCE-GROUP-NAME" -Location "China East"

您需要下載 PowerShell 腳本 single-lamp-deploy.ps1,按照以下示例運行 single-lamp-deploy.ps1 腳本,即可在資源組 rg1 中生成一臺 CentOS 虛擬機,接著會在該虛機上安裝 LAMP。其中 rg1 是在之前步驟中創建的資源組名字。

PS C:\> .\single-lamp-deploy.ps1 -ResourceGroupName rg1 -CentOSVersion 7.0 -AdminUserName azureuser -AdminPassword “YOUR-PASSWORD”  -MySqlPassword “YOUR-MYSQL-PASSWORD” -DNSNamePrefix “YOUR-DNS-PREFIX”

創建過程大概需要 20 分鐘,運行成功後會出現如下提示, 這裏我們直接去到下面訪問網站的步驟去進行驗證。

Deploy LAMP Server successfully.
To veriy the lamp server deployment, following below steps:
Open the URL  http://<YOUR-DNS-PREFIX>.chinaeast.cloudapp.chinacloudapi.cn/mysql.php to check if php can connect to MySQL, if can do some insert operation, and finally it will return the result on the web page. 
If you refresh the webpage, will insert another record into mysql db table.
We strongly recommend you to delete /var/www/html/mysql.php after you access the URL and see the successful result because mysql.php stores your mysql root password.
You can delete the inserted data by executing below commands:
mysql -uroot -p
drop database testdb;

Azure CLI 方式

如果您選擇 Azure CLI 方式安裝 LAMP,那麽請安裝 Azure CLI。然後請確保您是處於資源管理器模式下,可通過運行以下命令來驗證:

azure config mode arm

現在,通過運行以下命令並遵循提示進行 Azure 帳戶的交互式登錄體驗,來使用工作或學校 ID 登錄:

azure login -e AzureChinaCloud -u <your account>

然後您需要創建一個 Azure 資源組 (Resource Group),創建 Azure 虛擬機和安裝 LAMP 都在該資源組中進行,運行以下命令創建 Azure 資源組:

azure group create "YOUR-RESOURCE-GROUP-NAME" "China East"

您需要在安裝好 Azure CLI 的機器上,運行如下命令下載 azuredeploy.parameters.json 參數配置文件:

wget http://msmirrors.blob.core.chinacloudapi.cn/single-lamp/azuredeploy.parameters.json -O azuredeploy.parameters.json

接著修改 azuredeploy.parameters.json 參數配置文件:

vi azuredeploy.parameters.json

需修改 "adminPassword", "dnsNamePrefix" 以及 "mySqlPassword" 的值即可,其他參數值可以保持默認不變。然後運行如下命令即可安裝 CentOS 虛擬機和 LAMP,創建過程大概需要 20 分鐘,其中 rg1 是之前步驟中創建的資源組名字:

$TemplateUri="http://msmirrors.blob.core.chinacloudapi.cn/single-lamp/azuredeploy.json"
azure group deployment create rg1 DeployLAMP --template-uri $TemplateUri -e azuredeploy.parameters.json

使用 SHELL 腳本方式

如果您已經建好了 LINUX 虛擬機,就可以直接運行 SHELL 腳本來安裝 LAMP.

如果您還沒有 Azure 下的 LINUX 虛擬機,請參考 Azure Linux VM tutorial. 創建 LINUX 虛擬機。

連接到您的 LINUX 虛擬機。如果這是您第一次使用 Azure 的 LINUX 虛擬機,請參考 Azure Linux VM tutorial 連接到虛擬機。

不同的 LINUX 發行版在安裝 LAMP 時有少許的不同。請根據您的 LINUX 版本選擇對應的步驟。

Redhat base Linux: (以 CentOS 7.0, 64-bit system, MySQL Server 5.6, apache 2.4, php5 為例)

下載SHELL腳本:

$sudo wget http://msmirrors.blob.core.chinacloudapi.cn/single-lamp/install_single_lamp.sh

然後執行下面命令。註意:其中的 mySqlPassword 指的是您的 MySQL root 密碼,請根據您的具體情況設置;insertValue 指的是您要往 MySQL 測試表中寫入的值,這個值在訪問 http://yourwebsite/mysql.php 會顯示出來。

比如您運行 sudo bash install_single_lamp.sh s3cret jack 那麽 s3cret 就是您的 MySQL root 密碼,jack 就是要寫入 MySQL 測試表中的值。

$sudo bash install_single_lamp.sh mySqlPassword insertValue

Ubuntu Linux: (以 Ubuntu 14.04, 64-bit system, MySQL 5.5, apache 2.4, php5 為例)

下載SHELL腳本:

$sudo wget http://msmirrors.blob.core.chinacloudapi.cn/single-lamp/install_single_lamp_Ubuntu.sh

然後執行下面命令。註意:其中的 mySqlPassword 指的是您的 MySQL root 密碼,請根據您的具體情況設置;insertValue 指的是您要往 MySQL 測試表中寫入的值,這個值在訪問 http://yourwebsite/mysql.php 會顯示出來。 比如您運行 sudo bash install_single_lamp_Ubuntu.sh s3cret jack 那麽 s3cret 就是您的 MySQL root 密碼,jack 就是要寫入 MySQL 測試表中的值。

$sudo bash install_single_lamp_Ubuntu.sh mySqlPassword insertValue

SUSE Linux: (以 SLES 12, 64-bit system, MySQL Server 5.6, apache 2.4, php5 為例)

下載 SHELL 腳本:

$sudo wget http://msmirrors.blob.core.chinacloudapi.cn/single-lamp/install_single_lamp_SLES.sh

然後執行下面命令。註意:其中的 mySqlPassword 指的是您的 MySQL root 密碼,請根據您的具體情況設置;insertValue 指的是您要往 MySQL測試表中寫入的值,這個值在訪問 http://yourwebsite/mysql.php 會顯示出來。

比如您運行 sudo bash install_single_lamp_SLES.sh s3cret jack 那麽 s3cret 就是您的 MySQL root 密碼,jack 就是要寫入MySQL 測試表中的值。

$sudo bash install_single_lamp_SLES.sh mySqlPassword insertValue

  

開源解決方案一:快速搭建單機版 LAMP 網站