ubuntu环境下部署LNMP集成环境超详细图文教程

2024-08-27 21:52

本文主要是介绍ubuntu环境下部署LNMP集成环境超详细图文教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ubuntu系统下安装LNMP集成环境

一、Nginx安装

二、安装及配置MySQL数据库

修改密码

三、安装PHP

四、配置Nginx服务

​编辑五、配置PHP


 

  • 本文使用的Ubuntu版本为20.04。

php开发中集成环境的安装是必不可少的技能。

而LNMP代表的是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

今天就给大家分享下LNMP的安装步骤。

一、Nginx安装

  • 在安装 Nginx 前先执行下更新命令
sudo apt-get update

749e41a87a6b496aae737b768ad47473.png

  • 接下来开始安装Nginx
sudo apt-get install nginx

113eeae6a7a84c919153d7bd9def452f.png

📢 提示:如下是我在安装过程中出现过的问题及解决方案,供如果出现同样问题的你们参考。

  1. 如下,提示我权限不够。
    E: 无法打开锁文件 /var/lib/dpkg/lock-frontend - open (13: 权限不够)
    E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),请查看您是否正以 root 用户运行?
  2. 只需登录root用户即可。
lxy@lxy-virtual-machine:~$ apt-get install nginx
E: 无法打开锁文件 /var/lib/dpkg/lock-frontend - open (13: 权限不够)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),请查看您是否正以 root 用户运行?
lxy@lxy-virtual-machine:~$ sudo passwd root
新的 密码: 
重新输入新的 密码: 
passwd:已成功更新密码
lxy@lxy-virtual-machine:~$ su root
密码: 
root@lxy-virtual-machine:/home/lxy# apt-get install nginx
  • 开启Nginx服务

ab406a34ccc047eaa008ba0744743808.png

  • 查看Nginx版本
sudo nginx -v

db509f242e944d3b85000f05b4b10fcb.png

  •  安装执行完成后打开浏览器输入:http://localhost/ ,检验是否安装成功,出现如下提示代表安装成功。

d04a97c96eeb4affae88a4bc0273fb73.png

二、安装及配置MySQL数据库

MySQL是一个关系型数据库管理系统。本步骤将指导如何在ECS实例上安装并配置MySQL服务。

1、安装MySQL数据库。

sudo apt install mysql-server
sudo apt install mysql-client

f2b989a700d947868d66d9215dffafdb.png

fd9aada2bacf4345b36123d031550863.png

📢 提示:如下是我在安装过程中出现过的问题及解决方案,供如果出现同样问题的你们参考。

  1. 如下提示 锁正由进程 31837(dpkg)持有。
    lxy@lxy-virtual-machine:~$ sudo apt-get install mysql-server
    E: 无法获得锁 /var/lib/dpkg/lock。锁正由进程 31837(dpkg)持有
    N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。
    E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

    解决措施如下:

    sudo rm /var/lib/dpkg/lock-frontend
  2. 如下又提示 锁正由进程 7506(unattended-upgr)持有。
    lxy@lxy-virtual-machine:~$ sudo apt-get install mysql-server
    E: 无法获得锁 /var/lib/dpkg/lock。锁正由进程 7506(unattended-upgr)持有
    N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。
    E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

    解决措施如下 :

    sudo apt remove unattended-upgrades
  3. 完成,输入下载代码即可成功安装。
    sudo apt-get install mysql-server

     

f4ce8cb1380241f7afb08dee5763bfae.png

  • 执行如下命令,检查MySQL服务是否正常运行。
sudo service mysql start
sudo service mysql status

如下图所示说明MySQL处于运行状态。 

64dbf2d1eec641538799b9a8afaba284.png

  • 检查MySQL是否安装成功。
mysql

返回如下结果,表示MYSQL安装成功。

74d43a293cad449b89e5315af7c90267.png

执行 quit 或者 exit 命令,则可以退出MYSQL。

  •  查看MYSQL版本
mysql -v

24f0a29260d642798cbd6ebd193db2fb.png

修改密码

  • 使用如下代码,在root情况下执行如下命令,可成功登录MYSQL。
mysql -uroot -p

输入 root 用户新密码并按Enter键。返回下图结果,表示已成功登陆MYSQL。

91c896d5764f4d958bcc8d232efb5470.png

  • 切换到普通用户下,发现报错。

f685f244a43a4268bb5bf59a61caabb2.png

4bbd928d901f4311b096ffa98625352a.png

  • 解决方法
  1. 利用sudo权限登录MySQL,代码如下:
    sudo mysql -u root

    6f281e98a075444e8e2e08c58d2c87f7.png

  2. 使用mysql数据库。
    USE mysql;

    4f77d70c438147e6b855d3f8f7b0d6a4.png

  3. 添加修改密码代码(下面仅供参考,可自定义)。
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

    4411c470a63942349d1d6db2b14abaa1.png

  4. 通过以下命令使设置生效。
    FLUSH PRIVILEGES;

    559caa29ffcd499c864946e5117310a4.png

  5. 退出mysql模式,输入下方代码,发现可以使用刚才设置的密码登录MySQL。
    mysql -u root -p

    e924810cc44a42dcaa5fd0f799063b3d.png

三、安装PHP

PHP是一种广泛使用的通用开源脚本语言,适合于Web网站开发,它可以嵌入HTML中。本步骤将指导如何在ECS实例上安装并配置PHP服务。

  • 使用如下代码,安装PHP
sudo apt -y install php-fpm

8d558c6a297c46c299a451e4233176a1.png

  • 查看PHP版本,返回如下结果,可以看到PHP版本
php -v

4d8ca8fcab9341ffadcc86aca83351ed.png

四、配置Nginx服务

本步骤将指导如何修改Nginx默认的配置文件,添加 Nginx 对 PHP 的支持。

  • 打开Nginx默认的配置文件。
vim /etc/nginx/sites-enabled/default

6aac87f2aa354fbb88818b27b0169d06.png

  • 修改Nginx配置文件。
  1. 在server{}内,找到index开头的配置行,在该行中添加index.php。25d6b202e1c54f00a1b0ff517a4efcd0.png
  2.  在server{}内找到 location ~ \.php$ {},去除以下配置行的注释符号#,并将php7.0-fpm.sock改为php7.2-fpm.sock。09fd6b7b502047879effb60eb3b01d46.png
  3. 按Esc退出编辑模式,然后输入 :wq 并按Enter键,保存并退出文件。
  • 重启Nginx服务。
sudo systemctl restart nginx.service

a97e706cd9834cfda837114f3dcffb2b.png
五、配置PHP

  • 在Nginx网站根目录中,新建 phpinfo.php 文件。
sudo vi /var/www/html/phpinfo.php
  • 添加以下配置信息。
<?php echo phpinfo(); ?>

7ae5b8f010084f5e80b4732f81dc46ca.png

  • 按Esc退出编辑模式,然后输入 :wq 并按Enter键,保存并退出文件。
  • 启动PHP。(php7.4-fpm 是我这的版本号,你们根据自己的版本号进行修改)
sudo systemctl start php7.4-fpm

6fb31bc8fa714c42b1985b2032a4f2c3.png
5、在本地浏览器中打开新页签,在地址栏中访问 http://localhost/phpinfo.php。

返回如下页面,表示PHP语言环境安装成功。

f07c3d77ae994c50a83b860ecacff3be.png

 

 

这篇关于ubuntu环境下部署LNMP集成环境超详细图文教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112887

相关文章

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h