文章目录
前言
■ LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python
■LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构
■Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等
■Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器
■MySQL是一个小型关系型数据库管理系统
■PHP是一种在服务器端执行的嵌入HTML文档的脚本语言
■这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
一、LNMP架构的部署
1.1、LNMP架构概述
■LNMP平台就是 Linux、 Ngnix、 MySQL、PHP的组合架构,需要 Linux服务器、MySQL数据库、PHP解析环境
■Ngnix特长:高并发,低资源,处理静态网络访问请求非常强
■Apache:静态处理和动态处理都可以做,更适合做动态处理
■Nginx将动态资源请求交给PHP当中的fpm处理动态请求
■PHP主配置文件:php.ini
■Nginx将动态资源分配给FPM或Apache
1.2、MySQL安装配置
■为了与 Nginx、PHP环境保持一致,此处选择采用源代码编译的方式安装 My SQL组件
■MySQL部署的方法
■编译安装 MySQL
■优化调整初始化数据库
■启动mysq服务并设置root数据库账号的密码
1.3、PHP解析环境的安装
■配置网页动静分离,解析PHP,有两种方法可以选择
- 使用PHP的FPM模块
- 将访问PHP页面的Web请求转交给 Apache服务器去处理
■较新版本的PHP已经自带FPM模块,用来对PHP解析实例进行管理、优化解析效率
- FastCG将 Http Server和动态脚本语言分离开
- Nginx专门处理静态请求,转发动态请求
- PHP FPM专门解析PHP动态请求
- 单服务器的LNMP架构通常使用FPM的方式来解析PHP
■PHP编译安装步骤
- 编译安装PHP
- 编译选项时添加"- enable-fpm”以启用此模块
- 安装后的调整,主要是配置文件的建立与相应命令工具的路径优化
1.4、配置Ngnx支持PHP环境
■调用本机的php-fpm进程配置方法
- 建立FPM配置文件php- fpm. conf,修改配置选项,如:PD文件运行用户、服务进程数等
- 启动php-pm进程
- 在Ngnx的配置文件中的 serve}配置段配置将PHP的网页请求转给FPM模块处理
- 在Ngnx的配置文件中的 Server{}配置段配置将PHP的网页请求转给FPM模块处理
二、Nginx服务搭建
注: 详细过程可以参照上上篇博客
三、搭建mysql数据库
(1)安装mysql环境依赖包
[root@localhost ~]# yum -y install \
> ncurses \ ###字符终端的包,方便终端操作
> ncurses-devel \
> bison \ ###函数库
> cmake ###没有configure,使用cmake
[root@localhost ~]# useradd -s /sbin/nologin mysql ###创建用户
(2)cmake配置和编译安装
'###将所需压缩包传入/opt目录下###'
[root@localhost ~]# cd /opt
[root@localhost opt]# tar xf mysql-boost-5.7.20.tar.gz
[root@localhost opt]# cd mysql-5.7.20/
[root@localhost mysql-5.7.20]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ ###安装路径
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ ###sock 通讯文件,连接数据库,通讯协议的载体
> -DSYSCONFDIR=/etc \ ###配置目录指向etc
> -DSYSTEMD_PID_DIR=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8 \ ###字符集
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \