基于Linux的lnmp环境部署搭建.docx

上传人:b****3 文档编号:2285871 上传时间:2022-10-28 格式:DOCX 页数:16 大小:274.58KB
下载 相关 举报
基于Linux的lnmp环境部署搭建.docx_第1页
第1页 / 共16页
基于Linux的lnmp环境部署搭建.docx_第2页
第2页 / 共16页
基于Linux的lnmp环境部署搭建.docx_第3页
第3页 / 共16页
基于Linux的lnmp环境部署搭建.docx_第4页
第4页 / 共16页
基于Linux的lnmp环境部署搭建.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于Linux的lnmp环境部署搭建.docx

《基于Linux的lnmp环境部署搭建.docx》由会员分享,可在线阅读,更多相关《基于Linux的lnmp环境部署搭建.docx(16页珍藏版)》请在冰豆网上搜索。

基于Linux的lnmp环境部署搭建.docx

基于Linux的lnmp环境部署搭建

一、LNMP简介

Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。

代表版本有:

debian、centos、ubuntu、fedora、gentoo等。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

Mysql是一个小型关系型数据库管理系统。

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。

在高并发连接的情况下,Nginx是Apache服务器不错的替代品。

Nginx同时也可以作为7层负载均衡服务器来使用。

Nginx0.8.46+PHP5.2.14(FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。

为什么Nginx的性能要比Apache高得多?

这得益于Nginx使用了最新的epoll(Linux2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。

目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。

处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。

下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:

在高并发服务器中,轮询I/O是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。

一.1.Nginx详解以及优点

在当前互联网环境下,一般高端的服务前端都采用nginx作为web前端,而更多的都是采用lnmp架构,真正的后端服务器才会采用apache.

为什么这么做,要取决于nginx和apache两者之间的优缺性.:

nginx与apache相比有以下优势:

在性能上,nginx占用很少的系统资源,能支持更多的并发链接,达到更高的访问率;在功能上,Nginx是优秀的代理服务器和负载均衡器;在安装配置上,简单灵活。

nginx模块基本都是静态编译,同时对Fast-CGI支持比较好.在处理链接上,nginx支持epoll,而且体积小一般只有几百K。

Nginx的优点有以下几点:

1.作为Web服务器,nginx处理静态文件、索引文件以及自动索引效率非常高。

2.作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度。

3.作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器,对外进行服务。

同时支持简单的容错和利用算法进行负载均衡。

4.在性能方面,Nginx是专门为性能优化而开发的,在实现上非常注重效率。

它采用内核Poll模型,可以支持更多的并发连接,最大可以支持对50000个并发连接数的响应,而且占用很低的内存资源。

5.在稳定性方面,Nginx采取了分阶段资源分配技术,使得对CPU与内存的占用率非常低。

Nginx官方表示Nginx保持10000个没有活动的连接,这些连接只占2.5M内存,因此,类似DOS这样的攻击对Nginx来说基本上是没有任何作用的。

6.在高可用性方面,Nginx支持热部署,启动速度特别迅速,因此可以在不间断服务的情况下,对软件版本或者配置进行升级,即使运行数月也无需重新启动,几乎可以做到7×24小时的不间断运行。

一.2.Nginx工作原理以及工作模块介绍

Nginx的工作原理以及工作模块:

Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个locationblock(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。

Nginx的模块从结构上分为核心模块、基础模块和第三方模块,HTTP模块、EVENT模块和MAIL模块等属于核心模块,HTTPAccess模块、HTTPFastCGI模块、HTTPProxy模块和HTTPRewrite模块属于基本模块,而HTTPUpstreamRequestHash模块、Notice模块和HTTPAccessKey模块属于第三方模块,用户根据自己的需要开发的模块都属于第三方模块。

正是有了这么多模块的支撑,Nginx的功能才会如此强大。

Nginx的模块从功能上分为三类,分别是:

Handlers(处理器模块)。

此类模块直接处理请求,并进行输出内容和修改headers信息等操作。

handlers处理器模块一般只能有一个。

Filters(过滤器模块)。

此类模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出。

Proxies(代理类模块)。

就是Nginx的HTTPUpstream之类的模块

二、Linux系统安装

二.1.Linux前言

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的UNIX工具软件、应用程序和网络协议。

它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

CentOS是Linux发行版之一,它是来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。

由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。

VMwareWorkstation是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试、部署新的应用程序的最佳解决方案。

VMwareWorkstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。

二.2.安装VMwareWorkstation以及安装CentOS、secureCRT

参考有关教程

三、安装准备

三.1.关闭防火墙

在搭建lnmp环境之前,为了不受防火墙的影响,首先要关掉防火墙和selinux

一次性关掉selinux:

setenforce0

永久关掉selinux:

sed-i's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config

关掉防火墙:

serviceiptablesstop

三.2.安装基本软件包

[shell]#yuminstallvimgccgcc-c++makeopensslopenssl-develgd gd-develpcre-devel-y

在家目录新建一个softs文件,用于存放所有源代码

[shell]#mkdirsofts

[shell]#cdsofts

四、下载编译安装mysql

四.1.安装mysql所用到的工具包

[shell]#yuminstallcmakeperlbisonncurses-devel-y

添加mysql的用户和数据目录

[shell]#useradd-s/sbin/nologin-Mmysql

[shell]#mkdir-p/data/database/mysql

[shell]#chown-Rmysql:

mysql/data/database/mysql

四.2.下载编译安装mysql

[shell]#wget

[shell]#tarxvzfmysql-5.5.48-linux2.6-x86_64.tar.gz

[shell]#cdmysql-5.5.31

[shell]#cmake.\

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/\

-DMYSQL_DATADIR=/data/database/mysql\

-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DENABLED_LOCAL_INFILE=1\

-DMYSQL_TCP_PORT=3306\

-DEXTRA_CHARSETS=all\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock\

-DMYSQL_USER=mysql\

-DWITH_DEBUG=0\

-DENABLED_PROFILING:

BOOL=ON\

-DENABLE_DEBUG_SYNC:

BOOL=OFF\

-DMYSQL_MAINTAINER_MODE:

BOOL=OFF\

-DWITH_BIG_TABLES:

BOOL=ON\

-DWITH_FAST_MUTEXES:

BOOL=ON\

-DENABLE-PROFILING:

BOOL=ON\

-DWITH_SSL:

STRING=bundled\

-DWITH_UNIT_TESTS:

BOOL=OFF\

-DWITH_ZLIB:

STRING=bundled\

-DWITH_PARTITION_STORAGE_ENGINE:

BOOL=ON\

-DWITH_SERVER_SUFFIX=4399DB\

-DENABLED_ASSEMBLER:

BOOL=ON\

-DENABLED_LOCAL_IN\

-DENABLED_THREAD_SAFE_CLIENT:

BOOL=ON\

-DENABLED_EMBEDDED_SERVER:

BOOL=OFF\

-DCOMMUNITY_BUILD:

BOOL=ON;

[shell]#make-j4

[shell]#makeinstall

四.3.修改mysql配置文件

[shell]#chown-Rmysql:

mysql/usr/local/mysql/data

[shell]#cd/usr/local/mysql

[shell]#cpsupport-/etc/f

[shell]#ln-s/data/database/mysql/usr/local/mysql/var

[shell]# vim/etc/init.d/mysql

basedir=/usr/local/mysql

datadir=/data/mysql

四.4.生成初始数据库

[shell]#/usr/local/mysql/scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql--datadir=/data/database/mysql--defaults-

四.5.把mysql加入环境量并使其生效

[shell]#echo"exportPATH=$PATH:

/usr/local/mysql/bin">>/etc/profile

[shell]#source/e

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1