当前位置: 首页 > article >正文

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服务。

  • 安装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

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

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

f07c3d77ae994c50a83b860ecacff3be.png


http://www.kler.cn/a/284217.html

相关文章:

  • 前端垂直居中的多种实现方式及应用分析
  • 24.11.13 Javascript3
  • 智能电视/盒子的应用管理——通过ADB工具优化体验
  • 【mySql 语句使用】
  • 猿创征文|Inscode桌面IDE:打造高效开发新体验
  • ML 系列: 第 24 节 — 离散概率分布(泊松分布)
  • Linux的常见指令
  • WireShark网络分析~环境搭建
  • IDEA2023版本创建SSM项目框架
  • 自动化代码报错:ElementClickInterceptedException 解决方案
  • 计算机网络速成(三)
  • SQLi-LABS通关攻略【51-55关】
  • 使用SparkGraphX进行图计算时的编码问题
  • 用Python在PDF文档中创建动作
  • OpenCV+Python识别机读卡
  • python从列表元素中查找最小的元组坐标
  • Vue——认识day05_监视属性
  • 安装jmeter的梯度压测线程组(Custom Thread Groups)的插件
  • 10款必备的电脑监控软件推荐,实用又方便!顶尖产品一网打尽!2024纯干货
  • 【JAVA入门】Day28 - 数据结构
  • JavaScript 中,不同的赋值方式适用场景
  • OpenAI“草莓项目”最快今年秋季发布!苹果将于9月10号推出首款AI iPhone|AI日报
  • C/C++ 编译过程概述
  • 睡岗检测数据集(工作 课堂等) 3100张 增强 睡岗趴睡 带标注 voc yolo
  • Springboot3整合ELK实现日志可视化
  • Spring Boot中Tomcat、Jetty、Undertow哪个嵌入式服务器最好?