搭建 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 成功

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB基于隐马尔可夫模型-高斯混合模型-期望最大化的MR图像分割

隐马尔可夫模型是一种统计模型,它描述了马尔可夫过程,隐马尔可夫过程中包含隐变量,语音识别和词性自动标注等一些领域常常使用隐马尔可夫模型方法来处理。马尔可夫过程是一类随机过程,马尔可夫链是它的原始模型,马尔可…

Vue开发实例(一)Vue环境搭建第一个项目

Vue环境搭建&第一个项目 一、环境搭建二、安装Vue脚手架三、创建Vue项目 一、环境搭建 下载方式从官网下载:http://nodejs.cn/download/ 建议下载v12.16.0版本以上的,因为版本低无法创建Vue的脚手架 检验是否安装成功 配置环境变量 新增NODE_HOME&…

2024最新算法:冠豪猪优化算法(Crested Porcupine Optimizer,CPO)求解23个基准函数(提供MATLAB代码)

一、冠豪猪优化算法 冠豪猪优化算法(Crested Porcupine Optimizer,CPO)由Mohamed Abdel-Basset等人于2024年提出,该算法模拟冠豪猪的四种不同保护机制:视觉、听觉、气味和物理攻击。第一和第二防御技术(视觉和听觉)反…

论文阅读-CheckFreq:频繁、精细的DNN检查点操作。

论文名称:CheckFreq: Frequent, Fine-Grained DNN Checkpointing. 摘要 训练深度神经网络(DNNs)是一项资源密集且耗时的任务。在训练过程中,模型在GPU上进行计算,重复地学习权重,持续多个epoch。学习到的权重存在GPU内存中&…

地图资源工具新增 GEDI 2A 数据下载

GEDI 2A 是指"Global Ecosystem Dynamics Investigation 2A",这是一项由美国宇航局 (NASA) 所发起的卫星任务。GEDI 2A 任务的目标是通过激光雷达技术来监测和理解全球生态系统的动态变化。该技术可以提供高精度的地形和植被结构数据,对于研究…

云上攻防-云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸

知识点 1、云原生-Docker安全-容器逃逸&内核漏洞 2、云原生-Docker安全-容器逃逸&版本漏洞 3、云原生-Docker安全-容器逃逸&CDK自动化 章节点: 云场景攻防:公有云,私有云,混合云,虚拟化集群&#xff0c…

CSM是什么意思?

CSM(Customer Service Management)是企业客户服务管理的信息化(IT)解决方案架构。本着以客户为中心的管理理念,搭建企业客户服务管理平台,实现企业以客户为中心的管理时代的竞争战略。 CSM的核心是以客户为中心,实现对…

【Pytorch、torchvision、CUDA 各个版本对应关系以及安装指令】

Pytorch、torchvision、CUDA 各个版本对应关系以及安装指令 1、名词解释 1.1 CUDA CUDA(Compute Unified Device Architecture)是由NVIDIA开发的用于并行计算的平台和编程模型。CUDA旨在利用NVIDIA GPU(图形处理单元)的强大计算…

Python3零基础教程之数学运算专题进阶

大家好,我是千与编程,今天已经进入我们Python3的零基础教程的第十节之数学运算专题进阶。上一次的数学运算中我们介绍了简单的基础四则运算,加减乘除运算。当涉及到数学运算的 Python 3 刷题使用时,进阶课程包含了许多重要的概念和技巧。下面是一个简单的教程,涵盖了一些常…

Http协议综述

目录 一.B/S架构 二.Http协议 1.概述 2.特点 3.请求数据格式 (1)请求头 (2)请求行 (3)请求体 4.相应数据格式 (1)相应行 (2)相应头 (…

Beans模块之工厂模块BeanClassLoaderAware

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

【HTML】HTML基础5(特殊字符)

目录 特殊字符的作用 常用的特殊字符 使用效果 特殊字符的作用 例如 当我在两个文字间打出空格时 <p>“银河护卫队”系列 在漫威电影宇宙中一直是异数般的存在&#xff0c;不仅因为影片主角是一群反英雄&#xff0c;<strong>与超级英雄相比显得格格不入<…

【软考】数据库的三级模式

目录 一、概念1.1 说明1.2 数据库系统体系结构图 二、外模式三、概念模式四、内模式 一、概念 1.1 说明 1.数据的存储结构各不相同&#xff0c;但体系结构基本上具有相同的特征&#xff0c;采用三级模式和两级镜像 2.数据库系统设计员可以在视图层、逻辑层和物理层对数据进行抽…

从零开始:开发家政预约APP的技术指南

当下&#xff0c;家政预约APP成为了人们解决家务需求的便捷工具。本文将为您提供一份从零开始的技术指南&#xff0c;帮助您了解开发家政预约APP所需的关键技术和步骤。 一、确定功能需求 -用户注册与登录 -家政服务分类与浏览 -预约服务与支付 -评价与反馈 -定位与导航 …

Unity - 相机画面为黑白效果

一、 在Hierarchy中创建一个Global Volume,并设置它为局部作用 二、 将场景出现的作用域范围缩小至相机所在位置&#xff0c;将相机包含即可。 三、添加覆盖组件Color Adjustments,并将Saturation直接拉为-100 。 此时&#xff0c;相机拍摄画面为黑白&#xff0c;场景视图中…

Python中调试 requests模块时出现的大坑(2)

为防止迷路: 学习机械相关,请关注公众号:南大盛联 学习软件,硬件,请关注公众号:一训微课 文件名命名不当导致的坑,是不是太坑人了,是的! 刚开始怀疑软件,怀疑平台,怀疑自己的代码 平台:pychar 运行结果: 很奇怪! 没有删除上面文件的情况下 新建re1.py

.net 在ubuntu下动态写入 中文字乱码 解决:ubuntu下添加中文字库

.net 在ubuntu下动态写入图片水印 中文字乱码 解决&#xff1a;ubuntu下添加中文字库 1.安装字体命令 sudo apt install -y fontconfig2.查看已安装的字体 &#xff08;1&#xff09;查看linux已安装字体 fc-list&#xff08;2&#xff09;查看linux已安装中文字体 fc-li…

(六)Dropout抑制过拟合与超参数的选择--九五小庞

过拟合 即模型在训练集上表现的很好&#xff0c;但是在测试集上效果却很差。也就是说&#xff0c;在已知的数据集合中非常好&#xff0c;再添加一些新数据进来效果就会差很多 欠拟合 即模型在训练集上表现的效果差&#xff0c;没有充分利用数据&#xff0c;预测准确率很低&a…

ctf_show笔记篇(web入门---文件包含)

目录 文件包含 78-79&#xff1a;最基础的文件包含&#xff0c;使用伪协议&#xff0c;大小写绕过或者通配符绕过&#xff0c;再或者使用其他方法 ​编辑80-81&#xff1a;可采用日志文件绕过或者大小写绕过&#xff08;81只能日志文件绕过&#xff09; ####80-86&#xff1…

Julia语言中的关系运算符和逻辑运算符,案例:学生成绩评价系统、猜拳游戏

逻辑运算符 在这里利用三门逻辑写一个猜拳游戏 function gaygay_play() # 定义游戏规则 function judge(player, computer) if player computer return "平局!" elseif (player "scissors" && computer "paper") || (player …