Linux之LNMP离线安装

news2025/7/13 2:41:29

一、需求说明

  LNMP一键安装包对于小型系统部署来说真的是非常方便,日常工作中除了在线安装,也存在部分场景要求离线安装。比如内网专网、严格限制访问外网的网络等,有些院校的实验室就是这种情况,需要使用光盘来完成系统的部署安装。如果是纯粹离线环境我们可以使用光盘刻录大师等工具通过光驱将软件包刻录到光盘中。博文是模拟离线安装方式,将离线安装的软件包通过网络工具上传到服务器上。博文实验环境:

  • 操作系统:centos7.6
  • LNMP版本:1.9
  • MySQL:5.7.38
  • 硬件配置:2c,4G内存

二、LNMP离线安装步骤

1、下载LNMP1.9离线安装包

  官网下载LNMP1.9完整版离线包。
在这里插入图片描述

2、将软件包上传到服务器

  lnmp安装包完整版包含了大部分软件的安装包,但是不包括MySQL5.7和MySQL8的二进制安装包,如果我们需要使用msyql的二进制包安装方式则需要将mysql软件包手动上传到lnmp目录下的src目录下,需要什么版本则上传对应版本的二进制软件包。

[root@s142 opt]# ll
total 1764084
-rw-r–r-- 1 root root 1078271437 Oct 28 11:03 lnmp1.9-full.tar.gz
-rw-r–r-- 1 root root 728148899 Jan 19 2021 mysql-5.7.32-el7-x86_64.tar.gz

3、挂载操作系统镜像软件光盘

  l离线安装不是不需要源,而是需要你在本地搭建一个供安装使用的源。物理机我们可以使用光驱挂载操作系统镜像盘。如果是虚拟机我们可以将系统ISO文件上传到服务器的/root目录,然后将光盘进行挂载。

[root@s142 opt]# mkdir -p /mnt/dvd
[root@s142 opt]# mount /root/CentOS-7-x86_64-DVD-1810.iso /mnt/dvd
mount: /dev/loop0 is write-protected, mounting read-only

4、修改yum配置文件

  因为我们需要使用本地yum源,修改配置文件前我们将所有repo文件进行备份。备份完成后创建一个CentOS-Media.repo配置文件。

