搭建 LNMP 架构

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 搭建 LNMP 架构

一  理论知识

(一)架构图

(二)CGI  由来

最早的Web服务器只能简单她响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html文件,但是后期随着网站功能增多网站开发也越来越复杂,以至于出现动态技术,比如像php(1995年)、java(1995)、python(1991)语言开发的网站,但是nginx/apache服务器并不能直接运行 php、java这样的文件,apache实现的方式是打补丁,但是nginx却通过与第三方基于协议实现,即通过某种特定协议将客户端请求转发给第三方服务处理,第三方服务器会新建新的洪程处理用户的遺求,处理完成后返回数据给Nginx并回收进程,最后nginx在返回给客户端,那这个约定就是通用网关接口(common gatewayinterface,简称CGI),CGI(协议)是web服务器和外部应用程序之间的接口标准,是cgi程序和web服务器之间传递信息的标准化接口。

(三)cgi  和fastcgi  区别

名称 在web服务器方面 在对数据进行处理的进程方面
cgi fork一个新的进程进行处理 读取参数,处理数据,然后就结束生命期
fastcgi 用tcp方式跟远程机子上的进程或本地进程建
立连接
要开启tcp端口,进入循环,等待数据的到来,处理数据

二,  搭建 LNMP 架构具体步骤

(一) 实验环境

准备安装 nginx mysql php 软件

(二)先装nginx

1, 先安装依赖包

2,创建程序用户

(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

3,解压 nginx 压缩包

4, ./configure  指明安装目录  和模块

5,make  make install    安装

6,让系统识别nginx的操作命令可以自动补全  

7,写 nginx 的systemctl 配置文件

8,systemctl 重新加载配置文件    加权限  开机自启

9,检测  nginx  正常

(三)编译安mysql

1,安装Mysql环境依赖包

2,解压 mysql  压缩包

3,  去到源码包   cmake 安装

4, make  make install  

有点慢   耐心等待

5,修改mysql 配置文件

6,更改mysql安装目录和配置文件的属主属组

7,设置路径环境变量

检查是否成功

8,初始化数据库

9,  添加mysqld系统服务

10  修改mysql 的登录密码

给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可

11, 授权远程登录

(四) 编译安装php软件

1,安装环境依赖包

2,去到opt 解压php 压缩包

3, 去到php  源码包   ./configure

4,  make  make install

(此过程较长 可耐心等候  建议用多核编译  如make  -j4)

make  -j4 后    他会建议你测试   这个会有很多时间

这边我们不听建议    直接make install

5,路径优化

6,  调整PHP配置文件

php有三个配置文件:

php.ini            主配置文件  

php-fpm.conf    进程服务配置文件

www.conf        扩展配置文件

6.1  调整主配置文件

tips: 配置文件很长   可以set nu  显示行号

再/  搜索指定内容             想要跳到某一行 比如1170行   1170G

6.2  调整扩展配置文件

6.3  调整扩展配置文件

7, 启动php-fpm

#PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。

8, 把 php-fpm  交给system 管理

(五)配置 Nginx 支持 PHP 解析

1, 改主配置文件

将65 到71行取消注释

/usr/local/nginx/html$fastcgi_script_name;    

将第69行     /scripts 修改为nginx的工作目录

将45行   默认文件格式 加上  index.php

2, 重启 nginx

3,  验证PHP 测试页

客户机访问php  测试页

(六)验证数据库工作是否正常

1,登录数据库

2,新建数据库用户,授权

新建数据库用户 bbsuser  密码是 admin123,并且授权bbsuser 可以 访问 bbs 数据库中的所有资源

3,  替换原来的测试页内容

vim /usr/local/nginx/html/index.php  

4,客户机再次访问  测试页  出现access  即为成功

(七)安装论坛

1,解压  Discuz 压缩包

(这是社区论坛的web应用)

2, 复制论坛目录

3,调整论坛目录的权限

标出来的都要可写 可执行

4, 论坛安装

http://192.168.217.99/bbs/install/index.php

5  跟着步骤安装

5.1

5.2

5.3

注意:本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号

5.4 安装成功  以管理员身份登录

(八)安装博客

1,解压 博客的压缩包

2, 把博客 放到nginx 主页面,拉权限

3, 再建一个数据库账户

4, 访问安装主页面 开始安装

4.1  出现报错

4.2  去到  nginx 主页面下的  wordpress  按照指导手写一个配置文件

4.3   继续安装

4.4 成功

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
运维 负载均衡 关系型数据库
【运维知识进阶篇】用Ansible Roles重构LNMP架构(Linux+Nginx+Mariadb+PHP),实现4个项目一键部署
【运维知识进阶篇】用Ansible Roles重构LNMP架构(Linux+Nginx+Mariadb+PHP),实现4个项目一键部署
162 0
|
12月前
|
关系型数据库 MySQL Linux
Linux环境下LNMP架构实战案例
Linux环境下LNMP架构实战案例
|
运维 负载均衡 关系型数据库
【运维知识进阶篇】Ansible实现一套完整LNMP架构
【运维知识进阶篇】Ansible实现一套完整LNMP架构
256 0
|
关系型数据库 MySQL 应用服务中间件
Linux巩固篇020-Linux LNMP 架构部署动态网站环境
纸上得来终觉浅,绝知此事要躬行
204 0
|
关系型数据库 MySQL 应用服务中间件
传统IT架构---LNMP
LNMP 是一套技术的组合, L=Linux、 N=Nginx、 M=MySQL、 P=PHP
|
关系型数据库 MySQL 应用服务中间件
一键部署 LNMP 架构
一、将安装包传到/opt/目录下 nignx安装包:nginx-1.12.2.tar.gz mysql安装包:mysql-boost-5.7.20.tar.gz php安装包:php-7.1.10.tar.bz2
113 0
|
安全 关系型数据库 MySQL
LNMP架构的部署注意事项| 学习笔记
快速学习LNMP架构的部署注意事项。
200 0
LNMP架构的部署注意事项| 学习笔记
|
缓存 安全 前端开发
LNMP架构下WEB服务器如何管理及优化内存?
Ngnix+PHP-FPM的工作方式,似乎是LNMP架构最节省系统资源的工作方式。当然,具体的技术选型更多的应该参考自己想要实现的业务需求。
162 0
|
SQL 安全 关系型数据库
LNMP架构的部署注意事项
一、漏洞的威胁 二、案例
LNMP架构的部署注意事项
下一篇
无影云桌面