Debian LNMP架构的简单配置使用

一、LNMP简介

Linux+Nginx+Mysql+PHP组成的网站架构,常用于中小型网站服务。

二、环境

Debian 6.1.27-1kali1 (2023-05-12)

Nginx/1.22.1

10.11.2-MariaDB(mysql)

PHP 8.2.7 

(Debian 6.1.27包含以上包,直接使用即可)

三、Nginx使用
1、服务开启

systemctl start nginx

浏览器输入主机ip直接访问默认页面

2、配置文件

Nginx配置文件在/etc/nginx/目录下,nginx_conf下有events 、http、mail数据块,mail一般不用所以注销掉了

这里讲下主进程号、日志文件和server块配置;

主进程号=> pid /run/nginx.pid

 

日志文件就access.log(服务日志),error.log(错误日志),在/var/log/nginx目录下

server块主要作用于虚拟主机配置,http块内没有server块 ,在/etc/nginx/sites-enabled/default文件里配置

含监听端口,默认页面配置

root /var/www/html 可以自定义,主页面index.html也可自定义

这里自定义如下:

root /var/www/html/shiyan

mkdir /var/www/html/shiyan

cd /var/www/html/shiyan

vi index.html

重新访问发现页面发生变化(配置修改,服务需要重启)

 

 四、php使用

1、安装php-fpm

安装的Debian自带php8.2,但是查询没有安装php-fpm,所以自行安装。

apt-cache search php*8.2 | grep fpm        --查询需安装的包名称

apt-get install php8.2-fpm       

启动php-fpm服务

systemctl start php8.2-fpm

2、配置nginx服务server块

vi /etc/nginx/sites-enabled/default

 默认注释,去掉注释“#”就行,注意fastcgi_pass参数只能选一种且需与php-fpm配置一致;

fastcgi_pass参数代表nginx与php-fpm进程通信方式:

--不经过网络,只能用于nginx和php-fpm在同一服务器的场景

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

--通过tcp协议,支持跨服务器

fastcgi_pass 127.0.0.1:9000;

php-fpm配置文件

主:/etc/php/8.2/fpm/php8.2-fpm.conf     

子:  /etc/php/8.2/fpm/pool.d/www.conf

查看php-fpm配置 /etc/php/8.2/fpm/pool.d/www.conf 默认是采用第一种通信方式

两种参数都尝试下 

1>fastcgi_pass unix:/run/php/php8.2-fpm.sock;

创建一个简单测试php文件,看能否正常展示

vi /var/www/html/test.php

<?php

echo "This is a test!";

重启nginx服务,浏览能输入【ip】/test.php测试

这个时候能看到,php-fpm服务启动没有网络连接,端口开放

 2>fastcgi_pass 127.0.0.1:9000;

需要将php-fpm配置文件修改

; listen = /run/php/php8.2-fpm.sock        注释掉

换成tcp通信,与nginx配置文件(sites-enabled/default)fastcgi_pass 保持一致

 listen = 127.0.0.1:9000       

重启nginx,php8.2-fpm服务,这时查看tcp监听服务有php8.2-fpm

 测试的php文件也正常解析并能访问。

注:php-fpm日志文件在/var/log/php8.2-fpm.log,php-fpm启动不起来,可以从日志里看报错信息

 五、Mysql

Debian6.1.27-1kali1自带MySQL数据库

systemctl start mysql

mysql -u root -p 

自带的默认登陆不需要密码,直接回车

设置密码并将其配置为需要密码认证

alter user 'root'@'localhost' IDENTIFIED BY 'password';        password<=自定义密码

1、创建数据库实例便于测试

CREATE DATABASE test;

user test;

