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;代码运行速度快导致 。 …

深入理解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/…

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

一、模板方法模式概述 模板方法模式定义&#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. 你只需要跳过测试就…

vue框架中的路由

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

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;例如可以根据用户反馈、性能指标和…

【论文阅读】YOLO-World | 开集目标检测

Date&#xff1a;2024.02.22&#xff0c;Tencent AI Lab&#xff0c;华中科技大学Paper&#xff1a;https://arxiv.org/pdf/2401.17270.pdfGithub&#xff1a;https://github.com/AILab-CVC/YOLO-World 论文解决的问题&#xff1a; 通过视觉语言建模和大规模数据集上的预训练来…

ruoyi-nbcio-plus基于vue3的flowable的消息中心我的消息的升级修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

Python数据可视化:散点图matplotlib.pyplot.scatter()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 Python数据可视化&#xff1a; 散点图 matplotlib.pyplot.scatter() 请问关于以下代码表述错误的选项是&#xff1f; import matplotlib.pyplot as plt x [1, 2, 3, 4, 5] y [2, 3, 5, 7,…

热塑性聚氨酯TPU的特性有哪些?UV胶水能够粘接热塑性聚氨酯TPU吗?又有哪些优势呢?

热塑性聚氨酯&#xff08;Thermoplastic Polyurethane&#xff0c;TPU&#xff09;是一种具有多种优异性能的弹性塑料&#xff0c;广泛用于各种应用领域。以下是TPU的一些主要特性&#xff1a; 弹性和柔软性&#xff1a; TPU具有良好的弹性和柔软性&#xff0c;能够在受力后迅速…

短视频批量采集提取软件|视频下载工具

短视频批量采集提取软件&#xff1a;高效获取视频资源 一、开发背景 在日常业务中&#xff0c;我们经常需要获取大量的短视频资源&#xff0c;以支持各种需求&#xff0c;但传统的获取方式过于繁琐&#xff0c;一一复制链接下载效率低下。基于此需求&#xff0c;我们开发了一…

Jenkins机器已经安装了ansible, 运行的时候却报错ansible: command not found

操作系统&#xff1a;MacOS Jenkins log提示 ansible: command not found 直接在Jenkins 机器中&#xff0c;进入一样的目录执行ansible --version OK 原因&#xff1a; Jenkins 默认使用的环境是 /usr/bin, 而我的ansible 安装配置在conda3 下面&#xff0c;所以需要在Jenkin…

【工位ubuntu的配置】补充

软件 安装桌面图标的问题 登录密码 root的密码为&#xff1a;19980719 按照如下的链接进行配置&#xff1a; https://blog.csdn.net/zhangmingfie/article/details/131102331?spm1001.2101.3001.6650.3&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7E…

工业控制(ICS)---modbus

Modbus Modbus&#xff0c;市场占有率高、出题频率高,算是最常见的题目&#xff0c;因为这个协议也是工控领域最常见的协议之一&#xff0c;主要有三类 Modbus/RTU 从机地址1B功能码1B数据字段xBCRC值2B 最大长度256B&#xff0c;所以数据字段最大长度252B Modbus/ASCII …

C++笔记:引用

目录 概念&#xff1a; ​编辑 引用的特性&#xff1a; 引用中的权限问题&#xff1a; 引用与指针的区别&#xff1a; 引用的使用&#xff1a; 概念&#xff1a; 引用是给已存在变量取一个别名&#xff0c;编译器不会为引用变量开辟内存空间。 引用的符号&#xff1a;&…

KV Cache 技术分析

原文&#xff1a;Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. 1 什么是KV Cache LLM&#xff08;大型语言模型&#xff09;中的 Attention 机制中的 KV Cache&#xff08;键值缓存&#xff09;主要作用是存储键值对&#xff0c;以避免在…