小工具      在线工具  汉语词典  css  js  c++  java

Ubuntu 20.04搭建LAMP环境

ubuntu,linux,运维,php,mysql 额外说明

收录于:40天前

LAMP环境是在Linux下配置Apache、Mysql、Php。

下载前更新:

更新源: sudo apt-get update

更新软件: sudo apt-get update

更新系统软件: sudo apt-get dist-upgrade

安装Apache2

安装

sudo apt install apache2 -y

检查是否启用(默认端口是80,如果有冲突,记得更改端口,如果防火墙打开,记得释放端口号)

systemctl 状态 apache2

如果存在端口冲突,请进入配置文件进行更改。

默认安装位置:/etc/apache2

修改端口号:ports.conf

如果有冲突请更换

在浏览器中输入您的 IP 或 127.0.0.1 或 localhost。当看到下图时,说明安装成功(如果端口号不是80,则需要带上:IP:端口号)

附:
apache2的 开启、关闭、重启(在apache2的目录下)
apache2 start
apache2 stop
apache2 restart

安装MySQL 5.7

安装

sudo apt install mysql-server mysql-client

查看

mysql

看到下图说明成功
 


另:
为数据库创建用户的方法
--进入mysql
mysql
--创建用户
CREATE USER 'username'@'%' IDENTIFIED BY '123456';
--赋予用户对所有表增删查改的权限
GRANT ALL ON *.* TO 'username'@'%';

grant select,delete,insert,update on 数据库.* to 用户名@'127.0.0.1';
--用户登录
mysql -u username -p password

安装PHP

sudo apt-get 安装 php

查看

php-v

看到下图就说明成功了

协会

PHP 和 Apache2

sudo apt-get install libapache2-mod-php

PHP 和 MySQL

sudo apt-get install php-mysql

测试环境

打开一个文件

cd /var/www/html

创建两个文件

触摸测试.php 触摸测试.html

两个文件均写入以下内容

<?php phpinfo(); ?>

--浏览器访问
127.0.0.1/test.php
看到下图说明php环境OK
 


--浏览器访问
127.0.0.1/test.html
看到下图说明LAMP环境OK
 


另:
如果你的test.html为空白,说明html没有在apache2的解析范围内——>解决方法:
打开文件
cd /etc/apache2/mod-available/php7.4.conf
把第一行:
<FilesMatch ".+.ph(ar|p|tml)$">
改为:
<FilesMatch ".+.(ph(ar|p|tml)|html|htm$">
并重启apache2:
sudo /etc/init.d/apache2 restart
当然你有需要还可以添加其他的。

至此,LAMP构建完成!

. . .

相关推荐

额外说明

Go语言中的数组、切片和映射解析

目录 数组 数组的声明 数组循环 切片 切片声明 切片元素循环 映射 Map的声明及初始化 Map的遍历 数组 数组存放的是固定长度、相同类型的数据,而且这些存放的元素是连续的。 数组的声明 例如声明一个整形数组: array := [3]int{ 1,

额外说明

如何优雅地处理重复请求(并发请求)

对于一些用户请求,在某些情况下是可能重复发送的,如果是查询类操作并无大碍,但其中有些是涉及写入操作的,一旦重复了,可能会导致很严重的后果,例如交易的接口如果重复请求可能会重复下单。 重复的场景有可能是: 黑客拦截了请求,重放 前端/客户端因为某些原因请求

额外说明

Python打包错误:RecursionError: maximum recursion depth exceeded的解决

原因 程序中因为有树形结构,所以用到递归。这里的警告是因为超出了Python的默认递归限度900,重设一下改打包时引用的设定就行了。 解决步骤 打包失败后,打包目录下会出现一个spec文件,这个也就是打包时候的配置文件了。在里面第二行加上如下代码,再跑打

额外说明

Python每日一练——列表,元组和字典第六关:用循环产生列表以及字典

面试题第六关: 第一部分——考点: 用循环产生列表 用循环产生字典 第二部分——面试题: 1.面试题一:如何快速调换字典中的key和value 2.面试题二:如何用循环快速生成一个从0到100的列表 第三部分——解析: 面试题一 之 如何快速调换字典中的

额外说明

CPU启动时会发生什么

CPU启动时会发生什么 本文译自:What Happens When A CPU Starts 原文截图 译文 这是关于CPU芯片启动时会发生什么的讨论。它可以被认为是整个计算机启动时所发生的事情,因为中央处理器是计算机的中心,也是动作开始的地方。 一般

额外说明

分布式事务 —— SpringCloud Alibaba Seata

文章目录 Seata 简介 Seata 服务端 Seata 客户端 Seata 简介 传统的单体应用中,业务操作使用同一条连接操作不同的数据表,一旦出现异常就可以整体回滚。随着公司的快速发展、业务需求的变化,单体应用被拆分成微服务应用,原来的单体应用被拆

额外说明

Spring Boot问题之JSP无法显示Could not resolve view with name ‘xxxx‘ in servlet with name ‘dispatcherServlet

问题: 在Spring Boot应用中JSP页面无法显示, 页面提示: 控制台的错误信息类似: javax.servlet.ServletException: Could not resolve view with name 'myjsp' in ser

额外说明

JS面向对象系列之一[prototype,原型]

文章目录 JavaScript 与面向对象 JavaScript 函数 JavaScript 构造函数与对象 函数与对象,prototype属性与__proto__属性 函数的prototype作用-动态添加属性和方法 JavaScript 与面向对象

额外说明

《天天数学》连载10:一月十日

格言作者:艾伦·凯(1940年5月17日~),英文原名Alan Curtis Kay,美国计算机科学家,在面向对象编程和窗口式图形用户界面方面作出了先驱性贡献。2003年获得图灵奖。目前担任Viewpoints研究院院长,加州大学伯克利分校兼职教授。曾任

额外说明

Array-接口4-参数是一个整型数组和数组长度的整数加上一个整数;预期结果是一个整数数组

测试接口的代码说明 适用接口:参数为一个整型数组和数组长度的整数,再加一个整数;预期结果是一个整型数组 测试接口的具体代码如下: 注意红色字体,用后续小节中的接口进行替换,进行开发测试。 #include <stdio.h> #include <stdl

ads via 小工具