Я все время слышу о популярных конфигурациях 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.
Базовый процесс обслуживания страницы следующий:
Кроме того, отвечая на ваш вопрос о том, является ли 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 - это просто папка, определенная как корень веб-сервера. Вы можете перенастроить и переместить его в другую папку.