一、wamp、Lamp、LNMP
不管是学前端还是后端,基本都学习过服务器,对前端来讲第一次接触的基本都是wamp,这里可以称之为window系统下的Apache+MySQL+PHP的网站服务器架构,有window肯定就有Linux的,所以我们常见的网站服务器架构有以下三种
wamp:window+Apache+MySQL+PHP
lamp:Linux+Apache+MySQL+PHP
lnmp:Linux+Nginx+MySQL+PHP
从上面可以看出,一个网站的服务器主要有操作系统+服务器+数据库+服务器脚本语言
1、操作系统:window/Linux,一般在本地下玩一玩都是选择window系统,在实际的生产环境中还是Linux系统居多。
2、服务器软件:一般是Apache或者Nginx,近几年来Nginx越来越火,相比于Apache Nginx具有耗费资源少,支持更多高并发连接等特点。
3、数据库:MySQL数据库是我们学习时使用的最多的数据库,Oracle多用于大型数据。
4、服务器脚本语言:服务器脚本语言没有规定必须需要用哪一种,C++、Java、PHP都可以
二、wamp介绍
说道wamp很多人都知道一个叫wamp server的一个集成环境,集成环境有个优点就是一键安装即可安装所有的东西,而且还能通过自带的一些插件进行管理。缺点就是所有东西都是一件安装完成,我们不理解他们之间的联系,以及一些基本的原理,这对很多学习开发的人员来讲是非常糟糕的。所以在安装前我们先来聊聊wamp的一些运行机制。
我们可以把整个网站的服务器假设成一台小型的笔记本电脑,window就是这台电脑的操作系统,Apache、MySQL、PHP就是安装在这台电脑上的软件。首先Apache就是服务器与客户端交互的门户,这里的客户端若不清楚可以理解为浏览器,最主要的功能就是接受客户端请求,解析并下发请求指令,然后返回请求的内容。其次是服务器脚本语言PHP,你可以把Apache想象成一个包工头,PHP就是它下面的一个临时员工,包工有些活不会做,所以只能临时找一个工人。Apache只能解析静态页面,对PHP这类动态页面需要有专门的脚本语言来处理,当客户端请求一个动态页面时,Apache就会先将页面内容交给PHP处理后再返回。最后是数据库,数据库用于存储数据,它和Apache其实没多大关系,严格来说它是一个独立的专门存储数据的服务器,我们通过服务器脚本语言来调用,在php处理动态页面时,页面的一些图片/视频/音乐链接都是动态的存储在数据库中,此时我们通过PHP去调用这些数据。
三、安装Apache(#号后面是说明,$号后面是执行的命令)
1、首先去 https://www.apachelounge.com/download/ 下载Apache二进制文件,也就是解压版文件,我下载的是VC15 window64位的,下载后将其解压到C盘下的英文路径里面,路径的文件夹名不要有空格
2、已管理员的方式运行cmd,然后运行以下命令
# 切换到 Apache 解压路径中的 bin 目录 $ cd <解压目录>/bin # 安装 Apache 服务,‐n 参数是指定服务名称 $ httpd.exe ‐k install ‐n "Apache" # 如果需要卸载 Apache,可以执行以下命令 $ httpd.exe ‐k uninstall ‐n "Apache" $ httpd.exe ‐t
执行安装命令后可能会报出一个错误,原因是默认的配置文件有问题,需要先调整一下配置文件 conf/httpd.conf ,才能正常启动服务。从报错的提示我们可以知道出错在第37行,原因是ServerRoot的路径有问题
找到 Apache 解压目录中的 conf 目录下的 httpd.conf 文件,定位到 37 行,将 c:/Apache24 改为解压目录,我这里解压到路径是 C:/webServer/apache ,所以我这里修改成改路径,这里有一点需要说明,Apache新版本中ServerRoot的路径是用一个常量来表示的,所以只需要修改这一处,在旧版本中就需要修改多处路径。
3、修改后重新执行 httpd.exe -t 测试配置文件,这时候应该提示 Syntax OK 。
如果有关于 ServerName 的警告提示,不用管它,暂时还不会影响我们接下来的使用和操作。
4、接下来重新再cmd上运行以下命令重新启动Apache
# 注意:需要使用管理员身份运行命令行!!! $ httpd.exe ‐k start ‐n "Apache" # 重新启动 Apache 服务 $ httpd.exe ‐k restart ‐n "Apache" # 停止 Apache 服务 $ httpd.exe ‐k stop ‐n "Apache"
5、启动浏览器,在地址栏输入:http://localhost/,回车访问,这时正常应该看到 It works! 这个时候Apache就已经安装完成。