LNMP安装
目录
1、LNMP简述:
1.1、概述
1.2、LNMP是一个缩写词,及每个字母的含义
1.3、编译安装与yum安装差异
1.4、编译安装的优点
2、通过LNMP创建论坛
2.1、 安装nginx服务
2.1.1、关闭防火墙
2.1.2、创建运行用户
2.1.3、 编译安装
2.1.4、 优化路径
2.1.5、 添加 Nginx 系统服务
2.1.6、赋权刷新重启
2.2. 安装 MySQL 服务
2.2.1、 安装Mysql环境依赖包
2.2.2、 创建运行用户
2.2.3、编译安装 解压
2.2.4、修改mysql 配置文件
2.2.5、更改mysql安装目录和配置文件的属主属组
编辑 2.2.6、设置路径环境变量
2.2.7、 初始化数据库
2.2. 8、添加mysqld系统服务
2.2.9 修改mysql 的登录密码
2.2.10 授权远程登陆
2.3、处理动态页面的中间件 PHP
2.3.1、安装依赖环境
2.3. 2、编译安装
2.3.3、路径优化
2.3. 4、调整PHP配置文件
2.3.5、 启动PHP,端口号为9000
2.3.6、配置 Nginx 支持 PHP 解析
2.3.7、验证PHP测试页.
2.3.8、 数据库配置
2.4 部署 Discuz!社区论坛 Web 应用
2.4.1、解压。复制
2.4.2 调整论坛目录的权限
2.4.3、进行论坛访问192.168.41.7/bbs/install/index.php
1、LNMP简述:
1.1、概述
LNMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。
1.2、LNMP是一个缩写词,及每个字母的含义
L: Linux操作系统、
N: nginx网站服务器、前端,提供前端的静态页面服务,同时具有代理和转发的作用
M: MySQL数据库服务器、关系型数据库,主要保存用户的账号和密码
P: PHP(或Perl、Python)动态网页编程语言。负责解释动态网页文件,负责沟通WEB服务器,和nginx以及数据库进行协同工作,PHP的主要作用就是web开发,前端开发
1.3、编译安装与yum安装差异
通过编译安装进行设置
编译安装用二进制进行安装,编译安装可以自由地指定需要的模块,
yum只是安装基础的服务模块,其他模块要想使用用户需要手动重新添加
在企业中nginx、mysql都是编译安装
1.4、编译安装的优点
- 具有较大的自由度,功能可定制
- 可及时获得最新的软件版本
- 普遍适用于大多数Linux版本,便于一直使用
2、通过LNMP创建论坛
2.1、 安装nginx服务
2.1.1、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
、安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2.1.2、创建运行用户
useradd -M -s /sbin/nologin nginx

2.1.3、 编译安装
cd /opt
解压tar zxvf nginx-1.22.0.tar.gz -C /opt/
安装
cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
安装
程序所在位置
2.1.4、 优化路径
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

2.1.5、 添加 Nginx 系统服务
vim /lib/systemd/system/nginx.service
[Unit]:这个部分定义了服务单元的元数据。
Description: 描述该服务单元的信息,描述为"nginx"。
After: 定义服务单元所依赖的其他单元,这里表示服务需要在网络加载完成之后启动。
[Service]:这个部分定义了服务的运行配置。
Type: 指定服务的类型,这里是forking,表示服务是一个后台进程(通常是fork出子进程)。
PIDFile: 指定保存主进程ID的文件路径,Nginx将会把主进程ID写入这个文件,以便Systemd可以追踪和管理进程。
ExecStart: 指定启动服务的命令。这里是启动Nginx的命令/usr/local/nginx/sbin/nginx。
ExecReload: 指定重新加载配置的命令。当执行此命令时,Systemd将发送HUP信号给主进程,Nginx将重新加载配置文件。
ExecStop: 指定停止服务的命令。当执行此命令时,Systemd将发送QUIT信号给主进程,Nginx将优雅地停止服务。
PrivateTmp: 将此项设置为true,表示为服务提供独立的临时目录。
[Install]:这个部分定义了服务的安装配置。
WantedBy: 指定服务所属的目标(target),这里是multi-user.target,表示服务在多用户模式下启动。

2.1.6、赋权刷新重启

2.2. 安装 MySQL 服务
2.2.1、 安装Mysql环境依赖包
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

2.2.2、 创建运行用户
useradd -M -s /sbin/nologin mysql
2.2.3、编译安装 解压

