在linux环境下安装lnmp

lnmp官网:https://lnmp.org

一:lnmp安装

参考:https://lnmp.org/install.html

1:下载lnmp安装包

wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz

2:解压lnmp安装包

 tar zxf lnmp2.0.tar.gz

3:安装lnmp

cd lnmp2.0
./install.sh lnmp

如需要安装LNMPA或LAMP,将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可

运行上述LNMP安装命令后,会出现如下提示:

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10如果是编译安装必须在1G以上内存的更高配置上才能选择,如果 不需要安装数据库时输入0即可,如果选择MySQL/MariaDB如果有对应架构的二进制包会提示:”Using Generic Binaries [y/n]:“ 这一步是提示是否使用二进制安装,输入 y 为使用二进制安装,输入 n 为使用源码编译安装。如果没有提示说明当前架构没有对应的二进制安装包。

设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需按Backspace键)

询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n

输入要选择的PHP版本的序号

选择是否安装内存优化,提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

如下表示安装成功,某些系统可能会一直卡在Install lnmp V2.0 completed! enjoy it.不自动退出,可以按Ctrl+c退出

同时也支持单独安装Nginx或数据库,如果已经安装了指定php版本,还可以安装多个版本的php

./install.sh nginx  #单独安装nginx
./install.sh db     #单独安装mysql
./install.sh mphp	#多版本php安装

二:nginx,mysql,php升级

参考:https://lnmp.org/faq/lnmp1-2-upgrade.html

1:nginx升级

访问 http://nginx.org/en/download.html 可查找nginx版本号

./upgrade.sh nginx

2:mysql升级

访问http://dev.mysql.com/downloads/mysql/ 获取MySQL的版本号

./upgrade.sh mysql 

3:MySQL升级至MariaDB

访问https://downloads.mariadb.org/获取MariaDB的版本号

./upgrade.sh m2m

4:MariaDB升级

访问https://downloads.mariadb.org/获取MariaDB的版本号

./upgrade.sh mariadb

5:php升级

访问http://www.php.net/downloads.php 获取版本号

./upgrade.sh php

三:LNMP相关软件目录及配置文件位置

参考:https://lnmp.org/faq/lnmp-software-list.html

1:LNMP相关软件安装目录

  • Nginx 目录: /usr/local/nginx/
  • MySQL 目录 : /usr/local/mysql/
  • MySQL数据库所在目录:/usr/local/mysql/var/
  • MariaDB 目录 : /usr/local/mariadb/
  • MariaDB数据库所在目录:/usr/local/mariadb/var/
  • PHP目录 : /usr/local/php/
  • 多PHP版本目录 : /usr/local/php5.5/ 其他版本前面5.5的版本号换成其他即可
  • PHPMyAdmin目录 : /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
  • 默认网站目录 : /home/wwwroot/default/
  • Nginx日志目录:/home/wwwlogs/
  • 添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/

2:LNMP相关配置文件位置

  • Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
  • 添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
  • MySQL配置文件:/etc/my.cnf
  • PHP配置文件:/usr/local/php/etc/php.ini
  • php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

四:修改mysql的数据存储目录和nginx默认访问地址

1:lnmp安装前

在安装之前我们将lnmp安装包解压之后,在解压包中我们可以看到一个名为lnmp.conf的文件,修改lnmp.conf文件:

修改lnmp.conf文件之后再进行安装,这时候mysql的数据存储地址和默认访问地址就变成我们设置的了

2:lnmp安装后

