Это руководство содержит сведения по созданию веб-сайта на базе PHP и MySQL в Windows Azure и его развертыванию с помощью Git. Для выполнения заданий нужно будет использовать установленные на компьютере PHP, средство командной строки MySQL (часть MySQL), веб-сервер и Git. Инструкции, содержащиеся в этом руководстве, можно выполнять в любой операционной системе, включая Windows, Mac и Linux. После выполнения всех действий будет создан веб-сайт PHP/MySQL, работающий на платформе Windows Azure.
О чем пойдет речь в данном руководстве:
- Как создать веб-сайт Windows Azure и базу данных MySQL с помощью портала управления (предварительная версия). Поскольку на веб-сайтах Windows Azure технология PHP включена по умолчанию, для выполнения кода PHP никакие особые действия не требуются.
- Как публиковать и повторно публиковать приложения на платформе Windows Azure с помощью Git.
Следуя инструкциям данного руководства, вы создадите простое веб-приложение на языке PHP для регистрации участников мероприятия. Это приложение будет размещено на веб-сайте Windows Azure. Ниже приведен снимок экрана готового приложения.
Настройка среды разработки
Предполагается, что на компьютере уже установлены PHP, средство командной строки MySQL (часть MySQL), веб-сервер и Git.
Примечание. Если разработка данного приложения ведется в ОС Windows, то можно выполнить настройку PHP и автоматическую настройку IIS (встроенного веб-сервера Windows), установив пакет Windows Azure SDK для PHP.
Создание учетной записи Windows Azure
Откройте веб-браузер и перейдите на веб-сайт http://www.windowsazure.com. Чтобы начать работу с помощью бесплатной учетной записи, щелкните в верхнем правом углу Free Trial и выполните указанные действия. Для проверки личности может потребоваться указать номер кредитной карты или мобильного телефона. Счет при этом не выставляется.
Включение сервиса Windows Azure Web Sites в свою подписку
Перейдите на страницу https://account.windowsazure.com/ и выполните вход с помощью учетной записи Windows Azure. Щелкните элемент preview features, чтобы вывести доступные варианты предварительного просмотра.
Выполните прокрутку до Web Sites и нажмите кнопку try it now.
Выберите подписку и установите флажок.
Создание веб-сайта Windows Azure и настройка публикации Git
Чтобы создать веб-сайт Windows Azure и базу данных MySQL, выполните следующие действия. Войдите на портал Windows Azure (предварительная версия). В нижней левой части портала щелкните значок + New.
Щелкните WEB SITE, а затем CREATE WITH DATABASE.
Введите значение в поле URL, выберите Create a New MySQL Database в раскрывающемся списке DATABASE и укажите центр обработки данных для веб-сайта в раскрывающемся списке REGION. Щелкните стрелку в нижней части диалогового окна.
Введите имя в поле NAME для базы данных, выберите центр обработки данных для базы данных в раскрывающемся списке REGION и установите флажок, выразив тем самым согласие с юридическими условиями. Щелкните флажок в нижней части диалогового окна.
После создания веб-сайта появится сообщение Creation of Web Site [ИМЯ_САЙТА] completed successfully. Теперь можно включить публикацию Git.
Щелкните имя веб-сайта, отображаемого в списке веб-сайтов, чтобы открыть панель быстрого запуска QUICKSTART веб-сайта.
В нижней части страницы QUICKSTART щелкните Set up Git publishing.
Чтобы включить публикацию Git, необходимо указать имя пользователя и пароль. Запомните введенные имя пользователя и пароль. (Если репозиторий Git был настроен ранее, это действие можно пропустить.)
Настройка репозитория займет несколько секунд.
Когда репозиторий будет готов, появятся инструкции по помещению файлов приложения в репозиторий. Запомните эти инструкции, поскольку они понадобятся позднее.
Получение сведений об удаленном подключении к базе данных MySQL
Чтобы подключиться к экземпляру базы данных MySQL, запущенному на веб-сайтах Windows Azure, потребуются сведения о подключении. Для получения этих сведений выполните следующие действия.
На панели быстрого запуска веб-сайта в правой части страницы щелкните ссылку View connection strings.
Запомните значения для Database
, Data Source
, User Id
, и Password
.
Создание и тестирование приложения на локальном компьютере
После создания веб-сайта Windows Azure можно разработать приложение, протестировать его на локальном компьютере, а затем развернуть.
Приложение Registration –– это простое PHP-приложение для регистрации участников мероприятия путем ввода имени и адреса электронной почты пользователя. Сведения о предыдущих зарегистрировавшихся участниках отображаются в таблице. Информация о регистрации хранится в экземпляре базы данных MySQL. Приложение состоит из двух файлов (код для копирования и вставки указан ниже).
- index.php. Отображает форму для регистрации и таблицу с данными о зарегистрировавшемся участнике.
Чтобы создать и запустить приложение локально, выполните следующие действия. Предполагается, что на локальном компьютере установлены PHP, средство командной строки MySQL (часть MySQL) и веб-сервер и включено расширение PDO для MySQL.
Подключитесь к удаленному серверу 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, чтобы протестировать приложение.
Публикация приложения
После тестирования на локальном компьютере приложение можно опубликовать на веб-сайте Windows Azure с помощью Git. Вы включите локальный репозиторий Git и опубликуете приложение.
Примечание. Выполните действия, которые описаны в конце разделов «Создание веб-сайта Windows Azure» и «Настройка публикации Git».
(Необязательно) Если вы забыли или потеряли URL-адрес удаленного репозитория Git, то перейдите на портале на вкладку Deployment.
Откройте GitBash (или терминал, если Git занесен в PATH
), перейдите в корневой каталог приложения и выполните следующие команды.
git init
git add.
git commit -m "initial commit"
git remote add azure [URL for remote repository]
git push azure master
Появится запрос на ввод пароля, созданного ранее.
Перейдите к файлу http://[имя_сайта].azurewebsites.net/index.php, чтобы начать работу с приложением (эти сведения будут сохранены на панели мониторинга учетной записи).
Опубликовав приложение, в него можно вносить изменения и публиковать их с помощью Git.
Публикация изменений в приложении
Чтобы опубликовать изменения в приложении, выполните следующие действия.
Измените приложение локально. Откройте GitBash (или терминал, если Git занесен в PATH), перейдите в корневой каталог приложения и выполните следующие команды.
git add.
git commit -m "comment describing changes"
git push azure master
Появится запрос на ввод пароля, созданного ранее.
Перейдите к файлу http://[имя_сайта].azurewebsites.net/index.php, чтобы просмотреть приложения и внесенные изменения.
На вкладке Deployments портала управления появится новое развертывание.
Автор: XaocCPS