进入源码目录进行更改
数据库配置过程

查看内存容量,内存够了进行安装

2.2.4、修改mysql 配置文件
vim /etc/my.cnf



2.2.5、更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

2.2.6、设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

2.2.7、 初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

2.2. 8、添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
复制系统服务文件,重启服务

2.2.9 修改mysql 的登录密码
mysqladmin -u root -p password "123456"

2.2.10 授权远程登陆
mysql -u root -p

授予root用户可以在所有终端远程登录,使用的密码是123456,并对所有数据库和所有表有操作权限,并进行刷新

数据库完成
2.3、处理动态页面的中间件 PHP
2.3.1、安装依赖环境

2.3. 2、编译安装
cd /opt
tar jxvf php-7.1.10.tar.bz2


make -j 4 && make install 安装
编译安装完成后
2.3.3、路径优化
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/

2.3. 4、调整PHP配置文件
php有三个配置文件:
php.ini 主配置文件
php-fpm.conf 进程服务配置文件
www.conf 扩展配置文件
将配置文件进行复制,以防止配置错误

更改时区

通信配置文件所在,为了和数据库建立通讯

#验证安装的模块

修改进程服务配置文件
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

调整扩展配置文件
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

2.3.5、 启动PHP,端口号为9000
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000

-c 后面表示读取的配置文件位置

2.3.6、配置 Nginx 支持 PHP 解析

2.3.7、验证PHP测试页.


2.3.8、 数据库配置
数据库bbs创建成功

赋权

flush privileges;刷新
替换原来的测试内容进行测试


测试没问题

2.4 部署 Discuz!社区论坛 Web 应用
2.4.1、解压。复制
cd /opt
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/



2.4.2 调整论坛目录的权限

2.4.3、进行论坛访问192.168.41.7/bbs/install/index.php



