web集群学习:搭建 LNMP应用环境

目录

LNMP的介绍:

LNMP组合工作流程:

FastCGI介绍:

[1、什么是 CGI](#1、什么是 CGI)

[2、什么是 FastCGI](#2、什么是 FastCGI)

配置LNMP

1、部署LNMP环境

2、配置LNMP环境


LNMP的介绍:

随着 Nginx Web 服务的逐渐流行,又岀现了新的 Web 服务环境组合---LNMP或LEMP,其中 LNMP 为 Linux 、Nginx、MySQL、PHP 等首字母的缩写, 而 LEMP中的E则表示Nginx,它取 自 Nginx 名字的发音( engine X )。 现在,LNMP 已经逐渐成为国内大中型互联网公司网站的主流组合环境, 因此, 我们必须熟练掌握 LNMP环境的搭建、 优化及维护方法。

LNMP组合工作流程:

当 LNMP 组合工作时, 首先是用户通过浏览器输人域名请求 Nginx Web 服务,如果请求是静态资源, 则由 Nginx 解析返回给用户; 如果是动态请求( .php 结尾 ), 那么Nginx 就会把它通过 FastCGI 接口( 生产常用方法)发送给 PHP 引擎服务( FastCGI 进程php-fpm ) 进行解析, 如果这个动态请求要读 取数据库数据, 那么 PHP 就会继续向后请求 MySQL 数据库, 以读取需要的数据, 并最终通过 Nginx 服务把获取的数据返回给用户, 这就是 LNMP 环境的基本请求顺序流程 。

FastCGI介绍:

1、什么是 CGI

CGI 的全称为 "通用网关接口"( Common Gateway Interface ), 为 HTTP 服务器与其他机器上的程序服 务通信交流的一种工具, CGI 程序须运行在网络服务器上。传统 CGI 接口方式的主要缺点是性能较差, 因为每次 HTTP 服务器遇到动态程序时都需要重新启动解析器来执行解析, 之后结果才会被返回给 HTTP 服务器。 这在处理高并发访问时几乎是不可用的, 因此就诞生了 FastCGI。 另外, 传统的 CGI 接口方式安全性也很差, 故而现在已经很少被使用了。

2、什么是 FastCGI

FastCGI 是一个可伸缩地、 高速地在 HTTP 服务器和动态脚本语言间通信的接口( 在 Linux 下, FastCGI 接口即为 socket, 这个 socket 可以是文件 socket, 也 可 以 是 IP socket ), 主要优点是把动态语言和 HTTP 服务器分离开来。 多数流行的 HTTP 服务器都支持 FastCGI, 包括 Apache 、 Nginx 和 Lighttpd 等。

配置LNMP

1、部署LNMP环境

安装国内的epel:

复制代码
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

部署LNMP环境:

复制代码
yum install nginx mariadb-server php php-mysql php-gd php-fpm -y

2、配置LNMP环境

数据库:

复制代码
mysql -e 'create database wordpress charset utf8'
mysql -e 'grant all on wordpress.* to wordpress@localhost identified by "123456"'

php-fqm:

复制代码
server { 
    listen       80; 
    server_name  localhost; 
 
    location / { 
        root   /usr/share/nginx/html; 
        index  index.html index.php index.htm; 
    } 

 location ~ \.php$ { 
        root           /usr/share/nginx/html; 
        fastcgi_pass   127.0.0.1:9000; 
        fastcgi_index  index.php; 
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        include        fastcgi_params; 
    } 

测试nginx和php协同:

复制代码
[root@node1 conf.d]# echo "<?php phpinfo(); ?>" >/usr/share/nginx/html/test.php
[root@node1 conf.d]# systemctl restart nginx

浏览器访问:ip地址/test.php

测试mysql和php协同:

下载好下载 WordPress 的压缩包文件:wordpress-4.8-zh_CN.tar.gz

解压到nginx默认的HTML测试页面

复制代码
tar xf wordpress-4.8-zh_CN.tar.gz -C /usr/share/nginx/html/

启动环境:

复制代码
systemctl restart nginx mariadb php-fpm

浏览器访问:ip地址/wordpress,并根据提示部署

相关推荐
ElevenS_it18811 小时前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
半夜燃烧的香烟16 小时前
docker 安装minio nginx,配置nginx根据文根路由minio展示图片
java·nginx·docker
火山上的企鹅18 小时前
Codex实战:APP远程升级服务搭建(二)阿里云ECS部署Node升级服务_Ubuntu_systemd_Nginx
nginx·ubuntu·阿里云·qgc
難釋懷18 小时前
Nginx-UpStream工作流程
运维·nginx
難釋懷19 小时前
Nginx-AB安装
运维·nginx
回忆2012初秋1 天前
【Nginx】原理、配置与运维实战(2)
运维·nginx·策略模式
阿豪啊1 天前
记一次 Nginx 跨域配置踩坑与优化:从嵌套 If 报错到 Map 指令最佳实践
nginx
成为你的宁宁2 天前
【Prometheus Operator监控K8S Nginx】
nginx·kubernetes·prometheus
abcy0712132 天前
centos7 nginx代理kafka集群
nginx
難釋懷2 天前
Nginx对上游服务器使用keepalive
服务器·nginx·github