我一直听说服务器端stream行的LAMP和WAMPconfiguration,也知道LAMP代表Linux,Apache,MySQL,PHP / Python / Perl / Ruby等。
但是我不知道所有这些如何相互融合。
例如,如果我在家里的Windows机器上安装了Xampp,并且它有一个htdocs文件夹,我在那里存储我的网页…当我查询该页面时,浏览器显示给我…
我需要知道什么:
这一切都令人困惑,任何人都可以解释?
这些是非常一般的问题。 您应该在维基百科或其他网站上阅读有关数据库,Web框架和Web服务器的内容。
但是,只是为了给你一个快速简要说明:
Web服务器是一种为通过万维网访问您的计算机的人员提供数据的程序。 世界上最stream行的两个Web服务器是Apache和Microsoft Internet信息服务(IIS)。
数据库通常以关系方式存储数据。 您可以将这些数据用于网页内容,即可以存储博客文章,用户名和密码,基本上可以存储任何内容。 用于Web开发的最常见的数据库是SQL变体,最stream行的是MySQL和MS SQL Server。
PHP,Python,Ruby和Perl是高级语言,可能曾经被称为脚本语言(但已经变得如此之多)。 他们之间存在各种技术和哲学上的差异,但他们都习惯于相同的目的。 用networking术语来说,这些语言被用来编写dynamic网页内容。 您的Web服务器运行PHP / Ruby / Perl / Python代码,并结合来自数据库和/或HTML页面的数据,输出由Web服务器软件提供并最终由用户看到的Web内容。 所有这些语言都有各种框架来使Web开发更容易(例如Rails for Ruby)。
XAMPP只是一个预先包装好的工具包,包含了Apache web服务器,mysql数据库软件以及PHP和Perl的安装。
服务页面的基本stream程如下:
此外,要回答你的问题,关于Apache是否只是“你的网站的硬盘驱动器”,情况并非如此。 Apache为你做的一些事情包括pipe理许多用户与你站点的连接,为dynamic网页执行正确的解释器,控制对各种页面的访问,将用户redirect到各种内容等等。 Web服务器软件是各种语言,开发框架,encryption系统,身份validation和访问控制以及其他技术相互交叉的中心点,以创build一个function完备的网站。
Apache是一个Web服务器,可以将计算机上的端口打开到连接的networking。 这可以让您的networking中的用户访问http://192.168.1.101 (您的IP地址)。 如果你的路由器configuration正确,那么你可以抛出一个你自己的网站。
开箱即用,Apache将HTML传递给浏览器。 如果您查看此页面的来源,那么您可以看到HTML。
PHP / Python / Ruby是用来与Apache接口的dynamic语言(dynamic行为)。
MySQL是持久的数据。 它以PHP / Python / Ruby可以轻松转换和显示的方式存储数据。
Xampp使用Apache。
Apache是一个实际监听你的请求到本地或127.0.0.1的Web服务器,然后根据请求回复。 通常Apache监听端口80,8080等
PHP,Python,Perl Ruby是您作为程序员编写的服务器端包含(或脚本)。当Apache收到请求时,它将查找这些文件,并要求相应的parsing器parsing并返回输出。
比如你打电话给http://localhost/test.php 。 Apache接收调用并在htdocs中查找文件test.php。 由于它是一个PHP文件,Apache将调用PHPparsing文件,然后返回HTML或任何输出。
MySQL是存储数据的数据库。 想想所有这些StackOverflowpost,他们都存储在数据库中。
htdocs只是一个定义为Web服务器根目录的文件夹。 您可以重新configuration并将其更改为其他文件夹。