LNMP安装部署
目录
一、Nginx安装部署
1.安装包下载
2.下载相关依赖工具
3. 创建运行用户
4.编译安装
5.优化路径
6.将nginx添加至系统服务
7.文件赋权
二、MySQL部署安装
1.解压
2.安装相关工具
3.创建运行用户
4.编译安装
5.修改配置文件
6.更改mysql安装目录和配置文件的属主属组
7.设置环境变量
8.初始化数据库
9. 添加mysqld系统服务
10.设置 mysql登陆密码
11. 登录
三、PHP安装部署
1.下载安装包
2.安装相关依赖包工具等
3.编译
4.修改配置文件
5.配置Nginx 支持php
本篇为纯安装教程
在部署之前,需要对系统进行一些必要的操作,关闭防火墙、关闭增强功能等,L和LAMP一样是Linux操作系统,我们默认在Linux操作系统上进行
一、Nginx安装部署
1.安装包下载
进入Nginx官网,找到需要安装的版本,复制链接或者下载到本机然后上传至服务端
如果选择链接下载,输入命令
wegt https://nginx.org/download/nginx-1.12.2.tar.gz
2.下载相关依赖工具
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
3. 创建运行用户
useradd -M -s /sbin/nologin nginx
4.编译安装
cd /下载安装包的目录(我这里是放在了/opt下)
解压刚才下载的压缩包
tar zxvf nginx-1.12.2.tar.gz (我的版本与你的或许不一致,直接打一个ng然后补全就好)
进入到解压后的目录

进行编译
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
完成后 make && make install
5.优化路径
设置一个软链接,方便系统识别
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
6.将nginx添加至系统服务
vim /lib/systemd/system/nginx.service
输入如下内容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
7.文件赋权
chmod 754 /lib/systemd/system/nginx.service
都完成后我们可以nginx -t 查看有无语法错误

一个ok 一个successful ,成功了,现在可以启动服务了
systemctl start nginx.service
systemctl enable nginx.service
如果启动不成功可以看看80 端口是否被 httpd 占用了

我就遇到过这种情况,直接关闭httpd服务

Nginx部署安装成功了
二、MySQL部署安装
和nginx部署安装一样,先下载安装包,mysql官网可能有点复杂,可以看我之前的一篇博客,虽然是讲的LAMP部署,但包含了MySQL:
https://blog.csdn.net/qq_59677536/article/details/141129859?spm=1001.2014.3001.5501
我这里还是直接用我之前用的版本压缩包了 mysql-5.7.20.tar.gz
如果有什么问题或者需要我发送压缩包的请私信我,
1.解压
老样子,还是先解压缩
tar zxvf mysql—5.7.20.tar.gz
2.安装相关工具
yum -y install ncurses ncurses-devel bison cmake
3.创建运行用户
useradd -M -s /sbin/nologin mysql
4.编译安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
完成后
make && make install
这个过程需要一些时间,如果服务器内存大、处理器核数多的话,需要的时间会相应短一些
完成
5.修改配置文件
vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
清空内容并输入如下内容:
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
6.更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
7.设置环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
source /etc/profile
8.初始化数据库
去到 /usr/local/mysql/bin 目录下
输入如下内容
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
9. 添加mysqld系统服务
讲 /usr local/mysql/usr/lib/systemcd/system/mysqld.service 文件复制到
/usr/lib/systemd/system/ 目录下
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
10.设置 mysql登陆密码
mysqladmin -u root -p password "123123" (abc123是我自己设置的,可以根据自己的需求设置)

注意:输入mysqladmin -u root -p password "123123" 后,出现Enter password,不要输入密码,在按依次回车就可以了
11. 登录
mysql -u root -p
输入密码
Show databases;
出现如图所示,数据库安装完成

