(持续更新)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.mzph.cn/news/903792.shtml

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

相关文章

服务器频繁重启日志分析与诊断

从你提供的日志来看&#xff0c;系统确实经历了多次重启。这个日志行显示的是&#xff1a; reboot system boot 6.8.0-58-generic Tue Apr 29 17:54 - 14:26 (20:31)这表示系统在4月29日17:54启动&#xff0c;运行了约20小时31分钟后&#xff0c;于次日14:26结束&#xff08;可…

如何提升个人的稳定性?

提升自我的稳定性是一个系统性工程&#xff0c;需要从内在认知、情绪管理、行为习惯到外在环境等多个维度进行优化。 以下是一些具体建议&#xff0c;帮助你逐步增强内心的稳定感&#xff1a; 一、内在认知调整 1. 建立清晰的自我认知 通过反思&#xff08;如写日记、冥想…

数值求解Eikonal方程的方法及开源实现

Eikonal方程是一类非线性偏微分方程&#xff0c;形式为 ( |\nabla u(x)| f(x) )&#xff0c;常见于波传播、几何光学、最短路径等问题。以下是数值求解Eikonal方程的方法及开源实现参考&#xff1a; 一、数值求解方法 有限差分法&#xff08;FDM&#xff09; 快速行进法&#…

基于Redis实现-用户签到

基于Redis实现-用户签到 这个功能将使用到Redis中的BitMap来实现。 我们按照月来统计用户签到信息&#xff0c;签到记录为1&#xff0c;未签到则记录为0 把每一个bit位对应当月的每一天&#xff0c;形成了映射关系。用0和1标示业务状态&#xff0c;这种思路称为位图(BitMap)。…

如何用GPU Instancing来优化树木草石重复模型

1&#xff09;如何用GPU Instancing来优化树木草石重复模型 2&#xff09;Unity ASTC压缩后的纹理在部分安卓机型上不显示 3&#xff09;现在大部分项目的竖版UI设计分辨率是多少 4&#xff09;Android上拖拽物体不实时跟随手指的问题 这是第430篇UWA技术知识分享的推送&#x…

Java面试高频问题(31-33)

三十一、服务网格&#xff1a;东西向流量治理与故障注入 服务网格架构分层 mermaid graph BT subgraph Control Plane APilot --> BEnvoy Sidecar CMixer --> B DCitadel --> B end subgraph Data Plane B --> E服务A B --> F服务B B --> G服务C end 核心能…

初学python的我开始Leetcode题8-3

提示&#xff1a;100道LeetCode热题-8-3主要是二叉树相关&#xff0c;包括三题&#xff1a;将有序数组转换为二叉搜索树、验证二叉搜索树、二叉搜索树中第K小的元素。由于初学&#xff0c;所以我的代码部分仅供参考。 目录 前言 题目1&#xff1a;将有序数组转换为二叉搜索树…

1996-2022年全国31省ZF干预度数据/财政干预度数据(含原始数据+计算过程+结果)

1996-2022年全国31省ZF干预度数据/财政干预度数据&#xff08;含原始数据计算过程结果&#xff09; 1、时间&#xff1a;1996-2022年 2、来源&#xff1a;国家统计局和各省年鉴 3、指标&#xff1a;地方财政一般预算支出、地区生产总值&#xff08;GDP&#xff09;、ZF干预度…

g4f升级到0.5.2.0版本了,但是有些机器无法运行,只能降级到0.5.1.2版本

g4f升级到0.5.2.0版本了&#xff0c;跟0.5.1.2更以前的版本相比&#xff0c;主要更新为增加了可以设置Huggingface等供应商的key Providers API key HuggingFace:Get API key HuggingSpace: 因为很多模型都会调用Huggingface&#xff0c;所以最好设置Huggingface的API key。…

C语言教程(二十五):C 语言函数可变参数详解

引言: 在 C 语言编程中,有时我们需要处理参数数量不固定的情况,比如常见的 printf 函数,它可以根据格式化字符串的要求接受任意数量的参数。这种能接受不确定数量参数的函数,就是可变参数函数。下面将深入探讨其定义、实现原理、使用方式、示例以及注意事项。 一、可变参…