[root@s142 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

[root@s142 yum.repos.d]# vim /etc/yum.repos.d/CentOS-Media.repo
#将如下内容写入CentOS-Media.repo文件并保存
[local-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/dvd/
#file:///mnt/dvd2/
#如果有第二张光盘将前面dvd2行前面的 # 注释符号去掉
gpgcheck=0
enabled=1
gpgkey=file:///mnt/dvd/RPM-GPG-KEY-CentOS-7

5、验证yum本地源是否正常

[root@s142 opt]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local-media
Cleaning up list of fastest mirrors
Other repos take up 151 M of disk space (use --verbose for details)
[root@s142 opt]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
local-media | 3.6 kB 00:00:00
(1/4): local-media/group_gz | 166 kB 00:00:00
(2/4): local-media/primary_db | 3.1 MB 00:00:00
(3/4): local-media/filelists_db | 3.2 MB 00:00:00
(4/4): local-media/other_db | 1.3 MB 00:00:00
Metadata Cache Created

6、解压LNMP软件包

[root@s142 opt]# tar -zxvf lnmp1.9-full.tar.gz
[root@s142 opt]# cd lnmp1.9-full
[root@s142 lnmp1.9-full]# mv …/mysql-5.7.32-el7-x86_64.tar.gz ./src/

7、检查服务器是否是离线状态

[root@s142 ~]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
[root@s142 ~]# ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
From 192.168.0.1 icmp_seq=1 Packet filtered
From 192.168.0.1 icmp_seq=2 Packet filtered
From 192.168.0.1 icmp_seq=3 Packet filtered
From 192.168.0.1 icmp_seq=4 Packet filtered
From 192.168.0.1 icmp_seq=5 Packet filtered
^C
— 114.114.114.114 ping statistics —
5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 4000ms

8、修改lnmp.conf配置文件

  VPS或服务器必须设置好可用的yum或apt-get源并确保能正常工作,离线安装需要增加 CheckMirror=n 参数!

[root@s142 lnmp1.9-full]# vim lnmp.conf
#不检查镜像源
CheckMirror=n

9、执行LNMP安装脚本

  安装脚本执行和在线安装是一样的,各选项选择可用参考Linux之LNMP在线安装。

[root@s142 lnmp1.9-full]# ./install.sh lnmp

10、验证安装结果

[root@s142 lnmp1.9-full]# ./install.sh lnmp

nginx (pid 14581) is running…
php-fpm is runing!
SUCCESS! MySQL running (15153)
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 :
LISTEN 0 128 :80 :
LISTEN 0 128 :22 :
LISTEN 0 128 :::3306 :::

LISTEN 0 128 :::22 :::

Install lnmp takes 39 minutes.
Install lnmp V1.9 completed! enjoy it.
[root@s142 lnmp1.9-full]# lnmp status
±------------------------------------------+
| Manager for LNMP, Written by Licess |
±------------------------------------------+
| https://lnmp.org |
±------------------------------------------+
nginx (pid 14581) is running…
php-fpm is runing!
SUCCESS! MySQL running (15153)
[root@s142 lnmp1.9-full]#

三、LNMP无人值守安装

1、生成无人值守安装命令

  无人值守安装实际上就是提前将脚本中需要选择的选项提前选择好,然后执行脚本。可以访问官网的无人值守命令生成工具,生成无人值守安装命令。以安装LNMP为例,安装MySQL5.7,源码方式安装,启用innodb引擎,设置root账户密码,安装PHP7.4,不安装内存分配器。点击生成后生成的命令如下。
在这里插入图片描述

2、无人值守在线安装

  我们在可以访问外网的服务器上直接直接如下命令就可以开始安装LNMP相关软件了。

[root@s142 opt]# wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 && LNMP_Auto=“y” DBSelect=“4” Bin=“n” DB_Root_Password=“123456” InstallInnodb=“y” PHPSelect=“10” SelectMalloc=“2” CheckMirror=“n” ./install.sh lnmp

3、无人值守离线安装

  如果选择离线安装则生成的命令如下,但是服务器既然已经离线肯定是无法联网下载软件包的,所以实际操作中需要我们离线下载完整安装包。然后将安装参数写入lnmp.conf配置文件,再手动执行下安装命令,此时不会再弹窗选择项,安装脚本按照参数配置直接执行,直至安装完成。

[root@s142 lnmp1.9-full]# cat lnmp.conf
#无人值守安装配置
LNMP_Auto=“y”
DBSelect=“4”
Bin=“n”
DB_Root_Password=“123456”
InstallInnodb=“y”
PHPSelect=“9”
SelectMalloc=“2”
CheckMirror=“n”
[root@s142 lnmp1.9-full]# ./install.sh lnmp

4、无人值守安装参数

变量名变量值含义
LNMP_Auto启用无人值守自动安装
DBSelect数据库版本序号
DB_Root_Password数据库root密码(不可为空),不安装数据库时可不加该参数
InstallInnodb是否安装Innodb引擎,y 或 n ,不安装数据库时可不加该参数
PHPSelectPHP版本序号
SelectMalloc内存分配器版本序号
ApacheSelectApache版本序号,仅LNMPA和LAMP模式需添加该参数
ServerAdmin管理员邮箱,仅LNMPA和LAMP模式需添加该参数

5、版本参数变量值说明

MySQL版本对应序号PHP版本对应序号内存分配器对应序号Apache版本对应序号
Mysql 5.11PHP 5.21不安装1Apache 2.21
Mysql 5.52PHP 5.32Jemalloc2Apache 2.42
Mysql 5.63PHP 5.43TCMalloc3
Mysql 5.74PHP 5.54
Mysql 8.05PHP 5.65
MariaDB 5.56PHP 7.06
MariaDB 10.37PHP 7.17
MariaDB 10.48PHP 7.28
MariaDB 10.59PHP 7.39
MariaDB 10.610PHP 7.410
不安装数据库0PHP 8.011
PHP 8.112

四、QA

  离线安装环境下安装NGINX、mysql都是OK的,安装PHP7.4以上版本都失败了,安装7.3.33是成功的。初步判断是PHP7.4以上依赖的软件包,centos7.6版本不满足要求。欢迎知道详细原因的网友评论留言分享,谢谢!

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

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

相关文章

2022年认证杯SPSSPRO杯数学建模C题(第二阶段)污水流行病学原理在新冠疫情防控方面的作用求解全过程文档及程序

2022年认证杯SPSSPRO杯数学建模 C题 污水流行病学原理在新冠疫情防控方面的作用 原题再现: 2019 年新型冠状病毒肺炎疫情暴发至今已过两年,新型冠状病毒历经多次变异,目前已有 11 种变异毒株,包括阿尔法、贝塔、德尔塔、奥密克戎…

Optional详解

一 有什么用 对象的NPE处理简化if else代码 二 怎么用 Optional 就好像是一个包装类,可以把具体的数据封装到 Optional 对象内部,然后我们去使用 Optional 中封装好的方法操作封装进去的数据就可以非常优雅的避免空指针异常 2.1 创建Optional对象 O…

CellMarker 2.0 | 细胞标志物数据库更新啦!~(附使用指南)

1写在前面 细胞标志物(Cellmarker)可以用来定义、区别不同细胞。随着单细胞测序(scRNA-seq)的普及(主要是便宜了📉),相关的研究也越来越多。🥳 在进行细胞注释的时候&…

【菜菜的sklearn课堂笔记】逻辑回归与评分卡-二元逻辑回归损失函数的数学解释,公式推导与解惑

视频作者:菜菜TsaiTsai 链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili 白板推导里有写过程,但是当时理解的不太好,ψ(xi,ω)\psi(x_{i},\omega)ψ(xi​,ω)的理解有点问题也就是下面的yθ(xi)y_…

Docker(二):Windows系统安装Docker

安装环境 在安装之前,Windows 版 Docker 的环境有以下要求: 1、Windows 10 Pro(专业版) / Enterprise(企业版) / Education(教育版)(1607 Anniversary Update、Build 14…

Vue3路由——基本使用、动态路由、路由正则、重复参数、嵌套路由、编程式导航、命名路由、重定向、别名、路由模式与导航守卫

文章目录P23 Vue3路由的基本使用P24 动态路由和404NotFound动态路由404NotFoundp25 路由正则与重复参数路由正则重复参数p26 嵌套路由p27 使用js跳转页面(编程式导航)p28 命名路由与重定向别名命名路由重定向别名p29 路由模式与导航守卫P23 Vue3路由的基本使用 npm init vite-…

[附源码]java毕业设计基于的花店后台管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

《Nature》STING 与 cGAMP 结合导致 TBK1 激酶募集和活化

来自细菌或病毒的核酸在受感染的细胞中会产生强效的免疫反应,而病原体衍生核酸的检测是宿主感知感染并启动保护性免疫反应的核心策略。cGAS (Cyclic GMP-AMP synthase) 是一种双链 DNA 传感器,可催化 cGAMP(cyclic GMP-AMP)的合成…

中间件简介

中间件简介 1. 中间件概述 随着网络和软件技术的飞速发展,软件面临更多的问题,例如:不同的操作系统、不同的网络环境等。在每个软件中解决这些问题加大了软件开发人员的负担,因此倾向于将这些具有广泛应用的共性功能提取出来&am…

【离散数学】第二章 测试

1.单选题 谓词推理要 A. 先US,后ES B. 先ES,后US 正确答案: B 2.单选题 前提: (∀x)(F(x)→G(x)),(∃x)F(x), 结论: (∃x)G(x)。 A. 成立 B. 不成立 正确答案: A 3.单选题 根据ES规则,若(∃x)P(…

gRPC(八)生态 grpc-gateway 应用:同一个服务端支持Rpc和Restful Api

目录前言一、gRPC-Gateway概述1、简述2、出现二、准备工作1、目录结构2、环境准备1)Protobuf2)gRPC3)gRPC-Gateway3、编写 IDL1)google.api2)hello.proto3)编译proto4、制作证书1)生成CA根证书2…

