打算写几篇文章重新熟悉搭建Linux+nginx+php+mysql的过程,如有错漏,欢迎指出。
原理介绍
- LNMP的工作原理
首先,浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx.服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。
以上整个就是LNMP的工作过程。 - LAMP的工作原理
LAMP其实是指Linux+Apache+Mysql+PHP的结构体系。其工作原理如下:
浏览器向服务器发送http请求,服务器 (Apache) 接受请求,由于php作为Apache的组件模块也会一起启动,它们具有相同的生命周期。Apache会将一些静态资源保存,然后去调用php处理模块进行php脚本的处理。脚本处理完后,Apache将处理完的信息通过http response的方式发送给浏览器,浏览器解析,渲染等一系列操作后呈现整个网页。 - 两者的区别
在LNMP中,Nginx本身对脚本不做任何的处理,而是去调用一个PHP-FPM的进程,二者是相互独立的。
在LAMP中,PHP是Apache的一个模块,具有相同的生命周期。
本篇准备工作
- 下载Linux发行版Centos iso镜像
我们日常使用较多的是Windows系统,但是它却不是优秀的服务器操作系统。因此,本地进行开发时,推荐将应用部署在Linux上,一来可以让应用在与生产环境一致的系统中运行,二来当需要进行生产环境的操作时,不会太陌生。
Centos下载:Centos 7-1511(本来想给百度云的,但文件上传有限制)
- 安装VirtualBox
VirtualBox下载:https://www.virtualbox.org/
- 安装Xshell
用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。虽然在虚拟机里也可以进行操作,但体验并不好。例如当我们所使用的是云服务器时,直接使用Xshell连接服务器便可进行远程操作,而不需要去打开云服务器的管理界面,同时还免去每次都要输入账号密码的麻烦。
Xshell下载:http://pan.baidu.com/s/1bpj1ASf 密码:tw7m
Linux虚拟机的安装
第一步:新建虚拟机
在VirtualBox中点击新建按钮,如图设置,然后一直默认下一步完成即可。

第二步:选择镜像
选中虚拟机,右键点击设置,进入存储。点击没有盘片,再点击属性-分配光驱最右边的小光盘,将在准备工作中下载的iso镜像文件选择进去,最后确定。

第三步:网络设置
依然选中虚拟机,右键点击设置,进入网络。在默认情况下,使用的是NAT,也就是说,虚拟机通过物理机的网络来进行访问,这样无法在物理机上直接通过SSH来连接虚拟机,需要进行其它配置才能访问。如果使用的是路由器来上网,则可以选择桥接网卡,此处我选择该选项,点击确定即可。

第四步:安装虚拟机
启动虚拟机,会进入Centos的安装界面。为了方便观看,我选择视图-自动缩放模式。注意:物理机和虚拟机之前鼠标的切换是键盘右侧 右侧 右侧的Ctrl键(重要的事说三遍)。Centos的安装比较简单,都是图形化的操作,这里不详细讲安装过程,只将关键部分以图片的方式给出。







第五步:修改虚拟机的网络
首先会需要输入用户名密码,用户名就是root,密码是在安装过程6中设置的密码。登录成功后,输入下面的命令来修改网卡的配置
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
成功后会看到下图:

光标移至最后一行, 输入小写字母i进入编辑模式,将
ONBOOT=no
改为 ONBOOT=yes
,然后按ESC键退出编辑模式,输入英文冒号进入命令模式,然后输入wq保存并退出。
重启虚拟机的网络配置,输入命令:
systemctl restart network
后回车再输入命令:
ifconfig
查看网卡是否分配到ip地址
Xshell连接虚拟机
使用已经安装好的Xshell,点击 文件-新建,随便输入一个名称,主机为上一步的ip地址,确定。然后选择刚刚新建的会话,连接。输入用户名root
,密码为安装虚拟机时设置的管理员密码,便可以成功连接。

后记
欲知后事如何,且听下回分解。
网友评论