(1):首先执行/etc/init.d/mysql stop停止mysql,然后执行cp -a /usr/local/mysql/var/* /XXX/,再chown mysql:mysql -R /XX/ 最后修改/etc/my.cnf

最后启动MySQL即可

(2):找到nginx的主配置文件(/usr/local/nginx/conf/nginx.conf)进行修改

五:lnmp添加虚拟主机(网站)

参考:https://lnmp.org/faq/lnmp-vhost-add-howto.html

lnmp vhost add

出现如下界面:

输入要添加网站的主域名

询问是否添加更多域名

设置网站的目录(注意如要输入必须是全路径即以/开头的完整路径!!!

配置是否开启伪静态

配置伪静态方式,默认存在ordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2,zblog等常用的Nginx伪静态配置文件

配置是否启用pathinfo

配置是否启用运行日志

配置日志存储地址

配置是否使用IPV6


配置站点使用的php版本

配置是否添加数据库和数据库用户

验证mysql的root账号密码

配置创建的数据库名称

配置创建的数据库密码

配置是否添加SSL,如果输入y需要使用自己准备好的SSL证书和key

如上表示站点配置成功

六:LNMP状态管理命令

参考:https://lnmp.org/faq/lnmp-status-manager.html

  • lnmp状态管理: lnmp {start|stop|reload|restart|kill|status}
  • Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
  • MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
  • PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
  • 多PHP版本状态管理:/etc/init.d/php-fpm5.5 {start|stop|quit|restart|reload|logrotate} 前面5.5为对应的PHP版本,其他版本自行替换。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python-高阶函数

在Python中,高阶函数是指能够接收函数作为参数,或者能够返回函数的函数。这种特性使得函数在Python中可以被灵活地传递和使用。以下是一些关于Python高阶函数的详细解释: 函数作为参数: 高阶函数可以接收其他函数作为参数。这样的…

C++多线程学习[四]:多线程的通信和同步、互斥锁、超时锁、共享锁

一、多线程的状态 初始化 (Init):该线程正在被创建。就绪 (Ready):该线程在就绪列表中,等待CPU的调度。运行 (Running):该线程正在运行。阻塞(Bl…

**登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**

用户登录——>数据加密数据库比对——>生成jwt令牌封装返回——>拦截器统一拦截进行jwt校验-并将数据放入本地线程中。 0、 ThreadLocal 介绍: ThreadLocal 并不是一个Thread,而是Thread的线程局部变量。 ThreadLocal为每个线程提供单独一份…

边缘计算的挑战和机遇

目录 前言 一、边缘计算 (一)为什么需要边缘计算 (二)什么是边缘计算 (三)边缘计算体系架构 (四)边缘计算的好处 二、案例分析 (一)云卸载 &#xf…

三个视频提取软件一键快速提取

在当今的社交媒体时代,短视频分享已经成为一种流行的表达方式。然而,有时我们遇到视频过长或水印影响观看体验的情况。这时,一款快速、高效的短视频提取软件就显得尤为重要。今天,我们就为大家推荐三款优秀的短视频提取软件。 水…

【MATLAB】Linux版本 高分辨率屏 调整显示缩放

0 引言 安装了linux版本的MATLAB R2023b之后,发现工具栏字体很小不方便使用,所以上网找到了MATLAB论坛上某位大佬的教程:参考链接,放在这里供各位参考 。 1 环境 这里注明我的matlab安装环境仅供参考,未在其他环境下…

高级RAG技术、以及算法实现

知识库地址:Advanced RAG techniques 检索增强生成(Retrieval Augmented Generation, RAG)为大语言模型(Large Language Model, LLM)提供了一种机制,通过从数据源检索到的信息为其生成的答案提供依据。简而…

【VTKExamples::PolyData】第四期 DijkstraGraphGeodesicPath

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例DijkstraGraphGeodesicPath,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. DijkstraGraphGeodesicPath /…

【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】

前言 大家好吖,欢迎来到 YY 滴C复习系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…

把屏幕变成毫米测量工具

主要功能: 根据屏幕的像素个数和物理长度对应关系,计算设置的实际长度,把屏幕当成直尺用。功能模仿FastStone里面的屏幕标尺工具 运行演示: 其他说明: 1.软件打开时会自动获取屏幕像素个数和物理长度,也可…

基于爬虫和Kettle的豆瓣电影的采集与预处理

一:爬虫 1、爬取的目标 将豆瓣电影网上的电影的基本信息,比如:电影名称、导演、电影类型、国家、上映年份、评分、评论人数爬取出来,并将爬取的结果放入csv文件中,方便存储。 2、网站结构 图1豆瓣网网站结构详…

Parallel patterns: convolution —— An introduction to stencil computation

在接下来的几章中,我们将讨论一组重要的并行计算模式。这些模式是许多并行应用中出现的广泛并行算法的基础。我们将从卷积开始,这是一种流行的阵列操作,以各种形式用于信号处理、数字记录、图像处理、视频处理和计算机视觉。在这些应用领域&a…

尚硅谷离线数仓之采集平台

1. 用户行为日志 数据流向流程图如下,其中红框表示用户行为日志数据的流向图。 1.1 行为日志内容 行为日志主要包括以下几个内容 页面浏览记录动作记录曝光记录启动记录错误记录 页面浏览记录 动作记录 曝光记录 启动记录 1.2 用户行为日志格式 页面日志启动…

Radzen Blazor Studio 脚手架框架解读

背景 组织管理管理准备使用Blazor这个工具实现,因为其有对应的 scaffold 脚手架,先构建数据库,然后通过向导,生成CRUD以及对应的接口,那么有必要看一下,其内部的代码结构是什么样的。 结构 接口层 有两类…

STM32-04-STM32时钟树

STM32时钟树 什么是时钟? 时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波。(时钟是单片机的脉搏,搞懂时钟走向及关系,对单片机使用至关重要)。 时钟树 时钟源 2个外部时钟源 高速外部振荡器(HSE…

vue中el-radio无法默认选中

页面上不生效&#xff0c;默认什么都不选中 <el-radio-group v-model"queryParams.videoUrlType"><el-radio :label"1">本地上传</el-radio><el-radio :label"2">外部链接</el-radio> </el-radio-group>da…

vue el-table最后一页所有数据批量删除或者单个删除,自动回到上一页,包括单条删除

批量删除单条删除//判断数据是否可以满一页isFillList () {const totalPage Math.ceil((this.docDateTotal - this.changeDocData.length) / this.docPageSize) // 总页数this.docPage this.docPage > totalPage ? totalPage : this.docPagethis.docPage this.docPage &…

高级 Python 面试问题与解答

文章目录 专栏导读1.什么是PIP&#xff1f;2.什么是 zip 函数&#xff1f;3.Python 中的 __init __ () 是什么&#xff1f;4.Python 中的访问说明符是什么&#xff1f;5.Python 中的单元测试是什么&#xff1f;6.Python全局解释器锁&#xff08;GIL&#xff09;&#xff1f;7.P…

docker-consul部署

目录 一、环境 二、consul服务器 三、registrator服务器 四、consul-template 一、环境 consul服务器 192.168.246.10 运行consul服务、nginx服务、consul-template守护进程 registrator服务器 192.168.246.11 运行registrator容器、运行ngi…

看完这篇你就知道了!人气爆表的6款Sketch插件大揭秘!

Sketch作为一种在线设计工具&#xff0c;一直是许多设计师的最爱。它不仅能快速建立原型&#xff0c;还能提供丰富的插件&#xff0c;以满足不同的需求。 今天&#xff0c;小抄将与大家分享6款流行的Sketch插件供参考。这些插件都是小抄精心挑选的&#xff0c;支持Windows、Ma…