更新时间:2025 08 05 20:23:04 作者 :庆美网 围观 : 68次
各位老铁们,大家好,今天由我来为大家分享lnmp;lamp怎么读,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
使用的软件版本
nginx-1.4.2.tar.gz
mysql-5.6.13.tar.gz
php-5.4.17.tar.gz
1 安装依赖包 (考虑不在这里出发 不执行下面语句 留到以后用)
[sourcecode language=\”plain\”]
yum -y install gcc pcre pcre-devel gcc-c++ autoconf libxml2
libxml2-devel zlib zlib-devel glibc libjepg libjepg-devel
libpng libpng-devel glibc-devel glib2 glib2-devel ncurses
ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel
openssl openssl-devel openldap openldap-devel nss_ldap
openldap-clients openldap-servers make
[/sourcecode]
2.安装nginx
自行创建一个用户和用户组分配给nginx
[sourcecode language=\”plain\”]
groupadd -r nginx
useradd -r -g nginx -s /bin/false -M nginx
[/sourcecode]
[sourcecode language=\”plain\”]
// 安装一个yum 源包 如果不行 先下载
rpm -ivh <span style=\”font-family: Consolas,Bitstream Vera Sans Mono,Courier New,Courier,monospace;\”><a href=\”http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm\”>http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm</a>(适用 </span>geoip geoip-devel)
yum install pcre pcre-devel openssl openssl-devel libxslt-devel gd-devel geoip geoip-devel
./configure –prefix=/usr/local/nginx-1.4.2 –with-http_ssl_module –with-http_realip_module –with-http_sub_module –with-http_mp4_module –with-http_gzip_static_module –with-http_gunzip_module –with-http_stub_status_module –with-http_ssl_module –with-http_spdy_module –with-http_addition_module –with-http_xslt_module –with-http_image_filter_module –with-http_geoip_module –with-http_dav_module –with-http_flv_module –with-http_random_index_module –with-http_secure_link_module –with-http_degradation_module
make && make install
[/sourcecode]
顺利到达此处表示nginx已经安装完毕,下面配置nginx相关信息
配置nginx快速启动
nginx启动文件下载地址http://7xsaxb.dl1.z0.glb.clouddn.com/nginx
把下载nginx 拷贝到/etc/init.d 目录下
[sourcecode language=\”plain\”]
chmod +x /etc/init.d/nginx
chkconfig –add nginx
chkconfig nginx on
service nginx restart (重启有一个关闭的过程,在关闭之后 请求会失败)
平滑启动
/usr/local/nginx/sbin/nginx -s reload(reload则不会影响请求)
[/sourcecode]
如果启动正常 表示nginx 已经安装完毕
第一次写文章感觉还不是很适应,所以先写到这 后续mysql和php的安装会记录跟进,谢谢大家
原文地址:http://www.58maisui.com/2016/03/17/lnmp/
业务架构、应用架构、数据架构和技术架构
一、几个基本概念
1、pv 值
pv 值(page views):页面的浏览量
概念:一个网站的所有页面,在一天内,被浏览的总次数。(大型网站通常是上千万的级别)
2、uv值
uv值(unique visitor)独立访客
概念:一个网站,在一天内的用户访问数。(大型网站通常达10万以上)
3、独立IP
概念:一个网站,在一天内,有多少个独立的ip地址来访问。
鉴于一个局域网对外访问时都是共用同一个公网IP的,因此UV值一般要略大于独立ip值
可以通过爱站网 来查询这些参数值
二、解决高并发思路
如果一个网站的uv,pv,独立ip变大,则会导致高的并发,这时要对网站分层布局架构,采用负载均衡。
负载均衡
硬件:立竿见影,效果非常好,价格非常昂贵,比如F5-BIGIP
软件:lvs(linux virtual server) ,nginx(web服务器,负载均衡)
负载均衡实现策略
(1)轮询,
负载均衡器把请求轮流转发给后面的web服务器。
(2)ip哈希,
同一个地址的客户端,始终请求同一台主机。
(3)最少连接
负载均衡器把请求给负载最小的哪台服务器。
架构图如下:
如果并发数继续增大,还可以借助CDN来架构
三、nginx的介绍
1、常用web服务器
apache:功能完善,历史悠久,模块支持非常丰富,属于重量级产品,比较耗费内存。
缺点:处理每一个php比较费资源,导致如果高并发时会耗费服务器资源无法处理更多请求。
lighttpd:内存开销低,cpu占用率低,效能好,模块丰富等特点,轻量级web服务器。
nginx:省资源,省cpu,所以在高并发时能够处理更多的请求,高端能达到3万到5万的并发量。
IIS windows自带的web服务器软件
Nginx的两大应用:
(1) http的服务器
(2)代理服务器
正向代理
反向代理
2、选择nginx理由
(1)它可以高并发连接,官方测试能够支撑5万并发连接,在实际生产环境中可以支撑2到4万并发连接。
(2)内存消耗少
Nginx+php(FastCGI)服务器在3万并发连接下,开启的10个Nginx进程消耗150MB内存(15MB*10=150MB)开启的64个php-cgi进程消耗1280MB内存(20MB*64=1280MB)
(3)成本低廉
购买F5 BIG-IP ,NetScaler等硬件负载均衡交换机需要10多万甚至几十万人民币。而Nginx为开源软件,可以免费试用,并且可用于商业用途。
(4)配置文件非常简单:通俗易懂,即使非专业管理员也能看懂。
(5)支持 rewrite重写规则:能根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组。
(6)内置的健康检查功能:如果nginx proxy后端的某台服务器宕机了,不会影响前端访问。
(7)节省带宽,支持gzip压缩。
(8)稳定性高:用于反向代理,宕机的概率微乎其微。
(9)支持热部署。在不间断服务的情况下,对软件版本升级。
nginx在反向代理,rewrite规则,稳定性,静态化文件处理,内存消耗等方面,表现出了很强的优势,选用nginx取代传统的apache 服务器,将会获得多方面的性能提升。
(8)支持的操作系统
FreeBSD 3.x,4.x,5.x,6.x i386; FreeBSD 5.x,6.x amd64;Linux 2.2,2.4,2.6 i386; Linux 2.6 amd64;Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;MacOS X (10.4) PPC;
四、nginx的搭建
1、安装
安装前注意:
模块依赖性:Nginx的一些模块需要其他第三方库的支持,例如gzip模块需要zlib 库,rewrite模块需要pcre库,ssl功能需要openssl库等。
(1) 确保底层库都已安装
运行 yum install zlib* pcre* openssl*
(2) 创建一个用户和用户组
创建www组与www用户 ,理论上来讲用户与用户组的名称无所谓,但尽量要有意义
groupadd www
useradd -g www -s /usr/sbin/nologin www
(3) 编译安装nginx
第一步:下载nginx
wget
第二步:解压并进入目录
tar ….
Cd …
第三步:配置
先查看configure的配置项,并保存成一个帮助文档
将常用的配置项保存成一个安装脚本文件
Vim nginx_install.sh
内容如下:
./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module –with-http_realip_module –with-http_image_filter_module –with-pcre –http-client-body-temp-path=/usr/local/nginx/tmp/client_body_temp –http-fastcgi-temp-path=/usr/local/nginx/tmp/fastcgi_temp –http-proxy-temp-path=/usr/local/nginx/tmp/proxy_temp –http-uwsgi-temp-path=/usr/local/nginx/tmp/uwsgi_temp –http-scgi-temp-path=/usr/local/nginx/tmp/scgi_temp
给sh文件加上可执行的权限
然后执行
第四步:编译安装
make && make install
2、管理
(1)查看帮助文档
Cd /usr/local/nginx/sbin
./nginx -h
(2)启动nginx
直接执行安装目录下的sbin目录下的nginx
(3)关闭nginx
可以执行 nginx -s stop 或者 执行 pkill nginx
(4)热启动
可以执行 nginx -s reload (前提是nginx已经在运行中)
扩展:如果想用service 服务名 选项来重启或停止nginx,可以按以下步骤操作:
知识点:service 服务名 能操作成功的前提是 /etc/rc.d/init.d目录下要有与服务名同名的可执行文件
所以我们可以在这个目录下新建nginx文件
内容:
记得给这个文件添加可执行权限
加入到开机自启动:
五、虚拟主机配置
1、配置文件介绍
Nginx的配置文件位于安装目录下的conf目录下
可以用以下命令查看非注释部分的内容
egrep -v \’#|^#39; nginx.conf
-v 代表取反(去掉匹配到的内容)
在配置文件中,http段里面的server段是配置虚拟主机使用的。如果想要配置多个虚拟主机,则就在http段里面创建多个 server段即可。
注意配置文件中,每一行要使用分号结束,指令与{之间有空格。
Listen 后面可以是端口号,也可以是IP:端口号
Server_name 后面可以是域名,多个域名之间空格隔开,也可以是IP地址
在 http{}代码段里添加 client_max_body_size 200m; 以支持 php 上传大文件。(请根据自己项目需求来定值)
六、编译 php与nginx整合
1、编译安装php
(1) 第一步:安装PHP
1) 下载php
shell># cd ~
shell># wget
2) 解压并进入目录
shell># tar zxf php-5.6.24.tar.gz
shell># cd php-5.6.24
3) 将configure参数及详情解析另存为一个文件,以供学习参考用:
shell># ./configure –help >php_configure.txt
4) 编写一个辅助shell文件,帮我们配置php
shell># vim php_install.sh
为了避免写错,建议大家直接复制以下内容(都写在一行上,不要换行):
./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –enable-fpm –enable-opcache –with-zlib-dir –with-bz2 –with-libxml-dir=/usr –with-gd –with-freetype-dir –with-jpeg-dir –with-png-dir –enable-mbstring –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-pdo-mysql=/usr/local/mysql –with-iconv –disable-ipv6 –enable-static –enable-inline-optimization –enable-sockets –enable-soap –with-openssl –with-curl
以上内容的解释如图
把刚刚的shell文件加上可执行权限:
shell># chmod +x ./php_install.sh
5) 执行shell文件进行软件的配置和环境检测
shell># ./php_install.sh
6) 编译软件并且进行安装
shell># make && make install
(2) 第二步:配置
1) 复制配置文件
shell># cp php.ini-production /usr/local/php/etc/php.ini
shell># cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
赋予其可执行权限
shell># chmod +x /etc/rc.d/init.d/php-fpm
拷贝产生php-fpm的配置文件
shell># cd /usr/local/php/etc
shell># cp php-fpm.conf.default php-fpm.conf
2) 配置php.ini
shell># vim php.ini
· 找到;date.timezone = 修改为 date.timezone = Asia/Shanghai
· 根据自己的需求调整以下选项的值
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
display_errors = On
max_execution_time = 60
max_input_time = 60
memory_limit = 256M
post_max_size = 256M
upload_max_filesize = 256M
3) 配置php-fpm.conf
shell># vim php-fpm.conf
· 找到user = nobody 和 group = nobody,将nobody改成www
· 找到listen.owner=nobody和listen.group= nobody,将nobody改成www
4) 将php-fpm加入服务并自动启动
shell># service php-fpm start
shell># chkconfig –add php-fpm
shell># chkconfig –level 345 php-fpm on
2、配置nginx支持php
第一步:在nginx.conf中找到location ~ .php$
复制并去掉注释,将root改成你的虚拟主机的路径
保存并重载配置文件,
shell># /usr/local/nginx/sbin/nginx -s reload
在html目录下新建一个PHP文件,代码如下:
在浏览器输入php页面的网址,可以发现并不能访问
原因是官方给的默认配置文件中,
要求要把php文件放到/scripts目录下。其实这个要求我们不一定要遵从。
改进的方案如下:
保存并重载
就可以让nginx支持访问类似http://www.a.com/index.php以及http://www.a.com/index.php?id=5这样的页面了。
3、优化nginx配置文件
第二步:优化
如果把所有的server代码段都放在nginx.conf里面的话,会让nginx.conf显得又臃肿又乱。建议把它们分离去。
例如,直接把所有的server代码段都剪切到/usr/local/nginx/conf/vhost.conf里面
然后在nginx.conf里面换成
include vhost.conf
虚拟主机的代码都移到了vhost.conf里面了
至此,nginx.conf已经很优化了,我们再来优化vhost.conf
第三步:优化vhost.conf
将root语句和 index语句都提取到location外面
第四步:再一次优化vhost.conf
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
这两个语句都剪切到fastcgi.conf里面去
只留下include fastcgi.conf;
fastcgi.conf文件中新增了以下两句:
至此,nginx已经支持访问php页面,并且nginx.conf和vhost.conf已经很优化了。
只是还无法支持像thinkphp的pathinfo形式的访问
http://www.a.com/index.php/Admin/public/login
4、与ThinkPHP整合
第一步:将vhost.conf的location ~ .php$ { 的$去掉
可以发现能支持pathinfo的访问方式,但是无法识别出模块、控制器和方法
然后将location代码段写成
保存并重载nginx
就可以支持thinkphp的pathinfo形式的访问
第二步:优化vhost.conf
将这两句
fastcgi_split_path_info ^(.+.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
都剪切到 fastcgi.conf里面,只留下include fastcgi.conf; 语句即可
第三步:开启伪静态功能
在server里面的location / { 代码段里,写上
try_files $uri /index.php$uri;
保存并重载nginx
就可以支持thinkphp的rewrite访问
http://www.a.com/Admin/public/login
七、负载均衡
1、负载均衡原理图
2、实现一个简单的负载均衡
服务器列表
本机 192.168.81.1
VM 192.168.81.6
腾讯云 123.207.231.180
负载均衡器的配置
并且要确保 fzjh.com要解析到负载均衡器的IP地址
保存配置文件,并且重载
访问效果:
原文链接:http://www.uml.org.cn/zjjs/202005221.asp
如果你还想了解更多这方面的信息,记得收藏关注本站。
用户评论
我经常看到这两个词在互联网上,但每次都拼写错了!现在终于明白了是怎么念的!
有17位网友表示赞同!
原来是“LNMP”和“LAMP”啊!以前总觉得这听起来像外语一样。不过说来也奇怪为啥要用这种缩写法?不太人性化啊.
有5位网友表示赞同!
这个博文解释的很清楚,终于知道LNMP和LAMP分别代表什么了,这对学习web开发有很大帮助!
有13位网友表示赞同!
我之前也是一脸懵逼的,现在才知道“lnmp”读做“l-n-m-p”,还有个 LAMP啊!真是太谢谢博主分享这方面的知识啦!
有14位网友表示赞同!
话说我刚开始学web开发的时候,看到LNMP和LAMP就觉得好奇怪 ,后来才慢慢明白过来。现在回头看那些术语其实也没那么复杂。
有16位网友表示赞同!
这个解释挺有用的,特别是对比了两种架构的区别,感觉“lnmp”更适合小型项目,而“lamp”则更成熟稳定,这对选型很有参考意义!
有12位网友表示赞同!
(๑•̀ㅂ•́)و✧ 我正在学web开发,刚好看到了这篇博文,太棒了!终于知道 LNMP 和 LAMP 的读法和区别了!
有12位网友表示赞同!
感觉这两种架构还是蛮常见的,博客文章中经常看到LNMP,网站建设的时候也常用到LAMP。学习这些术语真的很有必要!
有8位网友表示赞同!
说白了就是服务器搭载的软件吧?LNMP 和 LAMP 这两种组合在技术界都很常用,了解一下也是为了更好地阅读相关资料.
有14位网友表示赞同!
说实话,我感觉有些缩写还是挺容易混淆的,尤其是对于新手来说。博客里加点图片示范或者实际代码实例能更直观些!
有18位网友表示赞同!
LNMP 和 LAMP 这两年一直在接触,不过这两种组合在实践中差别好像不大?我觉得技术层面的东西还是要看具体需求来选择。
有7位网友表示赞同!
博主解释的很不错了,我理解 LNMP 和 LAMP 都是服务器端的软件组合。不过还是希望文章能详细点说下这两个组合各自的特点和适用场景!
有9位网友表示赞同!
以前只知道“LAMP”,后来才了解到“LNMP”。两种都挺常用的吧?对于新手来说,刚开始哪个更好入门呢?有没有建议?
有11位网友表示赞同!
这篇文章太重要了!感谢博主分享! 我正好在着手web开发项目的部署,对 LNMP 和 LAMP 的区别有了更深入的了解!
有7位网友表示赞同!
感觉文章里说的这些知识点对于初学者来说还是比较基础,想要学习更深入的东西还得找其他的资料。 希望以后能发些更实用的文章分享!
有16位网友表示赞同!
说句实话,LNMP 和 LAMP 的区别对我来说并不太重要,因为我主要开发的是前端项目,服务器端的事情不是我的强项!
有7位网友表示赞同!
这个博文还是很有用处的,尤其是针对刚接触 web 开发的朋友来说,能够快速了解 LNMP 和 LAMP 这些基础概念。点赞
哪种牙刷最适合你的口腔健康?
嘿,小伙伴们!想要拥有健康的口腔,除了每天刷牙外,选择一款适合自己的牙刷也是非常重要的哦!但是面对琳琅满目的牙刷种类,你是否也感到头疼呢?别担心,今天我就来给大家介绍一下关于口
哪种牌子的奶粉不容易上火?有什么喝奶粉的小窍门?
想必大家都知道,奶粉是宝宝成长过程中必不可少的营养品,但是有时候会出现奶粉上火的情况。那么究竟是什么原因导致奶粉上火呢?如何选择适合自己宝宝的奶粉品牌?又有哪些小窍门可
哪种汤能最快最有效地促进乳汁分泌?
当宝宝出生后,母乳喂养是最理想的喂养方式。然而,有时候新妈妈们会面临乳汁分泌不足的问题。究竟是什么因素影响了乳汁分泌?如何通过饮食来增加乳汁量?今天我们就来探讨一下,哪种
哪种有机奶粉是最好的?排行榜前十强揭晓!
有机奶粉,是现在很多父母选择给宝宝喝的一种奶粉产品。但是,面对市场上琳琅满目的有机奶粉品牌,我们如何选择最适合宝宝的呢?今天就让我们来揭晓排行榜前十强,看看哪种有机奶粉是
哪种学生奶粉排名第一?最好的学生奶粉推荐
嘿,小伙伴们!今天我们要聊的话题是关于学生奶粉的。随着现代生活节奏的加快,越来越多的家长开始选择给孩子喝学生奶粉,以补充他们日常所需的营养。但是市面上琳琅满目的品牌和种
哪种婴儿羊奶粉排名第一?有什么特点?
婴儿羊奶粉,作为宝宝最重要的食品之一,一直备受关注。但是在市场上琳琅满目的婴儿羊奶粉品牌中,哪种才是排名第一呢?它有什么特点?今天我们就来揭秘这个备受瞩目的话题!从婴儿羊奶