1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
---
title: Как настроить локальный сервер для тестирования?
slug: Learn/Common_questions/set_up_a_local_testing_server
translation_of: Learn/Common_questions/set_up_a_local_testing_server
---
<div class="summary">
<p>Эта статья объясняет как установить простой локальный тестовый сервер на вашем компьютере, а так же основы его использования.</p>
</div>
<table class="learn-box standard-table">
<tbody>
<tr>
<th scope="row">Требования:</th>
<td>Сначала вам необходимо изучить <a href="/en-US/docs/Learn/How_the_Internet_works">как работает интернет</a>, а также <a href="/en-US/docs/Learn/What_is_a_Web_server">что такое веб-сервер</a>.</td>
</tr>
<tr>
<th scope="row">Цель:</th>
<td>
<p>Вы научитесь как устанавливать локальный тестовый сервер.</p>
</td>
</tr>
</tbody>
</table>
<h2 id="Локальные_и_удалённые_файлы">Локальные и удалённые файлы</h2>
<p>На протяжении всего обучения, вы будете открывать примеры непосредственно в браузере — двойным кликом по HTML файлу, перетаскиванием файла в окно браузера, или через меню <em>File</em> > <em>Open...</em> и указывая необходимый HTML файл. Существует множество способов как это сделать.</p>
<p>Если веб-адрес начинается с <code>file://</code> в котором далее прописан путь к файлу на вашем локальном жёстком диске, значит используется локальный файл. В противоположность этому, если вы откроете на просмотр один из наших примеров, расположенных на GitHub (или пример расположенный на любом другом удалённом сервере), веб-адрес будет начинаться с <code>http://</code> или <code>https://</code>, что означает что файл был получен через HTTP.</p>
<h2 id="Проблемы_тестирования_локальных_файлов">Проблемы тестирования локальных файлов</h2>
<p>Некоторые примеры могут не запуститься, если вы попробуете открыть их как локальные файлы. Это может произойти по нескольким причинам, самые распространённые из которых:</p>
<ul>
<li><strong>Они содержат асинхронные запросы.</strong> Некоторые браузеры (включая Chrome) не будут запускать асинхронные запросы (см. <a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Fetching_data">Fetching data from the server</a>), если вы просто запускаете пример из локального файла. Это связано с ограничениями безопасности (для получения дополнительной информации о безопасности в Интернете, ознакомьтесь с <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Website_security">Website security</a>).</li>
<li><strong>Они имеют серверный язык.</strong> Серверные языки (например, PHP или Python) требуют специального сервера для интерпретации кода и предоставления результатов.</li>
</ul>
<h2 id="Запуск_простого_локального_HTTP_сервера">Запуск простого локального HTTP сервера</h2>
<p>Чтобы обойти проблему асинхронных запросов, нам нужно протестировать такие примеры, запустив их через локальный веб-сервер. Один из самых простых способов сделать это для наших целей - использовать модуль <code>SimpleHTTPServer</code> Python.</p>
<p>Для этого нужно:</p>
<ol>
<li>
<p>Установить Python. Если вы пользуетесь Linux или Mac OS X, всё уже готово в вашей системе. Если вы пользователь Windows, вы можете скачать установочный файл с домашней страницы Python:</p>
<ul>
<li>Зайдите на <a href="https://www.python.org/">python.org</a></li>
<li>В секции загрузок, выберите линк для Python "3.xxx".</li>
<li>Внизу страницы выберите <em>Windows x86 executable installer</em> и скачайте его.</li>
<li>После загрузки файла запустите его.</li>
<li>На первой странице инсталлятора выберите чекбокс "Add Python 3.xxx to PATH".</li>
<li>Нажмите <em>Install</em>, затем нажмите <em>Close</em> когда установка закончится.</li>
</ul>
</li>
<li>
<p>Откройте командную строку (Windows)/ (OS X/Linux). Для проверки установки Python введите следующую команду:</p>
<pre class="brush: bash">python -V</pre>
</li>
<li>
<p>Система вернёт вам номер версии установленной программы. В случае успешного выполнения команды <code>python -V </code> нужно перейти в директорию с вашим проектом, используя команду <code>cd</code>:</p>
<pre class="brush: bash"># include the directory name to enter it, for example
cd Desktop
# use two dots to jump up one directory level if you need to
cd ..</pre>
</li>
<li>
<p>Введите команду для запуска сервера в том каталоге:</p>
<pre class="brush: bash"># If Python version returned above is 3.X
python -m http.server
# If Python version returned above is 2.X
python -m <code>SimpleHTTPServer</code></pre>
</li>
<li>
<p>По умолчанию это приведёт к запуску содержимого каталога на локальном веб-сервере на порту 8000. Вы можете перейти на этот сервер, перейдя на URL-адрес <code>localhost: 8000</code> в своём веб-браузере. Здесь вы увидите содержимое указанного каталога - щёлкните файл HTML, который вы хотите запустить.</p>
</li>
</ol>
<div class="note">
<p><strong>Примечание</strong>. Если у вас уже есть что-то на порту 8000, вы можете выбрать другой порт, запустив команду сервера, за которой следует альтернативный номер порта, например: <code>python -m http.server 7800</code> (Python 3.x) или <code>python -m SimpleHTTPServer 7800</code> (Python 2.x). Затем вы можете получить доступ к своему контенту на <code>localhost: 7800</code>.</p>
</div>
<h2 id="Запуск_серверных_языков_локально">Запуск серверных языков локально</h2>
<p>Модуль Python <code>SimpleHTTPServer (python 2.0) http.server (python 3.0)</code> полезен, но он не знает, как запускать код, написанный на таких языках, как Python, PHP или JavaScript. Чтобы справиться с этим, вам понадобится нечто большее - именно то, что вам нужно, зависит от языка сервера, который вы пытаетесь запустить. Вот несколько примеров:</p>
<ul>
<li>Для запуска кода на стороне сервера Python вам необходимо использовать веб-инфраструктуру Python. Вы можете узнать, как использовать структуру Django, прочитав <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django">Django Web Framework (Python)</a>. <a href="http://flask.pocoo.org/">Flask</a> также является хорошей (чуть менее тяжёлой) альтернативой Django. Чтобы запустить это, ознакомьтесь с <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/development_environment#Installing_Python_3">install Python/PIP</a>, а затем установите Flask с помощью <code>pip3 install flask</code>. На этом этапе вы сможете запустить примеры Python Flask, используя, например, <code>python3 python-example.py</code>, затем перейдя на <code>localhost: 5000</code> в свой браузер.</li>
<li>Чтобы запустить серверный код Node.js (JavaScript), вам нужно использовать Node.js или фреймворк, построенный поверх него. Express - хороший выбор - см. <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs">Express Web Framework (Node.js/JavaScript)</a>.</li>
<li>Чтобы запустить PHP-серверный код, вам понадобится настройка сервера, которая может интерпретировать PHP. Хорошими вариантами для локального тестирования PHP являются <a class="external external-icon" href="https://www.mamp.info/en/downloads/">MAMP</a> (Mac и Windows), <a class="external external-icon" href="http://ampps.com/download">AMPPS</a> (Mac, Windows, Linux) и <a href="https://www.linux.com/learn/easy-lamp-server-installation">LAMP</a> (Linux, Apache, MySQL и PHP / Python / Perl). Это полные пакеты, которые создают локальные настройки, позволяющие запускать базы данных Apache, PHP и MySQL.</li>
</ul>
|