Назад | Перейти на главную страницу

Как на самом деле работает серверная технология?

Я все время слышу о популярных конфигурациях LAMP и WAMP для серверной части, а также знаю, что LAMP означает Linux, Apache, MySQL, PHP / Python / Perl / Ruby и т. Д.
Но я не знаю, как все это сочетается друг с другом.
Например, если у меня дома установлен Xampp на моем компьютере с Windows, и у него есть папка htdocs, в которой я храню свои веб-страницы ... и когда я запрашиваю эту страницу, браузер показывает ее мне ...
Мне нужно знать что:

На данный момент это все сбивает с толку, может кто-нибудь объяснить?

Это очень общие вопросы. Вероятно, вам стоит почитать в Википедии или других сайтах о базах данных, веб-фреймворках и веб-серверах.

Однако просто чтобы дать вам краткое изложение:

Веб-сервер - это программа, которая предоставляет данные людям, которые получают доступ к вашему компьютеру через World Wide Web. Два самых популярных веб-сервера в мире - это Apache и Microsoft Internet Information Services (IIS).

База данных хранит данные, чаще всего реляционным способом. Вы можете использовать эти данные для веб-контента, то есть они могут хранить сообщения в блогах, имена пользователей и пароли, практически все, что угодно. Наиболее распространенными базами данных, используемыми для веб-разработки, являются варианты SQL, наиболее часто MySQL и MS SQL Server.

PHP, Python, Ruby и Perl - это языки высокого уровня, которые когда-то могли называться языками сценариев (но теперь их стало гораздо больше). Между ними существуют различные технологические и философские различия, но все они преследуют одни и те же цели. С точки зрения Интернета, эти языки используются для программирования динамического веб-контента. На вашем веб-сервере выполняется код PHP / Ruby / Perl / Python, и этот код в сочетании с данными из базы данных и / или HTML-страниц выводит веб-контент, который обслуживается программным обеспечением вашего веб-сервера и, в конечном итоге, просматривается пользователем. У всех этих языков есть различные фреймворки, упрощающие веб-разработку (например, Rails для Ruby).

XAMPP - это просто предварительно упакованный комплект, содержащий веб-сервер apache, программное обеспечение базы данных mysql и установки PHP и Perl.

Базовый процесс обслуживания страницы следующий:

  1. Удаленный пользователь запрашивает http://www.yoursite.com/index.php
  2. Программное обеспечение вашего веб-сервера Apache получает этот запрос и готовится предоставить соответствующую информацию при подключении к этому конкретному пользователю.
  3. Интеграция Apache с PHP запускает интерпретатор PHP на вашем сервере и выполняет код PHP в index.php
  4. Этот код PHP, в свою очередь, может содержать запросы на получение и / или установку данных из вашей базы данных MySQL для использования на веб-странице или для управления пользователями или сеансами.
  5. Ваш веб-сервер отправляет удаленному пользователю HTML-документ, составленный с помощью вышеуказанной комбинации кода PHP, информации базы данных и предварительно написанных статических HTML и CSS с вашего веб-сайта.

Кроме того, отвечая на ваш вопрос о том, является ли Apache просто «жестким диском для вашего веб-сайта», это не так. Некоторые вещи, которые Apache делает для вас, включают в себя управление подключениями многих пользователей к вашему сайту, выполнение соответствующих интерпретаторов для динамических веб-страниц, управление доступом к различным страницам, перенаправление пользователей на различный контент и многое другое. Программное обеспечение веб-сервера - это центральная точка, в которой пересекаются все виды языков, сред разработки, системы шифрования, проверки подлинности и контроля доступа, а также другие технологии для создания полностью функционирующего веб-сайта.

Apache - это веб-сервер, который открывает на вашем компьютере порт для подключения к сети. Это позволяет людям в вашей сети переходить на http://192.168.1.101 (ваш IP-адрес). Если ваш маршрутизатор настроен правильно, вы можете создать собственный веб-сайт.

По умолчанию apache доставляет HTML в браузер. Если вы просмотрите исходный код этой страницы, вы увидите HTML.

PHP / Python / Ruby - это языки, которые используются для взаимодействия с Apache для создания HTML на лету (динамическое поведение).

MySQL - это постоянство ваших данных. Он хранит ваши данные таким образом, что PHP / Python / Ruby может легко преобразовывать и отображать.

Xampp использует Apache.

Apache - это веб-сервер, который фактически слушает ваши запросы к localhost или 127.0.0.1, а затем отвечает на запрос. Обычно Apache прослушивает порт 80, 8080 и т. Д.

PHP, Python, Perl Ruby - это серверные включения (или сценарии), которые вы, как программист, записываете. Когда Apache получает запрос, он ищет эти файлы и просит соответствующие парсеры проанализировать и вернуть результат.

Например. ты звонишь http: //localhost/test.php. Apache принимает вызов и ищет файл test.php в htdocs. Поскольку это файл PHP, Apache вызовет PHP для анализа файла, а затем вернет HTML или любой вывод.

MySQL - это база данных для хранения ваших данных. Подумайте обо всех этих сообщениях StackOverflow, все они хранятся в базе данных.

htdocs - это просто папка, определенная как корень веб-сервера. Вы можете перенастроить и переместить его в другую папку.