Linux【实战】—— LAMP环境搭建 部署网站

目录

一、介绍

1.1什么是LAMP?

1.2LAMP的作用

二、部署静态网站

2.1 虚拟主机:一台服务器上部署多个网站

2.1.1 安装Apache服务

2.1.2 防火墙配置

2.1.3 准备网站目录

2.1.4 创建网站的配置文件

2.1.5 检查配置文件是否正确

2.1.6 Linux客户端访问服务器网站

2.1.7 Windows客户端访问服务器网站

2.2 部署多个网站

2.2.1 准备网站目录

2.2.2 创建网站配置文件

2.2.3 检查配置文件是否正确

三、部署动态网站(LAMP)

3.1 安装LAMP

3.1.1 安装Apache服务

3.1.2 安装MySQL数据库

3.1.3 安装PHP

3.1.4启动服务

3.2 导入网站源码

3.2.1 下载源码压缩包

3.2.2 解压源码压缩包

3.2.3 将网站目录的所属主和所属组设置为apache用户

3.3 创建网站配置文件

3.4 数据库准备

3.5 Windows客户端测试

3.5.1 修改host文件

3.5.2 浏览器访问服务器网站


一、介绍

1.1什么是LAMP?

LAMP:LinuxApacheMySQLPHP组成的一个web网络平台。

1.2LAMP的作用

LAMP环境,主要给WEB端应用程序(各种类型的网站项目)提供了一个部署安装和使用的平台

二、部署静态网站

2.1 虚拟主机:一台服务器上部署多个网站

2.1.1 安装Apache服务

注意:Apache服务在Linux中的映射名字为 httpd