OpenStack Yoga版安装笔记(25)Nova Cell理解

1、Nova Cell概述 &#xff08;官方文档&#xff1a;Cells (v2) — nova 25.2.2.dev5 documentation&#xff09; Nova中的cells功能的目的是允许较大的部署将其多个计算节点分割成多个cell。所有的nova部署都默认是cell部署&#xff0c;即使大多数情况下只有单一cell。这意味…

Java Set<String>:如何高效判断是否包含指定字符串?

在 Java 开发中&#xff0c;我们经常使用 Set 集合来存储一组唯一性的元素。特别是 HashSet&#xff0c;由于其基于哈希表的实现&#xff0c;在进行元素查找&#xff08;判断是否包含&#xff09;时通常具有非常高的效率&#xff08;平均时间复杂度 O(1)&#xff09;。 那么&a…

MySQL 查找指定表名的表的主键

原理 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME 表名 AND CONSTRAINT_NAME PRIMARY方法 public static String getPk(String tableName) {String sql "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TA…

Java大厂面试突击:从Spring Boot自动配置到Kafka分区策略实战解析

第一轮核心知识 面试官:请解释Spring Boot中自动配置的工作原理并演示如何自定义一个@ConfigurationProperties组件? xbhog:自动配置通过EnableAutoConfiguration注解触发,结合当前环境判断(如是否检测到MyBatis依赖)和条件注解(@ConditionalOnClass)来决定是否启用配…

开发板型号 ESP32-DevKitC-32模块型号 ESP32-WROOM-32 和主控芯片 ESP32-D0WDQ6-V3

以下是关于开发板型号 ESP32-DevKitC-32、模块型号 ESP32-WROOM-32 和主控芯片 ESP32-D0WDQ6-V3 的详细介绍&#xff1a; 开发板型号&#xff1a;ESP32-DevKitC-32 概述&#xff1a;ESP32-DevKitC 是乐鑫推出的一款基于 ESP32 模组的小型开发板&#xff0c;板上模组的绝大部…

数据库系统综合应用与深度实践指南

前言 在当今数据驱动的时代&#xff0c;数据库技术已成为信息系统的核心支柱。从简单的数据存储到复杂的企业级应用&#xff0c;数据库系统支撑着现代社会的方方面面。本文作为一篇综合性的数据库科普文章&#xff0c;旨在为读者提供从基础到进阶的完整知识体系&#xff0c;涵…

vscode 的空格和 tab 设置 与 Rime 自建词库

自动保存&#xff08;多用于失去焦点时保存&#xff09; Files: Auto Save 推荐不勾 保存时格式化&#xff08;Pritter 插件的功能&#xff0c;自动使用 Pritter 的格式&#xff09; Editor: Format On Save 推荐不勾 tab 的空格数量&#xff0c;2 或 4 Editor: Tab Size 推荐…

【Python爬虫详解】第五篇:使用正则表达式提取网页数据

在前面几篇文章中&#xff0c;我们介绍了几种强大的HTML解析工具&#xff1a;BeautifulSoup、XPath和PyQuery。这些工具都是基于HTML结构来提取数据的。然而&#xff0c;有时我们需要处理的文本可能没有良好的结构&#xff0c;或者我们只关心特定格式的字符串&#xff0c;这时正…

论文报错3

idm不让用&#xff1a; powershell管理员运行&#xff1a; irm https://raw.githubusercontent.com/lstprjct/IDM-Activation-Script/main/IAS.ps1 | iex 选择1&#xff1a; 输入9&#xff1a;

数据结构-树(二叉树、红黑、B、B+等)

​树的基本定义​ 树的定义 树&#xff08;Tree&#xff09;​​ 是一种 ​​非线性数据结构​​&#xff0c;由 ​​节点&#xff08;Node&#xff09;​​ 和 ​​边&#xff08;Edge&#xff09;​​ 组成&#xff0c;满足以下条件&#xff1a; ​​有且仅有一个根节点&am…