(持续更新)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

相关推荐
chlk12318 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑18 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件19 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
BingoGo21 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack21 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端