- PVSM.RU - https://www.pvsm.ru -

Создание облачного сайта на PHP и MySQL и его развертывание с помощью Git

Это руководство содержит сведения по созданию веб-сайта на базе PHP и MySQL в Windows Azure и его развертыванию с помощью Git. Для выполнения заданий нужно будет использовать установленные на компьютере PHP [1], средство командной строки MySQL (часть MySQL [2]), веб-сервер и Git [3]. Инструкции, содержащиеся в этом руководстве, можно выполнять в любой операционной системе, включая Windows, Mac и Linux. После выполнения всех действий будет создан веб-сайт PHP/MySQL, работающий на платформе Windows Azure.

О чем пойдет речь в данном руководстве:

  • Как создать веб-сайт Windows Azure и базу данных MySQL с помощью портала управления (предварительная версия). Поскольку на веб-сайтах Windows Azure технология PHP включена по умолчанию, для выполнения кода PHP никакие особые действия не требуются.
  • Как публиковать и повторно публиковать приложения на платформе Windows Azure с помощью Git.

Следуя инструкциям данного руководства, вы создадите простое веб-приложение на языке PHP для регистрации участников мероприятия. Это приложение будет размещено на веб-сайте Windows Azure. Ниже приведен снимок экрана готового приложения.

clip_image002

Настройка среды разработки

Предполагается, что на компьютере уже установлены PHP [1], средство командной строки MySQL (часть MySQL [2]), веб-сервер и Git [3].

Примечание. Если разработка данного приложения ведется в ОС Windows, то можно выполнить настройку PHP и автоматическую настройку IIS (встроенного веб-сервера Windows), установив пакет Windows Azure SDK для PHP [4].

Создание учетной записи Windows Azure

Откройте веб-браузер и перейдите на веб-сайт http://www.windowsazure.com [5]. Чтобы начать работу с помощью бесплатной учетной записи, щелкните в верхнем правом углу Free Trial и выполните указанные действия. Для проверки личности может потребоваться указать номер кредитной карты или мобильного телефона. Счет при этом не выставляется.

clip_image004

Включение сервиса Windows Azure Web Sites в свою подписку

Перейдите на страницу https://account.windowsazure.com/ [6] и выполните вход с помощью учетной записи Windows Azure. Щелкните элемент preview features, чтобы вывести доступные варианты предварительного просмотра.

clip_image006

Выполните прокрутку до Web Sites и нажмите кнопку try it now.

clip_image008

Выберите подписку и установите флажок.

clip_image010

Создание веб-сайта Windows Azure и настройка публикации Git

Чтобы создать веб-сайт Windows Azure и базу данных MySQL, выполните следующие действия. Войдите на портал Windows Azure (предварительная версия) [7]. В нижней левой части портала щелкните значок + New.

clip_image011

Щелкните WEB SITE, а затем CREATE WITH DATABASE.

clip_image012

Введите значение в поле URL, выберите Create a New MySQL Database в раскрывающемся списке DATABASE и укажите центр обработки данных для веб-сайта в раскрывающемся списке REGION. Щелкните стрелку в нижней части диалогового окна.

clip_image013

Введите имя в поле NAME для базы данных, выберите центр обработки данных для базы данных в раскрывающемся списке REGION и установите флажок, выразив тем самым согласие с юридическими условиями. Щелкните флажок в нижней части диалогового окна.

clip_image014

После создания веб-сайта появится сообщение Creation of Web Site [ИМЯ_САЙТА] completed successfully. Теперь можно включить публикацию Git.

Щелкните имя веб-сайта, отображаемого в списке веб-сайтов, чтобы открыть панель быстрого запуска QUICKSTART веб-сайта.

clip_image015

В нижней части страницы QUICKSTART щелкните Set up Git publishing.

clip_image016

Чтобы включить публикацию Git, необходимо указать имя пользователя и пароль. Запомните введенные имя пользователя и пароль. (Если репозиторий Git был настроен ранее, это действие можно пропустить.)

clip_image017

Настройка репозитория займет несколько секунд.

