LNMP架构(1)——nginx,mysql,php源码安装

一,LNMP

LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

  1. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
  2. Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
  3. Mysql是一个小型关系型数据库管理系统。
  4. PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
    这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

二,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架构的优点

  • 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
  • 作为负载均衡服务器:Nginx 既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
  • 作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
  • Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。

四,MYSQL的源码安装

1.虚拟机设置
推荐使用20G硬盘,2048Mb内存,2核CPU,这样安装起来稍微快一点
2.官网下载安装包
安装包我们可以去官网下载安装包,而我们在这里选择比较稳定的mysql5.7版本的安装包
在这里插入图片描述
3.创建lnmp架构的目录,并解压mysql安装包
在这里插入图片描述
4.下载安装时需要的依赖性与安装包

yum install gcc gcc-c++ ncurses-devel bison -y
yum install cmake-2.8.12.2-4.el6.x86_64.rpm  -y

在这里插入图片描述
在这里插入图片描述
注意,下载cmake时我们需要有它的安装包
5.编译

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=boost/boost_1_59_0/

在这里插入图片描述

在这里插入图片描述
6.安装

make && make install

在这里插入图片描述
7.添加mysql用户及用户组
在这里插入图片描述
8.配置mysql环境变量

vim ~/.bash_profile

在这里插入图片描述
在这里插入图片描述
9.配置mysql配置文件
在这里插入图片描述
在这里插入图片描述
注意:这里的三行分别是mysql的目录,数据目录和套接字
在这里插入图片描述
10.制作mysql服务的启动脚本
在这里插入图片描述
11.初始化
在这里插入图片描述
这里的生成的初始密码一定要保存好,因为等下重置密码还要用
在这里插入图片描述
12.mysql安全初始化
在这里插入图片描述
我们的安全初始化只用修改密码即可,其他的全部回车默认就好
13.尝试登陆mysql
在这里插入图片描述

5.PHP源码安装

1.获取php源码安装包
大家可以选择在官网下载正规的源码安装包,我在这里已经有下载好的安装包
在这里插入图片描述
2.下载安装php所需要的依赖性

yum install -y net-snmp-devel libmcrypt-* gmp-devel-4.3.1-7.el6_2.2.x86_64 freetype-devel 2:libpng-devel-1.2.49-1.el6_2.x86_64 libjpeg-turbo-devel-1.2.1-1.el6.x86_64 libcurl-devel openssl-devel libxml2-devel

在这里插入图片描述
3.解压安装包
在这里插入图片描述
4.编译

./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp --with-gettext --with-pear --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash

在这里插入图片描述
5.安装make && make install
在这里插入图片描述
6.复制php配置文件模版,并配置,添加nginx用户
在这里插入图片描述
修改配置文件,删除其25行的分号
在这里插入图片描述
在这里插入图片描述
7.复制php主配置文件模版,修改时区
在这里插入图片描述
在这里插入图片描述
8.配置php服务启动脚本
在这里插入图片描述
9.启动php
在这里插入图片描述

六,nginx源码安装

1.下载所需的安装包
在这里插入图片描述
需要注意的是小编这里的版本比较低,大家可以选择高版本的进行安装
2.解压安装包
在这里插入图片描述
4.安装依赖性
在这里插入图片描述
5.编译的两个配置修改
在这里插入图片描述
在这里插入图片描述
关掉调试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关闭nginx的版本号显示
6.编译

./configure --prefix=/usr/local/lnmp/nginx --with-threads --with-file-aio --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx

在这里插入图片描述
在这里插入图片描述
编译时的三数我们可以根据我们所需要的功能来添加即可,若要查看功能模块则./configure --help查看
7.安装make && make install
在这里插入图片描述
8.编辑nginx的配置文件
在这里插入图片描述
在这里插入图片描述
我们在前两行修改了用户和nginx工作的进程数,它核cpu的核数是相同的,我们可以设置为auto(直接同步cpu核数)
在这里插入图片描述
让nginx可以处理.php文件
在这里插入图片描述
开启php
9,制作nginx的开启快捷方式(软连接)
在这里插入图片描述

nginx -t 	nginx语法检测
nginx -V 	nginx的配置模块查看
nginx -s stop	停止nginx
nginx -s reload	重新加在nginx
nginx	启动nginx

在这里插入图片描述
在这里插入图片描述
10.测试nginx
在这里插入图片描述
书写一个php默认发布界面
在这里插入图片描述
在这里插入图片描述
浏览器测试
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42446031/article/details/89671139