# 安装Apache服务 
yum -y install httpd 
# 启动Apache服务 
systemctl start httpd
2.1.2 防火墙配置
# 关闭防火墙 
systemctl stop firewalld 
# 关闭防火墙自启动 
systemctl disabled firewalld 
# 关闭selinux 
setenforce 0
2.1.3 准备网站目录
# 创建网站目录 
mkdir /var/www/html/www.a.com 
# 编写网站首页文件 
vim /var/www/html/www.a.com/index.html 
# 添加以下内容 
<h1>Hello World!</h1>
2.1.4 创建网站的配置文件
  • /etc/httpd/conf/httpd.conf配置文件
  • /etc/httpd/conf.d/*.conf配置文件
# 执行以下操作 
vim /etc/httpd/conf.d/a.com.conf 
# 子配置文件中添加以下内容 
<VirtualHost *:80> 
ServerName www.a.com 
DocumentRoot /var/www/html/www.a.com 
</VirtualHost>
  • *:80* 代表任何主机都能访问,80代表端口;
  • ServerName:网站域名;
  • DocumentRoot:网站的存储目录;
2.1.5 检查配置文件是否正确
# 重新加载配置文件 
systemctl reload httpd 
# 坚持配置文件是否正确 
httpd -t
2.1.6 Linux客户端访问服务器网站
vim /etc/hosts 
# 添加以下内容 
服务器IP www.a.com

浏览器中访问www.a.com

2.1.7 Windows客户端访问服务器网站

修改 C:\Windows\System32\drivers\etc\hosts

# 添加以下内容 
服务器IP www.a.com

浏览器中访问www.a.com

2.2 部署多个网站

2.2.1 准备网站目录
# 创建网站目录 
mkdir /web/www.b.com 
# 创建网站首页文件 
vim /web/www.b.com/index.html 
# 添加以下内容 
<h2>我是第二个网站</h2>
2.2.2 创建网站配置文件
# 执行以下操作 
vim /etc/httpd/conf.d/b.com.conf 
# 添加以下内容 
<VirtualHost *:80> 
ServerName www.b.com 
DocumentRoot /web/www.b.com 
</VirtualHost> 
<Directory "/web/www.b.com">
Require all granted
</Directory>
2.2.3 检查配置文件是否正确
# 重新加载配置文件 
systemctl reload httpd 
# 坚持配置文件是否正确 
httpd -t

三、部署动态网站(LAMP)

3.1 安装LAMP

3.1.1 安装Apache服务
yum -y install httpd
3.1.2 安装MySQL数据库

由于该项目需要mariaDB数据库10.x版本以上,先配置mariaDB yum源

# 执行以下操作 
vim /etc/yum.repo.d/mariadb.repo 
# 添加以下内容 
[mariaDB] 
name = MariaDB 
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos/7/x86_64/ 
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB 
gpgcheck = 1
# 清除旧缓存,建立新缓存 
yum clean all && yum makecache 
# 安装MariaDB 数据库 
yum -y install mariadb-server mariadb
3.1.3 安装PHP

安装Remi仓库,它提供了最新的PHP版本和其他Web开发工具。

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

启用Remi仓库中的PHP 8.2模块。

yum install -y yum-utils yum-config-manager --enable remi-php82

安装PHP 8.2及其扩展

yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel gd php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json
3.1.4启动服务
# 启动Apache服务和mariadb服务 
systemctl start httpd mariadb 
# 设置开机自启动 
systemctl enable httpd mariadb

3.2 导入网站源码

3.2.1 下载源码压缩包
wget https://gitee.com/Discuz/DiscuzX/repository/archive/v3.5.zip
3.2.2 解压源码压缩包
# 创建网站目录 
mkdir /web/discuz 
# 解压压缩包 
unzip v3.5.zip 
# 复制uoload目录中所有文件到网站目录 
cp -r ./uploda/* /web/discuz
3.2.3 将网站目录的所属主和所属组设置为apache用户
# 修改网站目录所属主和所属组为apache 
chown -R apache:apache /web/discuz

3.3 创建网站配置文件

# 执行以下操作 
vim /etc/httpd/conf.d/discuz.conf 
# 配置文件中添加以下内容 
<VirtualHost *:80> 
ServerName www.discuz.com 
DocumentRoot /web/discuz 
</VirtualHost> 
<Directory "/web/discuz"> 
Require all granted 
</Directory>

检查配置文件是否正确

# 重新加载配置文件 
systemctl reload httpd 
# 坚持配置文件是否正确 
httpd -t

3.4 数据库准备

3.5 Windows客户端测试

3.5.1 修改host文件

路径: C:\Windows\System32\drivers\etc\hosts

服务器IP www.discuz.com

3.5.2 浏览器访问服务器网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/417.shtml

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

相关文章

web自动化系列-selenium的3种等待方式(十一)

在ui自动化测试中&#xff0c;几乎出现问题最多的情况就是定位不到元素 &#xff0c;当你的自动化在运行过程中 &#xff0c;突然发现报错走不下去了 。很大概率就是因为找不到元素 &#xff0c;而找不到元素的一个主要原因就是页面加载慢 &#xff0c;代码运行速度快导致 。 …

oracle guid 使用

在Oracle数据库中&#xff0c;全局唯一标识符&#xff08;GUID&#xff09;通常用于生成一个唯一的标识符&#xff0c;这个标识符可以在整个系统中唯一地标识一个实体或记录。在Oracle中&#xff0c;GUID通常通过RAW或VARCHAR2类型来表示。Oracle本身并没有像其他数据库系统&am…

深入理解MySQL中的UPDATE JOIN语句

在MySQL数据库中&#xff0c;UPDATE语句用于修改表中现有的记录。有时&#xff0c;我们需要根据另一个相关联表中的条件来更新表中的数据。这时就需要使用UPDATE JOIN语句。最近我们遇到了这样的需求&#xff1a;我们有一张历史记录表&#xff0c;其中一个字段记录了用,连接的多…

【转】关于vsCode创建后,不显示NPM脚本解决

刚刚使用vue ui新建了个vue项目&#xff0c;打开vs-code发现&#xff0c;无论怎么设置都找不到NPM脚本显示&#xff0c;苦恼了很久&#xff0c;突然发现&#xff01;打开了package-lock.json&#xff0c;然后立马把vs-code关闭&#xff0c;重新打开&#xff0c;就显示了npm脚本…

DePT: Decoupled Prompt Tuning 论文阅读

DePT: Decoupled Prompt Tuning 了论文阅读 Abstract1. Introduction2. Methodology2.1. Preliminaries2.2. A Closer Look at the BNT Problem2.3. Decoupled Prompt Tuning 3. Experiments5. Conclusions 文章信息&#xff1a; 原文链接&#xff1a;https://arxiv.org/abs/…

OCR-身份证识别认证-身份证实名认证-python接口文档

OCR通常被称作为光学字符识别&#xff0c;以此技术而延申的功能产品有很多种&#xff0c;类如&#xff1a;身份证识别、文档识别、发票识别、驾照识别、护照识别等多类文字识别技术。下面我们以翔云身份证识别接口实现简单的示例。 身份证识别接口可以快速、精准识别证件正反面…

软件架构演化方式的分类以及架构演化时期

1.软件架构演化方式3种较典型的分类方法 目前&#xff0c;软件架构演化方式没有一种公认的分法&#xff0c;分类方法很多&#xff0c;以下列举说明3种较典型的分类方法&#xff1a; &#xff08;1&#xff09;按照软件架构的实现方式和实施粒度分类&#xff1a;基于过程…

【行为型模式】模板方法模式

一、模板方法模式概述 模板方法模式定义&#xff1a;在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。(类对象型模式) 模板方法中的基本方法是实现算法的各个步骤&#xff0c;是模板方法的…

rocketmq-dashboard打包测试报错

rocketmq-dashboard运行的时候没问题&#xff0c;但是打包执行测试的时候就是报错 这时候跳过测试就可以成功 报错为 There are test failures. Please refer to D:\CodeEn\rocketmq-dashboard\target\surefire-reports for the individual test results. 你只需要跳过测试就…

【刷题笔记】第九天

文章目录 [LCR 189. 设计机械累加器](https://leetcode.cn/problems/qiu-12n-lcof/)[2007. 从双倍数组中还原原数组](https://leetcode.cn/problems/find-original-array-from-doubled-array/) LCR 189. 设计机械累加器 c专属解法&#xff1a;使用sizeof函数 1 2 3 … ta…

查看transformers模型对应的device的实战代码

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

3D抓取算法中的PointNet++网络介绍

3D抓取算法是一个在机器人抓取任务中广泛使用的算法基线&#xff0c;它结合了深度学习和计算机视觉技术来预测给定三维点云场景中物体的抓取姿态。在这个基线算法中&#xff0c;PointNet 网络是一个关键组件&#xff0c;用于从点云数据中提取有效的特征表示。 下面是关于 3D抓…

vue框架中的路由

vue框架中的路由 一.VueRouter的使用&#xff08;52&#xff09;二.路由模块封装三.声明式导航 - 导航链接1.router-link-active类名2.router-link-exact-active类名3.声明式导航-自定义类名 四.查询参数传参五.动态路由传参方式查询参数传参 VS 动态路由传参 六.动态路由参数的…

刷刷刷刷算法

链表 24. 两两交换链表中的节点 /*** Definition for singly-linked list.* function ListNode(val, next) {* this.val (valundefined ? 0 : val)* this.next (nextundefined ? null : next)* }*/ /*** param {ListNode} head* return {ListNode}*/ var swapPai…