clip_image018

Когда репозиторий будет готов, появятся инструкции по помещению файлов приложения в репозиторий. Запомните эти инструкции, поскольку они понадобятся позднее.

clip_image019

Получение сведений об удаленном подключении к базе данных MySQL

Чтобы подключиться к экземпляру базы данных MySQL, запущенному на веб-сайтах Windows Azure, потребуются сведения о подключении. Для получения этих сведений выполните следующие действия.

На панели быстрого запуска веб-сайта в правой части страницы щелкните ссылку View connection strings.

clip_image021

Запомните значения для Database, Data Source, User Id, и Password.

Создание и тестирование приложения на локальном компьютере

После создания веб-сайта Windows Azure можно разработать приложение, протестировать его на локальном компьютере, а затем развернуть.

Приложение Registration –– это простое PHP-приложение для регистрации участников мероприятия путем ввода имени и адреса электронной почты пользователя. Сведения о предыдущих зарегистрировавшихся участниках отображаются в таблице. Информация о регистрации хранится в экземпляре базы данных MySQL. Приложение состоит из двух файлов (код для копирования и вставки указан ниже).

  • index.php. Отображает форму для регистрации и таблицу с данными о зарегистрировавшемся участнике.

Чтобы создать и запустить приложение локально, выполните следующие действия. Предполагается, что на локальном компьютере установлены PHP, средство командной строки MySQL (часть MySQL) и веб-сервер и включено расширение PDO для MySQL [8].

Подключитесь к удаленному серверу MySQL с помощью полученных ранее значений для Data Source, User Id, Password и <code>Database.

mysql -h{Data Source] -u[User Id] -p[Password] -D[Database]

Откроется командная строка MySQL.

mysql>

Вставьте следующую команду CREATE TABLE, чтобы создать таблицу registration_tbl в базе данных.

mysql> CREATE TABLE registration_tbl(id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(30), email VARCHAR(30), date DATE);

В корневом каталоге веб-сервера создайте папку с именем registration, а в ней –– файл с именем index.php. Откройте файл index.php в текстовом редакторе или IDE и добавьте следующий код. Затем внесите необходимые изменения, отмеченные комментариями //TODO:.

<html> 
< head> 
< Title>Registration Form</Title> 
< style type="text/css"> 
    body { background-color: #fff; border-top: solid 10px #000; 
        color: #333; font-size: .85em; margin: 20; padding: 20; 
        font-family: "Segoe UI", Verdana, Helvetica, Sans-Serif; 
    } 
    h1, h2, h3,{ color: #000; margin-bottom: 0; padding-bottom: 0; } 
    h1 { font-size: 2em; } 
    h2 { font-size: 1.75em; } 
    h3 { font-size: 1.2em; } 
    table { margin-top: 0.75em; } 
    th { font-size: 1.2em; text-align: left; border: none; padding-left: 0; } 
    td { padding: 0.25em 2em 0.25em 0em; border: 0 none; } 
< /style> 
< /head> 
< body> 
< h1>Register here!</h1> 
< p>Fill in your name and email address, then click <strong>Submit</strong> to register.</p> 
< form method="post" action="index.php" enctype="multipart/form-data" > 
      Name  <input type="text" name="name" id="name"/></br> 
      Email <input type="text" name="email" id="email"/></br> 
      < input type="submit" name="submit" value="Submit" /> 
< /form> 
<?php 
    // DB connection info 
    //TODO: Update the values for $host, $user, $pwd, and $db 
    //using the values you retrieved earlier from the portal. 
    $host = "value of Data Source"; 
    $user = "value of User Id"; 
    $pwd = "value of Password"; 
    $db = "value of Database"; 
    // Connect to database. 
    try { 
        $conn = new PDO( "mysql:host=$host;dbname=$db", $user, $pwd); 
        $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); 
    } 
    catch(Exception $e){ 
        die(var_dump($e)); 
    } 
    // Insert registration info 
    if(!empty($_POST)) { 
    try { 
        $name = $_POST['name']; 
        $email = $_POST['email']; 
        $date = date("Y-m-d"); 
        // Insert data 
        $sql_insert = "INSERT INTO registration_tbl (name, email, date) 
                   VALUES (?,?,?)"; 
        $stmt = $conn->prepare($sql_insert); 
        $stmt->bindValue(1, $name); 
        $stmt->bindValue(2, $email); 
        $stmt->bindValue(3, $date); 
        $stmt->execute(); 
    } 
    catch(Exception $e) { 
        die(var_dump($e)); 
    } 
    echo "<h3>Your're registered!</h3>"; 
    } 
    // Retrieve data 
    $sql_select = "SELECT * FROM registration_tbl"; 
    $stmt = $conn->query($sql_select); 
    $registrants = $stmt->fetchAll(); 
    if(count($registrants) > 0) { 
        echo "<h2>People who are registered:</h2>"; 
        echo "<table>"; 
        echo "<tr><th>Name</th>"; 
        echo "<th>Email</th>"; 
        echo "<th>Date</th></tr>"; 
        foreach($registrants as $registrant) { 
            echo "<tr><td>".$registrant['name']."</td>"; 
            echo "<td>".$registrant['email']."</td>"; 
            echo "<td>".$registrant['date']."</td></tr>"; 
        } 
        echo "</table>"; 
    } else { 
        echo "<h3>No one is currently registered.</h3>"; 
    } 