香港服务器一定比美国服务器好吗?

香港服务器一定比美国服务器好吗?从出海业务兴起以来就有不少的站长拿较为热门的香港服务器和美国服务器来作出对比,对其两者孰优孰劣的探讨一直都没有停止过。在这里,我们对两者做个比较。 香港服务器和美国服务器两者的对比: 1. 香港服务器…

linux笔记(3):东山哪吒STU开发板初体验

文章目录1.开发板上电观察串口1.1 从nand flash启动1.2 从SD卡启动2.上传文件到开发板2.1 使用FileZilla软件连接开发板2.2 使用ADB软件双11下单后,经过多日的等待,终于在昨天下午收到了开发板。在等待的过程中,看了一下文档和B站东山老师的视…

Rhino Linux:滚动发布但也很稳定的 Ubuntu

导读滚动发布的 Ubuntu 发行版?等等,什么? Rhino Linux 听起来不错……Ubuntu but rolling but also stable! Thats what Rhino Linux aims to be Rhino Linux 将成为 Rolling Rhino Remix 的继任者。这个由 http.llamaz 构建的 Linux 发行版…

01 Jenkins CICD 之 Git 命令使用

1. 前言 由于项目没有外网,需要在内网打镜像。但自己对git 还不是太熟悉。看着pipline 一脸的懵。所有针对git 命令在工作中常用的参数及用法简单学习记录下 git 技能树链接 2. git 常用参数 2.1 git全局设置 git config --global user.name "xxxxx" …