三、PHP安装部署
1.下载安装包
同样的去官网下载,我的LAMP 博客中也有下载的地址和方法
LAMP部署-CSDN博客
解压缩
tar zxvf php-7.1.24.tar.gz
2.安装相关依赖包工具等
yum -y install gd libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
3.编译
安装相关软件完成后,同样的我们进入解压后的文件目录,进行编译
./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer
编译完成后
make && make install
顺便做一个路径优化,方便系统识别
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
4.修改配置文件
cp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.ini 复制文件模板
vim /usr/local/php/lib/php.ini
--939行左右,取消注释并修改
date.timezone = Asia/Shanghai
![]()
--1170行左右
mysqli.default_socket = /usr/local/mysql/mysql.sock

保存并退出
接下来调整进程服务配置文件
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim /php-fpm.conf
去掉17行注释
![]()
将扩展配置文件稍作调整
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
启动php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
查看端口
netstat -anpt | grep 9000
![]()
启动成功
5.配置Nginx 支持php
到此php安装配置基本上就结束了,但是还没有算是完全部署成功,我们需要让我们的Nginx支持php
cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service
vim /usr/local/nginx/conf/nginx.conf
65行,取消注释,修改

将 /scripts 修改为nginx的工作目录
保存退出
重启Nginx 服务
创建php测试页面
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
浏览器输入 ip /index.php

