Linux 快速构建LAMP环境
目录
部署方式:
基础环境准备:
1.安装Apache服务
(1)安装Apache
(2)安装一些Apache的扩展包
2.安装PHP语言
(1)下载php软件仓库
(2)指定php安装版本为7.4
(3)查看php版本
(4)安装一些php扩展包
3.配置msyql数据库
(1)安装mariadb
(2)启动数据库
(3)创建初始密码
(4)登录数据库授权root账号可以远程登录,后边需要测试PHP与数据库的连通性
4.所有服务启动并设置开机自启
5.测试
(1)测试Apache和php连通性
(2)测试php与msyql数据库连通性
LAMP组件:Linux、Apache、MySQL、PHP
部署方式:
源码部署:首先从 Apache 官方网站获取源代码压缩包,解压后,需要配置编译选项(如指定安装路径、启用某些模块等),然后使用编译工具(如 gcc 、make)进行编译和安装。源代码编译安装相对复杂,但可以根据具体需求进行定制化配置。
二进制部署:可以使用系统的包管理工具(如 yum )进行安装。安装部署速度较快
本章案例采用二进制方式部署
基础环境准备:
Linux 实验基础环境准备(外网篇)-CSDN博客【代码】Linux 实验基础环境准备(外网篇)https://blog.csdn.net/weixin_72819498/article/details/141029901
1.安装Apache服务
(1)安装Apache
yum -y install httpd
(2)安装一些Apache的扩展包
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
2.安装PHP语言
php 包是php代码的解释器
php-fpm 包用于管理php进程接收请求
php-mysql 包用于与MySQL数据库集成,可连接MySQL数据库并进行增删改查
php-gd包用于帮助php 处理图片的扩展,如生成图片、裁剪图片、缩放图片等
(1)下载php软件仓库
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
(2)指定php安装版本为7.4
yum-config-manager --enable remi-php74yum -y install php php-fpm php-mysqlnd php-gd
(3)查看php版本
php -v

(4)安装一些php扩展包
yum -y install php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
3.配置msyql数据库
Centos仓库中没有mysql的软件包,所以这里我们用mariadb代替
(1)安装mariadb
yum -y install mariadb mariadb-server
(2)启动数据库
systemctl enable mariadb.service --now
(3)创建初始密码
mysqladmin -u root password 123
-------------------------------------------------------------------------------
或者使用智能脚本进行创建初始本地远程密码
mysql_secure_installation-------------------------------------------------------------------------------
(4)登录数据库授权root账号可以远程登录,后边需要测试PHP与数据库的连通性
mysql -uroot -p123
MariaDB [(none)]> CREATE USER 'root'@'%' IDENTIFIED BY '123';GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123';MariaDB [(none)]> FLUSH PRIVILEGES;##创建数据库MariaDB [(none)]> create database wordpress;MariaDB [(none)]> quit
4.所有服务启动并设置开机自启
systemctl enable httpd php-fpm --now
5.测试
(1)测试Apache和php连通性
echo '<?php phpinfo();?>' >/var/www/html/test.php
写一个简单的测试页面
访问浏览器
格式:http://20.20.60.240/test.php

(2)测试php与msyql数据库连通性
7.0以上使用此页面
vim mysql.php<?php$link = mysqli_connect('127.0.0.1','root','123');if ($link)echo "success";elseecho "could not connect to the database";
mysql_close();
?>
数据库php5.0~6.0版本使用的测试页面
如果7.0以上版本使用肯定会访问错误,属于正常现象
<?php$con=mysql_connect("120.0.0.1","root","123");if(!$con){die("could not connect to the db:\n".mysql_error());}else{echo "success";}mysql_close($con);?>