论坛创建完成
相关文章:
LNMP安装
目录 1、LNMP简述: 1.1、概述 1.2、LNMP是一个缩写词,及每个字母的含义 1.3、编译安装与yum安装差异 1.4、编译安装的优点 2、通过LNMP创建论坛 2.1、 安装nginx服务 2.1.1、关闭防火墙 2.1.2、创建运行用户 2.1.3、 编译安装 2.1.4、 优化路…...
matplotlib绘图风格
文章目录 绘图风格测试代码默认和mpl风格复制风格seaborn风格 绘图风格 matplotlib功能强大,可以定制各种绘图要素,以满足个性化的绘图需求,而更换绘图风格也十分便捷,一个matplotlib.style.use函数轻松搞定,而可用的…...
【初级教程】Appium 启动应用 log 日志分析
刚开始学习 appium 时,老师给我布置了 appium 启动应用 log 分析的作业。由于工作比较忙,再者自己想先动手用 appium 写个公司的 app 的 UI 测试(目前简单的框架基本完成,在不断完善用例管理中)。写这篇文章是为了完成…...
FANUC机器人SRVO-300机械手断裂故障报警原因分析及处理办法
FANUC机器人SRVO-300机械手断裂故障报警原因分析及处理办法 首先,我们查看报警说明书上的介绍: 总结:即在机械手断裂设置为无效时,机器人检测出了机械手断裂信号(不该有的信号,现在检测到了,所以报警) 使机械手断裂设定为无效/有效的具体方法: 按下示教器的MENU菜单…...
MobPush iOS SDK iOS实时活动
开发工具:Xcode 功能需要: SwiftUI实现UI页面,iOS16.1以上系统使用 功能使用: 需应用为启动状态 功能说明 iOS16.1 系统支持实时活动功能,可以在锁定屏幕上实时获知各种事情的进展,MobPushSDK iOS 4.0.3版本已完成适配…...
c++开发模式,组合模式
组合模式,顾名思义,通过组合关系定义类间的关联关系,实现了将对象组合成树形结构,最终实现类的复用。可能是由于设计模式看的多了,初看组合模式的类图,感觉和装饰者模式类图很相似,都是使用继承…...
【GITHUB】FlipIt – Windows的开源翻页时钟
FlipIt 是一款免费开源的翻页时钟应用,专为 Windows 平台设计。该应用灵感来源于备受喜爱的老牌翻页时钟应用 Fliqlo,后者被公认为经典的翻页时钟屏保。然而,由于 Fliqlo 是基于 Flash 技术开发的,随着微软最近正式禁用 Flash&…...
基于 Flink Paimon 实现 Streaming Warehouse 数据一致性管理
摘要:本文整理自字节跳动基础架构工程师李明,在 Apache Paimon Meetup 的分享。本篇内容主要分为四个部分: 背景 方案设计 当前进展 未来规划 点击查看原文视频 & 演讲PPT 一、背景 早期的数仓生产体系主要以离线数仓为主…...
云游戏App简记
注:在安卓手机端使用。其他端不做分析。 App手机游戏PC和主机游戏免费时长(手机游戏)是否排队备注咪咕快游支持。数量一般,和腾讯还有合作,有不少腾讯的游戏支持每日登录签到送30-60分钟,当天失效…...
ChatGPT已打破图灵测试,新的测试方法在路上
生信麻瓜的 ChatGPT 4.0 初体验 偷个懒,用ChatGPT 帮我写段生物信息代码 代码看不懂?ChatGPT 帮你解释,详细到爆! 如果 ChatGPT 给出的的代码不太完善,如何请他一步步改好? 全球最佳的人工智能系统可以通过…...
Flask学习笔记_异步CMS(五)
Flask学习笔记_异步CMS(五) 1.环境1.安装nvm2.安装node 2.使用vue-cli创建项目3.安装相关插件4.后台CMS开发1.页面结构1.app.vue搭建结构2.element-icon组件的使用3.iconfont组件的使用 2.使用[Vue-router](https://router.vuejs.org/installation.html)…...
争夺年度智能汽车「中间件」方案提供商TOP10,谁率先入围
进入2023年,整车电子架构升级进入新周期,无论是智能驾驶、智能座舱、车身控制还是信息网络安全,软件赋能仍是行业的主旋律。 作为智能汽车赛道的第三方研究咨询机构,高工智能汽车研究院持续帮助车企、投资机构挖掘具备核心竞争力…...
【Spring Cloud一】微服务基本知识
系列文章目录 微服务基本知识 系列文章目录前言一、系统架构的演变1.1单体架构1.2分层架构1.3分布式架构1.4微服务架构1.5分布式、SOA、微服务的异同点 二、CAP原则三、RESTfulRESTful的核心概念: 四、共识算法 前言 在实际项目开发过程中,目前负责开发…...
swift - 如何在数组大小更改后刷新 ForEach 显示元素的数量(SwiftUI、Xcode 11 Beta 5)
我正在尝试实现一个 View ,该 View 可以在内容数组的大小发生变化时更改显示项目的数量(由 ForEach 循环创建),就像购物应用程序可能会在用户下拉刷新后更改其可用项目的数量一样 这是我到目前为止尝试过的一些代码。如果我没记错的话,这些适…...
编程导航算法村第七关 |二叉树的遍历
编程导航算法村第七关 | 二叉树的遍历 前序遍历(递归) public List<Integer> preorderTraversal(TreeNode root) {ArrayList<Integer> result new ArrayList<Integer>();preorder(root, result);return result;}public void preorde…...
【docker】docker-compose安装带ui页面的kafka集群
docker-compose 安装带kafka-ui 的kafka集群 在日常的工作当中,kafka集群作为常用的中间件,其搭建过程略显繁琐,需要配置的文件颇多,为了方便各位初学者快速体验kafka的魅力,本文采取一键式安装kafka-3.3.1࿰…...
java实现多级菜单
/** * 查询所有菜单 */ public BaseWebResponse<Object> getAllMenus() { List<SystemMenuInfo> systemMenuInfoList menuInfoMapper.getAllMenus(); List<SystemMenuInfo> menuTree buildMenuTree(systemMenuInfoList); return setResultSuccess(&q…...
HTML中元素和标签有什么区别?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 标签(Tag)⭐元素(Element)⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&a…...
android 如何分析应用的内存(十三)——perfetto
android 如何分析应用的内存(十三) 本篇文章是native内存的最后一篇文章——perfetto perfetto简介 从2018年始,android开发者峰会正式推出perfetto工具。从此perfetto成为安卓最重要的工具之一。在2018年以前,android使用syst…...
Chapter20 音乐
目录 音乐 琴键 哆来咪 振动与调式 利萨如曲线 和声与音调与和弦 音乐 在音乐理论中,一个八音度(octave)是一个频率范围相差二倍的区间。在大多数西洋乐器中,一个八音度被分为12个频率比相等的半音程(semitone&a…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
机器学习的数学基础:线性模型
线性模型 线性模型的基本形式为: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...