javaWeb项目-毕业生就业信息管理系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、JSP技术 JSP(Jav…

【Canvas技法】四条C形色带填满一个圆/环形

【关键点】 通过三角函数计算控制点的位置。 【成果图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>四条C形色带填满一个…

渐进式交付实践:通过 Argo Rollouts 和 FSM Gateway 实现金丝雀发布

渐进式交付&#xff08;Progressive delivery&#xff09;是一种软件发布策略&#xff0c;旨在更安全、更可控地将新版本软件逐步推出给用户。它是持续交付的进一步提升&#xff0c;允许开发团队在发布新版本时拥有更细粒度的控制&#xff0c;例如可以根据用户反馈、性能指标和…

【Docker】安装Redis、Nginx、MongoDb、Jenkins

1、安装redis mkdir -p /docker/redis mkdir -p /docker/redis/data touch /docker/redis/redis.conf touch /docker/redis/redis.bash编辑配置文件 vim /docker/redis/redis.conf # Redis配置文件# Redis默认不是以守护进程的方式运行&#xff0c;可以通过该配置项修改&…

css八股

伪类&#xff0c;伪元素 伪类&#xff1a; 1.指某种特定的行为或者状态&#xff0c;例如鼠标悬停&#xff0c;点击&#xff0c;第一个子元素等 2.以&#xff1a;开头&#xff0c;&#xff1a;hover&#xff0c;&#xff1a;focus 3.伪类不会形成新的元素&#xff0c;只会改…

柱层析SOP

1.TLC检测 尝试极性PE:EA的比值由5&#xff1a;1 到1&#xff1a;1&#xff0c;如若色谱上点未发生变化&#xff0c;再继续尝试极性DCM:MeOH由5&#xff1a;1 到 1&#xff1a;1。 但需保证各点的Rf分布在0.1到0.9之间。 PE:石油醚 EA&#xff1a;乙酸乙酯 DCM&am…