我不断听说服务器端流行的 LAMP 和 WAMP 配置,也知道 LAMP 代表 Linux、Apache、MySQL、PHP/Python/Perl/Ruby 等。
但我不知道所有这些如何相互集成。
例如,如果我在家里的 Windows 机器上安装了 Xampp,并且它有一个 htdocs 文件夹,我在其中存储我的网页...当我查询该页面时,浏览器会将其显示给我...
我需要知道什么:
- Apache 实际上只是我的网页的一个硬盘吗?
- PHP/Python/Perl/Ruby 和 MySQL 适合什么位置?
- 就像 Xampp 在我的 PC 上有 htdocs 一样,Apache Web 服务器上是否有类似的文件夹?
目前一切都很混乱,有人可以解释一下吗?
答案1
这些都是非常普遍的问题。您可能应该在 Wikipedia 或其他网站上阅读一些有关数据库、Web 框架和 Web 服务器的内容。
不过,我只想给你一个简短的概述:
Web 服务器是一种程序,它为通过万维网访问您机器的人们提供数据。世界上最受欢迎的两种 Web 服务器是 Apache 和 Microsoft Internet Information Services (IIS)。
数据库存储数据,最常见的是关系型数据。您可以将这些数据用于网络内容,即它可以存储博客文章、用户名和密码,基本上任何东西。用于网络开发的最常见数据库是 SQL 变体,最流行的是 MySQL 和 MS SQL Server。
PHP、Python、Ruby 和 Perl 都是高级语言,曾经被称为脚本语言(但现在已经变得更加高级)。它们之间存在各种技术和理念差异,但它们都用于相同的目的。在网络术语中,这些语言用于编写动态网络内容。您的网络服务器运行 PHP/Ruby/Perl/Python 代码,该代码与数据库和/或 HTML 页面中的数据相结合,输出由您的网络服务器软件提供并最终由用户看到的网络内容。所有这些语言都有各种框架,使使用它们进行网络开发更容易(例如 Ruby 的 Rails)。
XAMPP 只是一个预先打包的套件,包含 apache 网络服务器、mysql 数据库软件以及 PHP 和 Perl 安装。
页面服务的基本流程如下:
- 远程用户请求http://www.yoursite.com/index.php
- 您的 Apache Web 服务器软件接收该请求并准备通过连接向该特定用户提供适当的信息
- Apache 与 PHP 的集成会启动服务器上的 PHP 解释器并执行 index.php 中的 PHP 代码
- 该 PHP 代码可能反过来包含从 MySQL 数据库获取和/或设置数据以用于网页或用户或会话管理的请求。
- 您的 Web 服务器向远程用户发送一个 HTML 文档,该文档是通过上述 PHP 代码、数据库信息以及您网站上预先编写的静态 HTML 和 CSS 组合而成的。
另外,要回答你关于 Apache 是否只是“网站的硬盘”的问题,事实并非如此。Apache 为你做的事情包括管理许多用户到你网站的连接、执行动态网页的正确解释器、控制对各种页面的访问、将用户重定向到各种内容等等。Web 服务器软件是各种语言、开发框架、加密系统、身份验证和访问控制以及其他技术相交以创建一个功能齐全的网站的中心点。
答案2
Apache 是一个 Web 服务器,它打开您计算机上的一个端口以连接到连接的网络。这样,您网络中的人员就可以访问http://192.168.1.101(您的 IP 地址)。如果您的路由器配置正确,那么您就可以建立自己的网站。
开箱即用,Apache 将 HTML 传递给浏览器。如果您查看此页面的源代码,则可以看到 HTML。
PHP/Python/Ruby 是用于与 Apache 交互以动态创建 HTML(动态行为)的语言。
MySQL 可持久保存您的数据。它以 PHP/Python/Ruby 可轻松转换和显示的方式存储您的数据。
Xampp 使用 Apache。
答案3
Apache 是一个 Web 服务器,它实际上监听您对 localhost 或 127.0.0.1 的请求,然后根据请求进行回复。通常 Apache 监听端口 80、8080 等
PHP、Python、Perl Ruby 是您作为程序员编写的服务器端包含(或脚本)。当 Apache 收到请求时,它将查找这些文件,并要求相应的解析器进行解析并返回输出。
例如你打电话http://localhost/test.phpApache 接收调用并在 htdocs 中查找文件 test.php。由于它是一个 PHP 文件,Apache 将调用 PHP 来解析该文件,然后返回 HTML 或任何输出。
MySQL 是存储数据的数据库。想想所有这些 StackOverflow 帖子,它们都存储在数据库中。
htdocs 只是一个定义为 Web 服务器根目录的文件夹。您可以重新配置并将其更改为其他文件夹。