前言
-
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是一个小型关系型数据库管理系统。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
一:LNMP架构的部署(理论)
1.1:LNMP架构概述
-
LNMP平台就是 Linux、 Ngnix、 My SQL、PHP的组合架构,需要 Linux服务器、MysαL数据库、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”以启用此模块
- 安装后的调整,主要是配置文件的建立与相应命令工具的路径优化
- 安装 Zend Guardloader(提高PHP解析效率),并进行加载配置
- CGI还有跨平台的功能
1.4:配置Ngnx支持PHP环境
-
调用本机的php-fpm进程配置方法
-
建立FPM配置文件php- fpm. conf,修改配置选项,如:PD文件运行用户、服务进程数等
-
启动php-pm进程
-
-
在Ngnx的配置文件中的 serve}配置段配置将PHP的网页请求转给FPM模块处理
-
在Ngnx的配置文件中的 Server{}配置段配置将PHP的网页请求转给FPM模块处理
[root@localhost~]# vim /usr/local/nginx/conf/nginx. conf Servert{ ... location ~\.php${ root /var/www/kgc; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; ...
1.5:常见的PHP开源产品介绍
-
Discuz!
-
康盛创想(北京困技有限公司推出的一套通用的社区论坛软件系统,如001年6月面世以来,是全球成熟度最高、覆盖率最大的论坛