热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

亲测LNMP的总体基本框架服务器的安装搭建

Apache自1990年发布以来,一直是web服务器市场的王者。Nginx出现较晚,因其在高并发下卓越的表现,最初是作为Apache在高并发情况下的补充,当时Nginx+Apach
Apache自1990年发布以来,一直是web服务器市场的王者。Nginx出现较晚,因其在高并发下卓越的表现,最初是作为Apache在高并发情况下的补充,当时Nginx+Apache是流行的架构.
现在Nginx的功能已经十分完善,多数场合下不需要Nginx+Apache这样复杂的架构,那么问题来了,选择Nginx 还是 Apache?
Apache自1990年发布以来,一直是web服务器市场的王者。Nginx出现较晚,因其在高并发下卓越的表现,最初是作为Apache在高并发情况下的补充,当时Nginx+Apache是流行的架构.
现在Nginx的功能已经十分完善,多数场合下不需要Nginx+Apache这样复杂的架构,那么问题来了,选择Nginx 还是 Apache?
Apache自1990年发布以来,一直是web服务器市场的王者。Nginx出现较晚,因其在高并发下卓越的表现,最初是作为Apache在高并发情况下的补充,当时Nginx+Apache是流行的架构.
现在Nginx的功能已经十分完善,多数场合下不需要Nginx+Apache这样复杂的架构,那么问题来了,选择Nginx 还是 Apache?
Apache自1990年发布以来,一直是web服务器市场的王者。Nginx出现较晚,因其在高并发下卓越的表现,最初是作为Apache在高并发情况下的补充,当时Nginx+Apache是流行的架构.
现在Nginx的功能已经十分完善,多数场合下不需要Nginx+Apache这样复杂的架构,那么问题来了,选择Nginx 还是 Apache?

a.小巧的LNMP

web历史上最流行最经典的环境是LAMP(Linux + Apache + Mysql + PHP),至今仍有大量网站采用此架构,Apache默认配置在未优化的情况下比较占用CPU和内存。借助于Nginx的轻量和高性能,LNMP架构只是将LAMP环境中的Apache换成Nginx,于是另一经典LNMP架构就诞生了。LNMP在服务器硬件配置相同时,相对于LAMP会使用更少的CPU和内存,是小型网站,低配服务器,和VPS的福音。LNMP架构后续会有实战,大家后续会详细了解到。
b.互补的LNAMP

LNAMP是一种互补型的架构,前面介绍过,Nginx的负载均衡和反向代理配置灵活,并发能力强,处理静态资源性能强,这些特性十分适合在前端调度。缺点是处理动态资源差一些,这正是Apache的强项,所以动态资源交给Apache处理。此架构充分利用了Nginx和Apache的长处,弥补各自的不足,兼顾动静态资源的同时又方便了扩展。缺点是配置复杂对服务器硬件配置要求高。
c.Web调度员Nginx

当web应用发展到一定程度时,单台服务器不足以支撑业务的正常运行,为增大吞吐量往往会使用多台服务器一起提供服务,如何充分利用多台服务器的资源,就需要一个’调度员‘,这个调度员要求能高效的接收并分发请求,知道后端的服务器健康状态,要能方便的扩展和移除,这就是Nginx又一常见应用架构,此架构充分利用了Nginx的反向代理和负载均衡的优势,Nginx本身不提供web服务,而是在前端接受web请求并分发到后端服务器处理,后端服务器可以是Apache,tomcat,IIS等。
以上三种是比较流行的架构,事实上Nginx的应用场景十分灵活,在高并发的网站里有着广泛的应用,大家在以后的学习中可以多关注。

带领大家安装好LNMP环境,入门学习nginx,为后面的课程做准备
?安装nginx
?安装mysql
?安装php
什么是 LNMP?
首先这里要简单介绍下 LAMP 和 LNMP。这两个都是在网站服务器架构中的系统环境。 上节中我们简单介绍过:
LAMP指的是:Linux+Apache+MySQL+Perl/PHP/Python?LNMP指的是:Linux+Nginx+MySQL+PHP
在 LNMP 中的作用或角色: Linux 是一类 Unix 计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo 等。LNMP 中以它作为平台。我们实验楼的环境本身就是 ubuntu,可直接进行下一步操作。如果想拥有自己的 ubuntu 实验环境,赶紧动手实现
在 LNMP 中的作用或角色: Linux 是一类 Unix 计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo 等。LNMP 中以它作为平台。我们实验楼的环境本身就是 ubuntu,可直接进行下一步操作。如果想拥有自己的 ubuntu 实验环境,赶紧动手实现
Nginx 安装
sudo apt-get update
Sudo apt-get install -y nginx
技术图片

完成安装后的测试
所有的启动配置文件都在/etc/init.d/nginx这个目录下,所以相关操作都可以在这个文件夹启动命令 这其实就是一个启动脚本
sudo /etc/init.d/nginx start 或 sudo service nginx start
启动完毕后,打开浏览器,访问?http://localhost?一定要刷新以确认
技术图片

1 .nginx 安装后的初级配置
sudo vim/etc/nginx/sites-available/default

HP 需要配置?location ~ .php$ {},所以要让 php 与 nginx 一起工作,就得在这个配置文件中放出这个模块。
如图修改(54 行开始)?把 注释去掉-- vim技巧:ctrl+v进入列编辑,选中要删除的#,再按d删除?
技术图片

紧接着测试配置文件
技术图片
测试成功以后记得重载配置文件,使配置文件生效
sudo service nginx reload

技术图片

关于测试的话要等下面的 php 一同配置好后一起测试
2 . 安装mysql
在 LNMP 中的作用或角色:Mysql 是一个小型关系型数据库管理系统 mysql 的安装分为服务端与客户端
sudo apt-get install mysql-server mysql-client
然后 修改 mysql 的配置文件
sudo vim /etc/mysql/my.cnf
将 bind-address = 127.0.0.1 注释掉,就可以远程连接数据库了

技术图片

然后mysql 服务重新启动 sudo service mysql start
在?LNMP?中的作用或角色:nginx?本身不能处理?PHP,它只是个?web?服务器,当接收到请求后,如果是?php?请求,则发给?php?解释器处理,并把结果返回给客户端.php-fpm?是一个守护进程(FastCGI?进程管理器)用于替换?PHP FastCGI?的大部分附加功能,对于高负载网站是非常有用的。
sudo apt-get install -y php5-fpm
安装好以后连同上面的 nginx 一同测试?现在创建一个探针文件保存在 /usr/share/nginx/html 目录下(这个目录就是刚刚 nginx 配置文件中 root 目录),以便测试。

技术图片

sudo vim /usr/share/nginx/html/phpinfo.php

接下来使用命令启动 php5-fpm 服务:浏览器测试
技术图片

(1).要想让 php5 支持 Mysql,还需要安装一系列的配套模块。 在刚才打开的网页中,这是没有装模块的界面,搜索可以看出,里面没有任何 mysql 的启动信息
需要安装 php5-mysql 模块
sudo apt-get install php5-mysql
需要安装 php5-mysql 模块
然后服务重新启动:Sudo service php5-fpm restart
安装好的表现:
技术图片

改变监听端口
某些情况下我们需要改变服务器的端口,因为套接字是通过绑定 ip 端口连接的,那就只需要将刚才的 nginx 的?default(所在目录/etc/nginx/sites-available/)配置中的端口打开,然后改成你想要监听的端口
这是 nginx 的 default
sudo vim/etc/nginx/sites-available/default
技术图片

命令重载配置文件使之生效
sudo service nginx reload

接下来重启 nginx 和 php 就好了
sudo service nginx restart
技术图片

到这里 LNMP 的总体基本框架也就搭建好了

亲测LNMP 的总体基本框架服务器的安装搭建


推荐阅读
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
author-avatar
于权drawing
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有