?> 
< /body> 
< /html>

Теперь можно перейти к файлу http://localhost/registration/index.php [9], чтобы протестировать приложение.

Публикация приложения

После тестирования на локальном компьютере приложение можно опубликовать на веб-сайте Windows Azure с помощью Git. Вы включите локальный репозиторий Git и опубликуете приложение.

Примечание. Выполните действия, которые описаны в конце разделов «Создание веб-сайта Windows Azure» и «Настройка публикации Git».

(Необязательно) Если вы забыли или потеряли URL-адрес удаленного репозитория Git, то перейдите на портале на вкладку Deployment.

clip_image019[1]

Откройте GitBash (или терминал, если Git занесен в PATH), перейдите в корневой каталог приложения и выполните следующие команды.

git init
git add.
git commit -m "initial commit"
git remote add azure [URL for remote repository]
git push azure master

Появится запрос на ввод пароля, созданного ранее.

clip_image023

Перейдите к файлу http://[имя_сайта].azurewebsites.net/index.php, чтобы начать работу с приложением (эти сведения будут сохранены на панели мониторинга учетной записи).

clip_image024

Опубликовав приложение, в него можно вносить изменения и публиковать их с помощью Git.

Публикация изменений в приложении

Чтобы опубликовать изменения в приложении, выполните следующие действия.

Измените приложение локально. Откройте GitBash (или терминал, если Git занесен в PATH), перейдите в корневой каталог приложения и выполните следующие команды.

git add.
git commit -m "comment describing changes"
git push azure master

Появится запрос на ввод пароля, созданного ранее.

clip_image026

Перейдите к файлу http://[имя_сайта].azurewebsites.net/index.php, чтобы просмотреть приложения и внесенные изменения.

clip_image027

На вкладке Deployments портала управления появится новое развертывание.

clip_image029

Автор: XaocCPS


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mysql/14367

Ссылки в тексте:

[1] PHP: http://www.php.net/manual/en/install.php

[2] MySQL: http://dev.mysql.com/doc/refman/5.6/en/installing.html

[3] Git: http://git-scm.com/

[4] пакет Windows Azure SDK для PHP: http://www.microsoft.com/web/handlers/webpi.ashx/getinstaller/azurephpsdk.appids

[5] http://www.windowsazure.com: http://www.windowsazure.com

[6] https://account.windowsazure.com/: https://account.windowsazure.com/

[7] портал Windows Azure (предварительная версия): http://manage.windowsazure.com/

[8] расширение PDO для MySQL: http://www.php.net/manual/en/ref.pdo-mysql.php

[9] http://localhost/registration/index.php: http://localhost/registration/index.php