Debian LNMP架构的简单配置使用

news2024/9/26 1:25:14

一、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博客

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

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

相关文章

0138 内存管理2

目录 3.内存管理 3.2虚拟内存管理 3.2部分习题 3.内存管理 3.2虚拟内存管理 3.2部分习题 1.在请求分页存储管理中&#xff0c;若采用FIFO页面淘汰算法&#xff0c;则当可供分配的页帧数增加时&#xff0c;缺页中断的次数&#xff08;&#xff09; A.减少 B.增加…

【嵌入式学习笔记】嵌入式基础9——STM32启动过程

1.MAP文件浅析 1.1.MDK编译后生成的中间过程文件 1.2.Map文件构成&#xff1a; 程序段交叉引用关系&#xff08;Section Cross References&#xff09;&#xff1a;描述各文件之间函数调用关系删除映像未使用的程序段&#xff08;Removing Unused input sections from the im…

Linux进程的认识

查看进程指令proc/ps 注意哦, 我们经常使用的指令, 像ls, touch…这些指令在启动之后本质上也是进程 proc 是内存文件系统, 存放着当前系统的实时进程信息. 每一个进程在系统中, 都会存在一个唯一的标识符(pid -> process id), 就如同学生在学校里有一个专门的学号一样. 大…

MyBatis——Java与数据库再续前缘

迭代更新&#xff0c;更新时代 时代发展&#xff0c;发展技术 技术进步&#xff0c;进步迭代 ——Lungcen 目录 MyBatis的简介入门 1、硬编码 2、操作繁琐 MyBatis简单入门 1、处理硬编码 2、处理操作繁琐 3、参数传递 MyBatis核心配置文件 配置文档的顶层结构 环境配置&…

MMsegmentaion自定义数据集运行出错AssertionError: failed to load image

问题 我的数据集中图像是TIF格式&#xff0c;4通道&#xff0c;想用mmsegmentation模型跑一下看看效果&#xff0c;按照官方手册里的方法自定义完数据集后&#xff0c;运行出错&#xff0c;错误截图如下。 解决 1.错误原因 通过上面的截图&#xff0c;发现错误出在红色框框…

vue动态引入静态资源

vue动态引入静态资源 静态资源位置&#xff08;../../assets/piecture/page404.jpg&#xff09;或者&#xff08;/assets/piecture/page404.jpg&#xff09; 错误引入方式 错误引入方式&#xff08;一&#xff09; <template><div><img :src"../../asset…

Spark-hadoop集群中8020:Connection refused

一、使用CentOs7虚拟机运行spark案例报出8020端口出现错误 前提条件&#xff0c;使用standalone模式下的Spark&#xff0c;使用spark-shell运行example中的相关测试案例spark-examples_2.12-3.0.0.jar&#xff0c;来计算pi。当spark-shell 停止掉后&#xff0c;集群监控base:40…

macos下安装john the ripper并配置zip2john+破解加密zip文件

为了破解加密的zip文件&#xff0c;需要用到john进行爆破密码。 1、首先使用homebrew安装john&#xff0c;可以安装它的增强版john-jumbo: brew install john-jumbo 2、安装后可以使用 john 命令验证&#xff1a; john 3、配置zip2john的环境——.zshrc下&#xff0c;&#x…

Linux Mint 21.2 ISO 镜像开放下载

导读Linux Mint 21.2 ISO 镜像于 2023 年 6 月 21 日公测&#xff0c;开发者在这段时间内收集并修复了用户反馈的诸多问题。 代号为“Victoria”的 Linux Mint 21.2 ISO 镜像于今天正式开放下载&#xff0c;新版本基于 Ubuntu 22.04 LTS&#xff0c;提供 Cinnamon 5.8、Xfce 4.…

CNN卷积详解

转载自&#xff1a;https://blog.csdn.net/yilulvxing/article/details/107452153 仅用于自己学习过程中经典文章讲解的记录&#xff0c;防止原文失效。 1&#xff1a;单通道卷积 以单通道卷积为例&#xff0c;输入为&#xff08;1,5,5&#xff09;&#xff0c;分别表示1个通道…

Flutter 添加 example流程

一、已有Flutter工程&#xff08;命令&#xff09;添加 example 1、cd 工程(flutter_plugin ,是自己创建的)根目录 例: flutter create example 执行命令创建example PS&#xff1a;cd example 后执行flutter doctor 后就可以看到效果 2、如果需要指定iOS/Android 语言,请添加…

从0到1,无代码开发如何简化产品创新流程

在当今竞争激烈的市场环境中&#xff0c;产品创新已经成为企业成功的关键因素之一。为了在市场上保持竞争力&#xff0c;企业需要不断地推出新产品或改进现有产品。然而&#xff0c;传统的开发流程往往耗时费力&#xff0c;且成本高昂。因此&#xff0c;简化产品创新流程成为了…

Could not locate supplied template: react+ts搭建

1. reactts创建 我们在是用下create-react-app之前要下载一下 npm install create-react-app -g使用一下命令创建ts的react框架 create-react-app my-app --scripts-versionreact-scripts-ts 2. 遇见问题 我们用以上创建之后会提示一段代码选择“Y”之后发现我们创建的项目…

分析npm run serve之后发生了什么?

首先需要明白的是&#xff0c;当你在终端去运行 npm run ****&#xff0c;会是什么过程。 根据上图的一个流程&#xff0c;就可以衍生出很多问题。 1&#xff0c;为什么不直接运行vue-cli-service serve? 因为直接运行 vue-cli-service serve&#xff0c;会报错&#xff0c…

浏览器的同源策略 - 跨域问题

1.什么是跨域 跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制&#xff1a; 无法访问其他源下的网页的 Cookies&#xff0c;Storage等&#xff1b;无法访问其他源下的DOM对象和 JS 对象;无法使…

Verilog语法学习——LV7_求两个数的差值

LV7_求两个数的差值 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 描述 根据输入信号a,b的大小关系&#xff0c;求解两个数的差值&#xff1a;输入信号a,b…

SpringBoot使用jetty和tomcat还有undertow以及ssl配置支持https请求

一般使用SpringBoot开发应用程序都是使用的tomcat 稍微注意点性能就使用undertow&#xff0c;配置支持https请求常用nginx来做代理&#xff0c;直接用SpringBoot配置还是很少的&#xff0c;八成用不到&#xff0c;就怕需要用到的时候又不能及时弄出来&#xff0c;于是记录一下。…

3d激光slam建图与定位(1)_基于ndt算法定位

一.代码实现流程 二.ndt算法原理 一.该算法定位有三个进程文件 1.map_loader.cpp用于点云地图的读取&#xff0c;从文件中读取点云后对这个点云地图进行旋转平移后发布点云地图到ros #include "map_loader.h"MapLoader::MapLoader(ros::NodeHandle &nh){std::st…

Cisco 路由器配置管理

大多数网络中断的最常见原因是错误的配置更改。对网络设备配置的每一次更改都伴随着造成网络中断、安全问题甚至性能下降的风险。计划外更改使网络容易受到意外中断的影响。 Network Configuration Manager 网络更改和配置管理 &#xff08;NCCM&#xff09;解决方案&#xff…

操作符(超详解)

操作符详解 1. 操作符分类2. 算术操作符3. 移位操作符3.1 左移操作符3.2 右移操作符 4. 位操作符5. 赋值操作符6. 单目操作符6.1 单目操作符介绍6.2 sizeof和数组 7. 关系操作符8. 逻辑操作符9. 条件操作符10.逗号表达式11.下标引用&#xff0c;函数调用和结构成员12.表达式求值…