CREATE TABLE `country` (
  `id` int(11) NOT NULL,
  `name` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

insert into country values (1,'beijing'),(2,'shanghai');


CREATE USER 'guest'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON test.* TO 'guest'@'localhost';
FLUSH PRIVILEGES;
EXIT;
2、配置nginx代理

vi /etc/nginx/sites-available/default,添加如下配置

procy_pass为数据库开放端口

 

3、编写测试php文件

vi index.php

 重启nginx服务,浏览器访问,country表数据正常显示

 

五、总结

LNMP架构简单的搭建测试就完成了,Debian 6.1.27系统都包含这些包确实方便,但相应版本都较为高级,许多书籍以及网上教程都是针对一些旧版本的,配置文件都较为老久,所以好多配置都需要自己去理解去摸索,通过一遍遍的探测才知道每条配置的作用。每次服务启动失败的时候时是非常痛苦的,日志文件和配置文件是必看的,只有通过这两个才知道哪里部署有问题。

六、参考文献

1、《零基础Linux从入门到精通》--零壹快学 

2、https://www.cnblogs.com/leon2659/p/9409151.html

3、2019-02-14笔记—php-fpm配置_ai_benwoniu的博客-CSDN博客

4、nginx怎么配置mysql数据库_mob649e8167c4a3的技术博客_51CTO博客​​​​​​

5、解决Mariadb无密码也可以登录的问题_mariadb无密码登录_AmandaTai的博客-CSDN博客

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

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

相关文章

爬虫003_pycharm的安装以及使用_以及python脚本模版设置---python工作笔记021

这里我们用ide,pycharm来编码,看一看如何下载 这里我们下载这个社区办,这个是免费的,个人版是收费的 然后勾选以后 安装以后我们来创建一个项目 这里可以选择python的解释器,选择右边的... 这里我们找到我们自己安装的python解释器

sql server导入.back文件

使用SQL server官方的连接工具 SQL server Management studio 有两种方式 第一种&#xff1a; 前提是&#xff0c;提前知道数据库名称&#xff0c;建好数据库 以数据库 TEST为例子 右键数据库选型&#xff0c;选择新建数据库 输入数据库名字&#xff0c;点击确定 创建完成之…

python爬虫(一)_爬虫原理和数据抓取

关于Python爬虫&#xff0c;我们需要学习的有&#xff1a; Python基础语法学习(基础知识)HTML页面的内容抓取(数据抓取)HTML页面的数据提取(数据清洗)Scrapy框架以及scrapy-redis分布式策略(第三方框架)爬虫(Spider)、反爬虫(Anti-Spider)、反反爬虫(Anti-Anti-Spider)之间的斗…

【设计模式】观察者设计模式解析

目录 一、观察者模式定义 二、观察者模式角色 三、观察者模式类图 四、观察者模式实例 五、观察者模式优缺点 5.1、优点 5.2、缺点 六、观察者模式应用 6.1、Spring 中观察者模式的四个角色 6.2、coding~~~~~~ 一、观察者模式定义 观察者模式(Observer Pattern)&#…

【MySQL基础】

目录 一、概述 1.什么是数据库 2.数据库能干什么 2.1 企业应用 2.2 金融行业 2.3 电子商务 2.4 社交媒体 2.5物联网 3.为什么要用数据库&#xff0c;优势、特性&#xff1f; 3.1 可靠性和稳定性 3.2 数据管理能力 3.3 数据共享和集成 3.4 数据安全性和隐私保护 3…

使用langchain与你自己的数据对话(三):检索(Retrieval)

之前我已经完成了使用langchain与你自己的数据对话的前两篇博客&#xff0c;还没有阅读这两篇博客的朋友可以先阅读一下&#xff1a; 使用langchain与你自己的数据对话(一)&#xff1a;文档加载与切割使用langchain与你自己的数据对话(二)&#xff1a;向量存储与嵌入 今天我们…

vue2+wangEditor5富文本编辑器(图片视频自定义上传七牛云/服务器)

1、安装使用 安装 yarn add wangeditor/editor # 或者 npm install wangeditor/editor --save yarn add wangeditor/editor-for-vue # 或者 npm install wangeditor/editor-for-vue --save在main.js中引入样式 import wangeditor/editor/dist/css/style.css在使用编辑器的页…

java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法

文章目录 一、记录文件相关操作方法二、代码1.读取路径返回List\<File>2.读取路径返回List\<String>3.删除文件夹4.删除文件 一、记录文件相关操作方法 二、代码 1.读取路径返回List<File> import org.slf4j.LoggerFactory; import org.slf4j.Logger;impo…

【Rust笔记】意译解构 Object Safety for trait

意译解构Object Safety for trait 借助【虚表vtable】对被调用成员函数【运行时内存寻址】的作法允许系统编程语言Rust模仿出OOP高级计算机语言才具备的【专用多态Ad-hoc Polymorphism】特性。 计算机高级语言中的“多态”术语是一个泛指。它通常可被细化为 基于继承关系的“子…

QPoint、QLine、QSize、QRect

QPoint、QLine、QSize、QRect QPointQLineQSizeQRect QPoint // 构造函数 // 构造一个坐标原点, 即(0, 0) QPoint::QPoint(); // 参数为 x轴坐标, y轴坐标 QPoint::QPoint(int xpos, int ypos);// 设置x轴坐标 void QPoint::setX(int x); // 设置y轴坐标 void QPoint::setY(in…

性能测试 Linux 环境下模拟延时和丢包实现

在性能测试过程中&#xff0c;我们还需要模拟网络异常的情况下&#xff0c;是否会出现一些异常数据。最常见的就是写库操作&#xff0c;比如说我们下单的场景&#xff0c;如果出现网络异常的时候是否会出现数据对不上这种情况。 如我们JMeter发送成功的请求数量和最终数据库表…

向量vector与erase()

运行代码&#xff1a; //向量vector与erase() #include"std_lib_facilities.h" //声明Item类 struct Item {string name;int iid;double value;Item():name(" "),iid(0),value(0.0){}Item(string ss,int ii,double vv):name(ss),iid(ii),value(vv){}frien…

将AWS S3大文件文件上传相关的API集成为js文件,功能包括 多文件并行上传、文件分片上传、断点续传、文件分片合成、上传暂停、取消上传、文件上传进度条显示

地址 https://github.com/gk-1213/easy-s3/tree/main easy-s3 将AWS S3大文件文件上传相关的API集成为js文件&#xff0c;功能包括多文件并行上传、文件分片上传、断点续传、文件分片合成、上传暂停、取消上传、文件上传进度条显示。 暂时不包括文件分片下载相关功能&#…

【论文阅读】利用道路目标特征的多期车载激光点云配准

目录 引 言1 道路场景点云特征2 配准方法2.1 配准基元获取2.2 特征点提取2.3 两期道路场景车载点云的配准 2.3.1 基于特征点的4PCS 粗配准 3 实验与分析4 结论5 参考文献 摘 要 针对车载移动测量系统获取的城市道路点云场景巨大、目标复杂多样&#xff0c;多期道路场景重访车载…

redis(10):spring+redis+mysql缓存实现

1 新建spring项目 2 修改pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="ht…

振弦采集仪及在线监测系统完整链条的岩土工程隧道安全监测

振弦采集仪及在线监测系统完整链条的岩土工程隧道安全监测 近年来&#xff0c;随着城市化的不断推进和基础设施建设的不断发展&#xff0c;隧道建设也日益成为城市交通发展的必需品。然而&#xff0c;隧道建设中存在着一定的安全隐患&#xff0c;如地质灾害、地下水涌流等&…

使用贝叶斯算法完成文档分类问题

贝叶斯原理 贝叶斯原理&#xff08;Bayes theorem&#xff09;是一种用于计算条件概率的数学公式。它是以18世纪英国数学家托马斯贝叶斯&#xff08;Thomas Bayes&#xff09;的名字命名的。贝叶斯原理表达了在已知某个事件发生的情况下&#xff0c;另一个事件发生的概率。具体…

持续部署CICD

目录 &#xff08;1&#xff09;CICD的开展场景 &#xff08;2&#xff09;项目实际应用 CICD 是持续集成&#xff08;Continuous Integration&#xff09;和持续部署&#xff08;Continuous Deployment&#xff09;简称。指在研发过程中自动执行一系列脚本来降低开发引入 bug…

后台管理系统中刷新业务功能的实现

实现 下载vueuse npm i vueuse/core在header组件中引入并给全屏按钮绑定点击事件 <el-button type"default" click"toggle" icon"FullScreen" circle></el-button>import { useFullscreen } from vueuse/coreconst { toggle } u…

electron的electron-packager打包运行和electron-builder生产安装包过程,学透 Electron 自定义 Dock 图标

electron的electron-packager打包运行和electron-builder生产安装包过程 开发electron客户端程序&#xff0c;打包是绕不开的问题。 macOS 应用构建&#xff0c;看似近在咫尺&#xff0c;实则坑坑致命。 场景&#xff1a;mac笔记本打包&#xff0c;以及生产出可交付的软件安装…