apache
,php
,mysql
配置详解
配置AMP环境是开发轻量型网站最常用到的。知道怎么配首先得明确配置的目的,充分了解各个组件的作用。
一、Apache
Apache的作用是代理。不管Apache运行在哪,本地或某台远程服务器上,它都用来响应发到80(默认80,也可能是其它)端口的请求。实际情形一是Apache运行在远程服务器上,我们通过浏览器地址栏访问这台主机。http或https。假如是http,通过域名/ip跳转到这台服务器的80端口,被监测着80端口的Apache进程捕获。捕获之后怎样处理,这就是配置Apache的目的。
Apache程序由一堆文件组成。让Apache执行捕获后的动作的关键是对其程序目录下的httpd.conf
的配置。比如我可能希望通过不同域名访问这台远程服务器上的不同目录(放着不同网站),那就需要这样配置:
或者我需要设置默认访问的目录,那就需要这样做(这在初配置Apache的时候很关键,虽然有默认设置,但还是建议按自己需要设置):
Apache的bin
目录下有两个关键的exe文件。一个叫做httpd.exe
,一个叫做ApacheMonitor.exe
。前者是apache
的主程序,后者是一个监视程序——监视运行着的apache代理服务。通过它可以图形化的方式启动/停止apache服务。(当然,第二个exe文件是在Windows下有的,Linux版本上是没有的)。
而不管是Windows还是Linux环境,首先都应该在这台机器上使httpd.exe
运行起来。也就是要先安装Apache代理服务。不管是何种操作系统,都应该以命令行的方式先进入httpd.exe
的目录,然后httpd install
。windows下还可以这样安装httpd -k install -n "自定义服务名称"
。安装完成后启动就行了。
二、PHP
现在前端(web页面)与后台(服务器)交互中最常用的就是PHP。html文件中可能包含大量php
代码。这些代码不能被前端浏览器所解释,因此就需要在浏览器接到最终html文件前,或者说在服务器发出这些文件前先解释一番。解释工作当然不是Apache,也不是Mysql
。而是PHP的解释程序。
应该说创建PHP项目的程序员让PHP变得足够方便调用。只需将PHP项目中提供的php Apache 连接程序的位置
告诉Apache就可以不用关心如何解释php
代码的问题了。所以,在对接Apache与php
的时候,应当打开httpd.conf
文件,以Apache规定的语法加载这个连接程序。
三、MySql
mysql
与apache
是同类(都是独立的服务)。因此需要在目标机上安装此服务。
不管通过何种方式获得了mysql
程序,也不管运行的环境是怎样的,都应该先变换目录到其bin
文件夹下,然后通过mysqld --install
的方式安装mysql
服务;再之后应当初始化mysql
:
这样启动mysql服务后
就可以mysql -uroot -p
的方法无密码进入mysql
程序进行操作了。
因为PHP提供了操作数据库的方法,而PHP与mysql
搭在一起很适合构建轻型网站,因此PHP的开发者提供了操作mysql
的扩展如名为 php_mysqli
。所以,还需要配置php的 ini 文件
。找到;extension=php_mysqli.dll
这行代码,把前面的注释去掉就OK了。
经过以上配置,当80(http)或是443(https)端口监测到请求时,会由Apache去访问指定位置,取得对应内容后,先由apache初步分析下(因为apache连接了php
的解释程序),发现php
代码,就交给php
程序解释,php
程序解释完再通过A-P
连接程序将解释的结果告诉Apache,最终由Apache将请求的内容以http
或是https
向发起请求的地址发送数据。
当然,在PHP解释的过程中有可能碰上连接mysql
数据库的代码。由于我们手动开启了PHP操作mysql
的能力,所以PHP可以根据需要连接运行着的mysql
程序,得到操作mysql
后的结果。
这就是配置AMP
环境的目的与关键所在。