两个测试页面都可以访问代表LAMP架构没有问题,至此LAMP构建成功!!
相关文章:
Linux 快速构建LAMP环境
目录 部署方式: 基础环境准备: 1.安装Apache服务 (1)安装Apache (2)安装一些Apache的扩展包 2.安装PHP语言 (1)下载php软件仓库 (2)指定php安装版本…...
【C/C++】语言基础知识总复习
文章目录 1. 指针1.1 数组和指针1.2 函数指针1.3 const 和 指针、static、#define、typedef1.4 指针和引用的异同1.5 sizeof与strlen 2. 库函数及其模拟实现3. 自定义类型4. 数据存储5. 编译链接过程6. C入门基础6.1 函数重载6.2 引用和指针6.3 建议使用const、inline、enum去替…...
【漏洞修复】Tomcat中间件漏洞
1.CVE-2017-12615 抓包上传一句话木马 密码passwd 2.后台弱口令部署war包 先用弱口令登录网站后台 制作war包 将172.jsp压缩成.zip文件,修改后缀为.war 上传 蚁剑链接 3.CVE-2020-1938 Python2 CVE-2020-1938.py IP -p 端口 -f 要读取的文件 漏洞修复…...
10.动态路由绑定怎么做
为什么要动态路由绑定 因为,如果我们的导航栏没有这个权限,输入对应网址,一样可以获取对应的页面,为了解决这个问题,有两种解决方案,一种是动态路由绑定(导航有多少个,就有多少个路由,在路由修改之前,先进行一个导航路由的加载和路由的动态绑定,然后看是否有这个路由,有就跳转…...
操作ArkTS页面跳转及路由相关心得
本文为JS老狗原创。 当前端不得不关注的点:路由,今天聊一聊鸿蒙相关的一点心得。 总体上套路不意外,基本就是(尤其是Web)前端那些事:维护路由表、跳转带参数、历史堆栈操作,等等。 历史原因&…...
Vue2-低版本编译兼容-基础语法-data-methods-双向数据绑定v-model
文章目录 1.安装编译命令2.低版本兼容3.vue2响应式数据3.1.data定义3.2.双向数据绑定v-model3.3.单向数据绑定v-bind4.方法methods5.子组件向父组件传值6.父组件向子组件传值1.安装编译命令 命令行工具 vue create zhiliaoplugins8824barcodebatch cd zhiliaoplugins8824barc…...
提取“c语言的函数定义“脚本
------------------------------------------------------------ author: hjjdebug date: 2024年 08月 11日 星期日 16:35:31 CST description: 提取c语言的函数定义脚本 ------------------------------------------------------------ c 文件中包含很多函数定义, 我想在每…...
pytorch学习(十二):对现有的模型进行修改
以VGG16为例: VGG((features): Sequential((0): Conv2d(3, 64, kernel_size(3, 3), stride(1, 1), padding(1, 1))(1): ReLU(inplaceTrue)(2): Conv2d(64, 64, kernel_size(3, 3), stride(1, 1), padding(1, 1))(3): ReLU(inplaceTrue)(4): MaxPool2d(kernel_size2…...
服务器虚拟内存是什么?虚拟内存怎么设置?
服务器虚拟内存是计算机系统内存管理的一种重要技术,它允许应用程序认为它们拥有连续且完整的内存地址空间,而实际上这些内存空间是由多个物理内存碎片和外部磁盘存储器上的空间共同组成的。当物理内存(RAM)不足时,系统…...
深度学习入门指南(1) - 从chatgpt入手
2012年,加拿大多伦多大学的Hinton教授带领他的两个学生Alex和Ilya一起用AlexNet撞开了深度学习的大门,从此人类走入了深度学习时代。 2015年,这个第二作者80后Ilya Sutskever参与创建了openai公司。现在Ilya是openai的首席科学家,…...
Python学习笔记(六)
""" 演示对序列进行切片操作 """ # 切片;从一个序列中,取出一个子序列 # 语法[起始下标:结束下标:步长] # 这三个都不写也行,视为从头到尾步长为1 # 起始下标不写,视作从头开…...
大数据安全规划总体方案(45页PPT)
方案介绍: 大数据安全规划总体方案的制定,旨在应对当前大数据环境中存在的各类安全风险,包括但不限于数据泄露、数据篡改、非法访问等。通过构建完善的安全防护体系,保障大数据在采集、存储、处理、传输、共享等全生命周期中的安…...
第20周:Pytorch文本分类入门
目录 前言 一、前期准备 1.1 环境安装导入包 1.2 加载数据 1.3 构建词典 1.4 生成数据批次和迭代器 二、准备模型 2.1 定义模型 2.2 定义示例 2.3 定义训练函数与评估函数 三、训练模型 3.1 拆分数据集并运行模型 3.2 使用测试数据集评估模型 总结 前言 …...
记一次 SpringBoot2.x 配置 Fastjson请求报 internal server 500
1.遇到的问题 报错springboot从2.1.16升级到2.5.15,之后就报500内部错误,后面调用都是正常的,就考虑转换有错。 接口返回错误: 2.解决办法 因为我用了fastjson,需要转换下,目前可能理解就是springboot-we…...
OSPF笔记
OSPF:开放式最短路径优先协议 使用范围:IGP 协议算法特点:链路状态型路由协议,SPF算法 协议是否传递网络掩码:传递网络掩码 协议封装:基于ip协议封装,协议号为89 一,ospf特点 1…...
IOC容器初始化流程
IOC容器初始化流程 一、概要1.准备上下文prepareRefresh()2. 获取beanFactory:obtainFreshBeanFactory()3. 准备beanFactory:prepareBeanFactory(beanFactory)4. 后置处理:postProcessBeanFactory()5. 调用bean工厂后置处理器:invokeBeanFactoryPostProcessors()6. 注册bea…...
第二季度云计算市场份额榜单:微软下滑,谷歌上升,AWS仍保持领先
2024 年第二季度,随着企业云支出达到 790 亿美元的新高,三大云计算巨头微软、谷歌云和 AWS的全球云市场份额发生了变化。 根据新的市场数据,以下是 2024 年第二季度全球云市场份额结果和六大世界领先者,其中包括 AWS、阿里巴巴、…...
三点确定圆心算法推导
已知a,b,c三点求过这三点的圆心坐标 a ( x 1 , y 1 ) a(x_1, y_1) a(x1,y1) 、 b ( x 2 , y 2 ) b(x_2, y_2) b(x2,y2) 、 c ( x 3 , y 3 ) c(x_3, y_3) c(x3,y3) 确认三点是否共线 叉积计算方式 v → ( X 1 , Y 1 ) u → ( X 2 , Y 2 ) X 1 Y 2 − X 2 Y 1 \…...
神经网络 (NN) TensorFlow Playground在线应用程序
神经网络 (NN) 历史上最重要的发现之一是神经网络 (NN) 的强大功能。 在神经网络中,称为神经元的许多数据层被添加在一起或相互堆叠以计算新的数据级别。 常用的简称: DNN 深度神经网络CNN 卷积神经网络RNN 循环神经网络 神经元 科学家一致认为&am…...
腾讯课堂 离线m3u8.sqlite转成视频
为了广大腾讯课堂用户对于购买的课程不能正常离线播放,构成知识付费损失,故出此文档。 重点:完全免费!!!完全免费!!!完全免费!!! 怎么…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