STC51单片机27——控制无刷电机

编写程序控制电调&#xff1a; #include<reg52.h> sbit PpmP2^0; sbit UpP2^1; sbit DownP2^2; sbit Led_UpP2^3; sbit Led_DownP2^4; unsigned char k0; unsigned char a0; void Control() { if(Up0&am…

云原生网关的可观测性体系实践

作者&#xff1a;井轶 概述 可观测性一词来源于控制理论&#xff0c;是指系统可以由其外部输出推断其其内部状态的程度&#xff0c;随着 IT 行业几十年的发展&#xff0c;IT 系统的监控、告警、问题排查等领域的逐渐成熟&#xff0c;IT 行业也将其抽象形成了一整套可观测性工…

Linux基础学习记录

LInux学习 文章目录LInux学习1. Linux快捷键2. Shell基本命令”*“&#xff0c;”&#xff1f;“&#xff0c;”[]“&#xff1a;通配符pwd&#xff1a;显示当前目录cd&#xff1a;改变目录ls&#xff1a;列出目录内容cat和more&#xff1a;查看文本文件catmorehead和tail&…

为什么C语言需要指定平台开发?

前言&#xff1a; 笔者心血来潮&#xff0c;特意站在初学者角度去思考为什么C语言需要指定平台去开发呢&#xff1f; 物有本末&#xff0c;事有终始&#xff0c;知其先后&#xff0c;则近道矣。 语言历史&#xff1a; 读者应该能明白程序最底层无非就是01010101二进制被CPU给调…

(续)SSM整合之springmvc笔记(SpringMVC获取请求参数)(P131-135)

目录 一 通过ServletAPI获取 1 . 新建TestParamController类 2 . index.html 3 . 在TestParamController类里面写getParamByServletAPI 4. 测试 重新部暑 二 通过控制器方法的形参获取请求参数 1 . index.html 2 . TestParamController 3. 测试 三 RequestPar…