LNMP搭建完成
相关文章:
LNMP安装部署
目录 一、Nginx安装部署 1.安装包下载 2.下载相关依赖工具 3. 创建运行用户 4.编译安装 5.优化路径 6.将nginx添加至系统服务 7.文件赋权 二、MySQL部署安装 1.解压 2.安装相关工具 3.创建运行用户 4.编译安装 5.修改配置文件 6.更改mysql安装目录和配置文件的属…...
django之自定义序列化器用法
在Django中,自定义序列化器方法通常用于处理复杂的数据转换逻辑,特别是在使用Django REST framework(DRF)时。自定义序列化器方法可以帮助你在序列化和反序列化过程中执行特定的逻辑,比如格式化日期、计算字段值、或者…...
20240821给飞凌OK3588-C的核心板刷Rockchip原厂的Buildroot并挂载1TB的exFAT格式的TF卡
fdisk -l df -h df -t df -T mount 20240821给飞凌OK3588-C的核心板刷Rockchip原厂的Buildroot并挂载1TB的exFAT格式的TF卡 2024/8/21 18:06 【切记,对于Rockchip原厂的Buildroot,如果你没有针对性的适配DTS:修改其中的GPIO口供电,…...
多模态学习Multimodal Learning:人工智能中的多模态原理与技术介绍初步了解
多模态学习(Multimodal Learning)是机器学习中的一个前沿领域,旨在综合处理和理解来自不同模态的数据。模态可以包括文本、图像、音频、视频等。随着数据多样性和复杂性增加,多模态学习在自然语言处理、计算机视觉、语音识别等领域…...
外部环境连接kafka
修改配置文件外部环境连接kafka 1、kafka的docker官方镜像地址2、kafka官方介绍的三种连接方式3、方式一:Default configs默认配置4、方式二:File input(文件输入:外部配置文件替换docker容器内的配置文件)4.1、首先查…...
结合了MySQL数据库、Elasticsearch和Redis,构建一个产品搜索和推荐系统
1. 数据库设置(MySQL) 首先,我们需要创建两个表来存储产品信息和产品类别信息。 CREATE DATABASE product_system;USE product_system;CREATE TABLE categories (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,created_at…...
白酒与素食:健康与美味的双重享受
在美食的世界里,白酒与素食的搭配仿佛是一场跨界的盛宴。豪迈白酒(HOMANLISM)的醇香与精致素食的清新,在不经意间交织出了一幅美妙的画卷,让人在品味中感受到健康与美味的双重享受。 素食,以其清淡、自然的…...
工厂现场多功能帮手,三防平板改善管理体验
随着制造业的智能化变革,信息化、自动化和智能化逐渐成为工厂管理的新常态。在这一波技术浪潮中,三防平板作为一种多功能的工作工具,正在逐步改善工厂现场的管理体验。 一、三防平板的定义与特点 三防平板,顾名思义,是…...
【git】问题解决---Failed to connect to github.com
场景 最近运行命令git push,git pull或者git clone的时候总会报如下错误 fatal: unable to access https://github.com/xxxxx/xxxxxx.git/: **Failed to connect to github.com** port 443 after 21052 ms: Couldnt connect to server原因 一般是网络配置原因造成的, 如果能…...
Java 中 String 类型的特点
在 Java 中,String 是一种常用且重要的数据类型,用于表示和处理字符序列。它有一些独特的特性和用法,使得它在开发中非常灵活和高效。以下是关于 String 类型的一些特点、特殊性、使用技巧以及注意事项。 1. String 的特点 1.1 不可变性 定…...
AddressUtils 、RegionUtils IP地址工具类
一、类展示 AddressUtils : /*** 获取地址类**/ Slf4j NoArgsConstructor(access AccessLevel.PRIVATE) public class AddressUtils {// 未知地址public static final String UNKNOWN "XX XX";public static String getRealAddressByIP(String ip) {i…...
牛客网SQL进阶134: 满足条件的用户的试卷总完成次数和题目总练习次数
满足条件的用户的试卷完成数和题目练习数_牛客题霸_牛客网 0 问题描述 基于用户信息表user_info、试卷信息表examination_info、试卷作答记录表exam_record、题目练习记录表practice_record,筛选出 高难度SQL试卷得分平均值大于80并且是7级的用户,统计他…...
机器学习:逻辑回归处理手写数字的识别
1、获取数据, 图像分割该数据有50行100列,每个数字占据20*20个像素点,可以进行切分,划分出训练集和测试集。 import numpy as np import pandas as pd import cv2 imgcv2.imread("digits.png")#读取文件 graycv2.cvtColor(img,cv2.COLOR_BGR2G…...
文件上传真hard
一、SpringMVC实现文件上传 1.1.项目结构 1.1.2 控制器方法 RequestMapping("/upload1.do")public ModelAndView upload1(RequestParam("file1") MultipartFile f1) throws IOException {//获取文件名称String originalFilename f1.getOriginalFilename(…...
精益管理|介绍一本专门研究防错法(Poka-Yoke)的书
在现代制造业中,如何确保产品在每个生产环节中不出现错误是企业追求的目标之一。而实现这一目标的关键技术之一就是防错法(Poka-Yoke)。作为一种简单而有效的精益管理、六西格玛管理工具,防错法帮助企业避免因人为错误或工艺不当导…...
面试题目:(4)给表达式添加运算符
目录 题目 代码 思路解析 例子 题目 题目 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)、- 或 * ,返回 所有能够得到 target 的表达式。1 < num.length &…...
[C#]将opencvsharp的Mat对象转成onnxruntime的inputtensor的3种方法
第一种方法:在创建tensor时候直接赋值改变每个tensor的值,以下是伪代码: var image new Mat(image_path);inpWidth image.Width;inpHeight image.Height;//将图片转为RGB通道Mat image_rgb new Mat();Cv2.CvtColor(image, image_rgb, Col…...
CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!
一、CTF简介 CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。…...
数据链路层 I(组帧、差错控制)【★★★★★】
(★★)代表非常重要的知识点,(★)代表重要的知识点。 为了把主要精力放在点对点信道的数据链路层协议上,可以采用下图(a)所示的三层模型。在这种三层模型中,不管在哪一段…...
悟空降世 撼动全球
文|琥珀食酒社 作者 | 积溪 一只猴子能值多少钱? 答案是:13个小目标 这两天 只要你家没有断网 一定会被这只猴子刷屏 它就是咱国产的3A游戏 《黑神话:悟空》 这只猴子到底有多火? 这么跟你说吧 茅台见了它都…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
