搭建 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服务器方面在对数据进行处理的进程方面
cgifork一个新的进程进行处理读取参数,处理数据,然后就结束生命期
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 成功

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/716433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++阶梯之模板初阶

1. 泛型编程 void Swap(int& x, int& y) {int tmp x;x y;y tmp; }void Swap(double& x, double& y) {double tmp x;x y;y tmp; }void Swap(char& x, char& y) {char tmp x;x y;y tmp; } int main() {int a 10, b 20;double c 1.1, d 2.2…

《Spring Security 简易速速上手小册》第7章 REST API 与微服务安全(2024 最新版)

文章目录 7.1 保护 REST API7.1.1 基础知识详解7.1.2 重点案例:使用 JWT 进行身份验证和授权案例 Demo 7.1.3 拓展案例 1:API 密钥认证案例 Demo测试API密钥认证 7.1.4 拓展案例 2:使用 OAuth2 保护 API案例 Demo测试 OAuth2 保护的 API 7.2 …

linux安装matlab获取许可证

1.点击许可证 2. 3. 4. 4.主机ID 打开linux输入 /sbin/ifconfigether后边的就是 6.计算机登录名 打开linux输入 whoami7. 8. 9.

(规划)24届春招和25届暑假实习路线准备规划

春招&&暑假实习: 1.八股: 可以去一些八股网站上面进行阅读。 2.项目:至少准备1-2个项目,可以条理清晰的进行项目介绍和难点剖析。 3.算法: hot100 ,剑指offer 能刷的很熟,算法关就差…

我的相关奖项

博士录取证明 名单第53:https://yzb.bupt.edu.cn/content/content.php?p2_2_651 论文链接 第一篇:https://doi.org/10.1186/s13677-022-00373-8 第二篇:https://doi.org/10.1016/j.ipm.2022.103167 第三篇:https://doi.org/10…

Unity 脚本-生命周期常用函数

在Unity中,万物皆是由组件构成的。 右键创建C#脚本,拖动脚本到某物体的组件列表。 生命周期相关函数 using System.Collections; using System.Collections.Generic; using UnityEngine;// 必须要继承 MonoBehaviour 才是一个组件 // 类名…

matplotlib——散点图和条形图(python)

散点图 需求 我们获得北京2016年三月和十月每天白天最高气温,我们现在需要找出气温随时间变化的某种规律。 代码 # 导入库 from matplotlib import pyplot as plt import random# 解决中文乱码 import matplotlib matplotlib.rc("font",family"F…

领域驱动设计(Domain-Driven Design DDD)——战略设计1

一、概述 随着系统的增长,它会越来越复杂,当我们无法通过分析对象来理解系统的时候,就需要掌握一些操纵和理解大模型的技术了。 最负雄心的企业欲实现一个涵盖所有业务、紧密集成的系统。因大型公司的业务模型巨大且复杂,很难把它…

springboot236基于springboot在线课程管理系统的设计与实现

基于SpringBoot在线课程管理系统的设计与实现 摘要 本文首先介绍了在线课程管理系统的现状及开发背景,然后论述了系统的设计目标、系统需求、总体设计方案以及系统的详细设计和实现,最后对在线课程管理系统进行了系统检测并提出了还需要改进的问题。本系…

echarts vue 动画效果的水球图、波浪图教程

1、安装插件 前提是已经安装了echarts(我的版本是4.2.1) npm install echarts-liquidfill --save 我安装了3.1.0版本的,结果运行时报错"TypeError: wave.ensureState is not a function" 原因:echarts版本和echarts-l…

miniconda3彻底删除虚拟环境

退出虚拟环境:确保您不在要删除的虚拟环境中。如果在,使用命令 conda deactivate 来退出当前激活的虚拟环境。查看虚拟环境列表:运行命令 conda env list 或 conda info -e 来查看所有存在的虚拟环境及其路径。删除虚拟环境:使用命…

在VMware中安装CentOS 7并配置Docker

VMware安装CentOS 7 一、介绍 该文章介绍如何使用启动U盘在虚拟机里面安装系统,虚拟机版本为VMware Workstation 16 pro,Linux版本为CentOS Linux release 7.9.2009 (Core)。 二、安装 1、创建虚拟机 点击创建新的虚拟机 选择典型就可以了&#xf…

前缀和算法题(区间次方和、小蓝平衡和、大石头的搬运工、最大数组和)

一、前缀和的原理和特点 prefix表示前缀和,前缀和由一个用户输入的数组生成。对于一个数组a[](下标从1开始),我们定义一个前缀和数组prefix[],满足: prefix有一个重要的特性,可以用于快速生成p…

WordPress建站入门教程:如何安装本地WordPress网站运行环境?

有些站长想要搭建WordPress网站,又担心自己玩不转,白白浪费购买域名和主机空间的费用。像这种情况,最好的做法就是在自己电脑上安装一个WordPress网站运行环境,然后在本地电脑搭建WordPress,等熟悉掌握后再考虑购买域名…

多输入多输出 | MATLAB实现GWO-Elman灰狼优化循环神经网络多输入多输出预测

多输入多输出 | MATLAB实现GWO-Elman灰狼优化循环神经网络多输入多输出预测 目录 多输入多输出 | MATLAB实现GWO-Elman灰狼优化循环神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现GWO-Elman灰狼优化循环神经网络多输入多输出…

如何在电脑上中恢复已删除的视频

您可以在电脑中恢复已删除的视频,无需任何繁琐的工作。您所需要做的就是阅读本文,了解恢复已删除视频的最佳方法。 一次错误的点击可能会夺走您以视频形式存储的宝贵记忆。嗯,有些视频不适合删除,您希望永远保留它们。失去这些宝…

如何使用Docker搭建StackEdit编辑器并结合内网穿透实现远程办公

文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安装VNC viewer连接工具4. 内网穿透4.1 安装cpolar【支持使用一键脚本命令安装】4.2 创建隧道映射4.3 测试公网远程访问 5. 配置固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址5.3 测试…

优选算法|【双指针】|1089.复写零

目录 题目描述 题目解析 算法原理讲解 代码 题目描述 1089. 复写零 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就…

LeetCode受限条件下可到达节点的数目

题目描述 现有一棵由 n 个节点组成的无向树,节点编号从 0 到 n - 1 ,共有 n - 1 条边。 给你一个二维整数数组 edges ,长度为 n - 1 ,其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 之间存在一条边。另给你一个整数数组 restr…

OJ:移除链表元素

203. 移除链表元素 - 力扣(LeetCode) 思路:这个题可以直接在原链表上进行修改,但是修改链表的指向是有点麻烦的,所以我们给两个指针,phead和ptail,这是新链表的两个指针,再给一个指针pcur来遍历…