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

(持续更新)Ubuntu搭建LNMP(Linux + Nginx + MySQL + PHP)环境

LNMP(Linux + Nginx + MySQL + PHP)环境是在Linux操作系统上构建的一个高性能Web服务器环境。M也可以指代其他数据库,P也可以指代Python

1. 准备Linux系统

  • 确保你已经在一台服务器或虚拟机上安装了Linux操作系统。推荐使用Ubuntu、CentOS或Debian等发行版。此处演示用Ubuntu24.0.4LTS.

  • 在正式安装或者下载之前,我建议首先用命令把你现在的账户切换到root账户以保证有高访问权限以及修改权限,否则到后续修改文件时会报错或无法访问:

  • su root

        然后提示password后输入密码。

        当名字前显示root之后便说明已经在root用户下操作了:

                                        

2.配置网关

vim /etc/netplan/50-cloud-init.yaml

在Ubuntu 17.10及之后的版本中,配置静态IP地址不再使用/etc/network/interfaces文件,而是使用netplan工具。配置文件通常位于/etc/netplan/目录下,文件名可能是50-cloud-init.yaml或类似名称 

所以我们通过vim编辑器修改这个yaml文件,但注意yaml文件对格式有很高的要求,在编辑的时候务必遵守以下原则:

  • 大小写敏感(不然会报错unknown key 或者 did not find expected ' ' indicator)
  • 使用缩进表示层级关系(不然会报错 Invalid YAML: inconsistent indentation)
  • 缩进不允许使用 tab,只允许空格(不然会报错expected sequence)
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • # 表示注释
  • : 号后面要加空格(一般编辑器提示变色了才正确,如果和正文同一个颜色就不对)

或者可以参看我这个格式:如果自己格式出错可以直接复制(假设ip地址为192.168.123.321)

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: false
      addresses: [192.168.123.321/24]
      routes:
        - to: default
          via: 192.168.123.2
      nameservers:
       addresses: [8.8.8.8,8.8.4.4]
 

 其中注意:

一般DHCP4默认为true,改为false即可;

dhcp4底下的那个addresses填写的是你的ip地址,后面的  / 24 代表你的网络号是24位;

via:后面那个是你的网关;

nameservers后面的addresses代表的是Linux中用于指定 DNS 服务器的 IP 地址的配置项,该例子中写了多个dns地址这意味着系统将首先尝试使用 IP 地址 8.8.8.8 的 DNS 服务器来解析域名,如果该服务器不可用或响应慢,则会尝试使用 8.8.4.4 的服务器。注意两个dns地址之间有英文逗号分隔。除此之外可以尝试其他的dns地址

配置好之后点esc+:qw保存并退出即可。

然后输入:

netplan apply

用来使你的修改生效,重启网络。

如果出错会出现以下情况,需要重新根据提示检查修改后,再进行下一步:

GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone’s code. You must ensure an error is NULL before it’s set.
The overwriting error message was: /etc/netplan/00-xx-config.yaml: Error in network definition: unicast route must include both a ‘to’ and ‘via’ IP

3.下载PHP

第一步:检查已安装的软件包是否有可用的更新,确保更新到最新了。

apt update

否则可能会出现以下情况:

第二步:

cd /etc/apt

 apt install php

 4.下载并配置nginx

 apt install nginx -y

 下载好后切换到该路径:

cd /var/www/html

 然后输入:

ll

来查看当前内容:

然后输入:

vim info.php

打开后输入:

<?php

echo phpinfo();

?>

然后保存并退出。

此时再输入

ll

出来的应该是这样:相比之前多了一个info.php

此时我们打开本地浏览器,在网址栏内输入:

你的ip地址/info.php

检查是否配置成功:

 

5.安装MySQL:

sudo apt-get install -y mysql-server

可以通过以下代码来设置Mysql,确保安全

sudo mysql_secure_installation

http://www.xdnf.cn/news/3359.html

相关文章:

  • DeepSeek生成Word文档的创新路径与应用
  • 【计算机视觉】三维视觉:Nerfstudio:模块化神经辐射场框架的技术突破与实战指南
  • 操作系统OS是如何指挥外围设备的呢?
  • MySQL 服务搭建
  • Leetcode刷题记录25——合并区间
  • MySQL与分布式架构的碰撞
  • 使用MGeo模型高精度实现文本中地址识别
  • 题解:洛谷 CF2091E Interesting Ratio
  • Java 中使用正则表达式
  • 在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
  • 【计算机视觉】语义分割:Mask2Former:统一分割框架的技术突破与实战指南
  • Mysql常用函数解析
  • Annotate better with CVAT
  • 华为OD机试真题——斗地主之顺子(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 《TCP/IP详解 卷1:协议》之第九章:IP选路
  • 湖仓一体化介绍
  • 数据库基本概念:数据库的定义、特点、分类、组成、作用
  • 详解TypeScript中的类型断言及其绕过类型检查机制
  • 【Vue bug】:deep()失效
  • 如何提升自我执行力?
  • 拆解 browser-use 项目——深入理解 Agent 层
  • Linux 环境下 Mysql 5.7 数据定期备份
  • Kotlin-运算符重载函数
  • 生产级RAG系统一些经验总结
  • HTN77A0原理图提供聚能芯半导体禾润一级代理技术支持免费送样
  • 1295.统计位数为偶数的数字
  • SWIG 和 JNA / JNI 等 C 接口封装工具及进行 C 接口的封装
  • AnimateCC基础教学:二次贝塞尔曲线的绘制。
  • Android 动态权限申请
  • 多通道经颅电刺激器的主流厂家介绍