linuxOPS基础_LAMP开源项目实战

news2025/2/10 22:26:01

LAMP概述

LAMP:Linux + Apache + MySQL + PHP LAMP 架构(组合)

LNMP:Linux + Nginx + MySQL + php-fpm LNMP 架构(组合)

LNMPA:Linux + Nginx(80) + MySQL + PHP + Apache Nginx 代理方式

在这里插入图片描述
Apache:Apache是世界使用排名第一的Web服务器软件。

PHP:一种专门用于Web开发的编程语言。

MySQL:MySQL是一个关系型数据库管理系统,主要用于永久存储项目数据。
在这里插入图片描述

LAMP环境准备(阿里云)

要想部署一个互联网上可以访问到的环境,必须先具备以下内容 :

服务器(IP、帐号密码、终端)、相应的软件、域名(备案、解析)、代码等。

注册阿里云账号

阿里云官网:https://www.aliyun.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实名认证

步骤1:鼠标移动到屏幕右上角的头像,在弹出菜单中选择实名认证
在这里插入图片描述
步骤2:在认证页面,需选择个人实名认证
在这里插入图片描述
步骤3:选择支付宝授权认证

在这里插入图片描述
步骤4:勾选同意,点击提交
在这里插入图片描述
步骤5:支付宝扫描二维码,手机上选择确认登录
在这里插入图片描述
步骤6:填写相关信息,点击确认
在这里插入图片描述
在这里插入图片描述
进入管理控制台
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
购买阿里云服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
MobaXterm连接服务器

在这里插入图片描述
部署LAMP环境

部署前的环境准备

关闭防火墙和selinux

#systemctl stop firewalld

#setenforce 0
临时关闭

#getenforce
查看当前是否关闭了selinux

#vim /etc/selinux/config
编辑selinux配置文件,永久关闭

在这里插入图片描述
在这里插入图片描述
查询当前服务器是否安装apache
使用rpm命令
在这里插入图片描述
在这里插入图片描述
查询当前服务器是否安装MYSQL
使用rpm命令
在这里插入图片描述
查询当前服务器是否安装PHP
使用rpm命令
在这里插入图片描述
建议使用一台新装的Linux,因为卸载如果有残留,也容易给后续搭建带来未知的问题。

LAMP环境之Apache安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置/etc/httpd/conf/httpd.conf文件
在这里插入图片描述
搜索ServerName,在下面添加一行:

ServerName Localhost:80

#vim /etc/httpd/conf/httpd.conf

ServerName localhost:80

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
问题:保存退出用什么命令?

答:
③ 使用systemctl命令重启httpd服务,使用netstat -ntlp命令,查看是否有80端口监听

在这里插入图片描述
在这里插入图片描述
④ 设置httpd服务开机启动

在这里插入图片描述
在这里插入图片描述
⑤ 查看本机的IP地址,阿里云服务器从控制台可以看到

在这里插入图片描述
⑥在浏览器中,输入本机IP地址,如下图所示:
在这里插入图片描述
在这里插入图片描述
注意:自己的服务器在设置时,一定要管理防火墙与SELinux,避免产生异常
① 关闭防火墙 命令:# service iptables stop
② 关系SELinux 命令:# setenforce 0

LAMP环境之MySQL安装

下载mysql的yum源
由于yum源上默认没有mysql-server。所以必须去官网下载后在安装

#wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

含义:下载myslq的yum源
在这里插入图片描述
在这里插入图片描述
添加mysql的yum源存储库

#rpm -ivh mysql-community-release-el7-5.noarch.rpm
含义:安装mysql的yum源存储库包

在这里插入图片描述

安装MYSQL

yum -y install mysql-community-server

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动mysql

systemctl restart mysqld.service

netstat -ntlp

在这里插入图片描述
在这里插入图片描述
初始化数据库
默认情况下,数据库没有密码,也没有任何数据,必须要初始化

mysql_secure_installation
含义:mysql自己带的初始化程序

在这里插入图片描述
在这里插入图片描述
设置超级管理员root密码,注:默认为空,直接回车即可
在这里插入图片描述
在这里插入图片描述
移除匿名账户:
在这里插入图片描述
不禁用root远程连接:
在这里插入图片描述
不移除默认数据库(测试用例):
在这里插入图片描述
重新加载权限:Y

提示已完成,感谢使用MySQL
在这里插入图片描述
在这里插入图片描述
把mysqld添加到开机启动

​ 默认已经开机启动,这里可以跳过
连接,MySQL数据库

#mysql -uroot -p
含义:-u是参数,后面跟用户名,没有空格
-p表示密码
看到mysql>表示已经连接到mysql

在这里插入图片描述
在这里插入图片描述
查看数据库

myslq> show databases;
含义:显示所有数据库
注意:命令结尾要有“;”
在这里插入图片描述

在这里插入图片描述

mysql>下输入exit,退出mysql,回到#提示符

LAMP环境之PHP安装

使用yum命令安装php、
yum -y install php

systemctl restart httpd

在这里插入图片描述
在这里插入图片描述

重启httpd服务

​ 更改php配置一定要重启httpd服务
在这里插入图片描述

测试LAMP环境是否可以使用

第一步:使用cd命令进入/var/www/html目录

第二步:使用vim命令创建index.php文件

第三步:编写php代码

代码示例:

# cd /var/www/html/
# vim index.php

<?php
    echo 'hello world';
?>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第四步:在浏览器,输入公网IP,如下图所示:
在这里插入图片描述
在这里插入图片描述

部署Discuz!论坛

Discuz!论坛概述

Discuz!是一套开源的社区论坛软件系统。
在这里插入图片描述

下载源代码

下载地址:https://gitee.com/ComsenzDiscuz/DiscuzX
在这里插入图片描述

使用MobaXterm上传代码

1)把ComsenzDiscuz-DiscuzX-master.zip文件通过MobaXterm上传到ECS服务器的/usr/local目录

2)安装unzip命令并且解压缩论坛代码

#yum -y install unzip
#unzip ComsenzDiscuz-DiscuzX-master.zip
含义:解压缩ComsenzDiscuz-DiscuzX-master.zip文件
#ll

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解压缩后,得到DiscuzX目录,其中upload文件夹下是真正的网站代码文件
在这里插入图片描述

##将网站代码拷贝到/var/www/html下
示例代码:

#cp -r /usr/local/DiscuzX/upload/* /var/www/html/

#cd /var/www/html/
#ll

在这里插入图片描述
在这里插入图片描述

安装Discuz!论坛

首先查看Discuz!源代码文件是否已经上传完成,必须完成后,才可以进行Discuz!论坛安装。

使用服务器IP地址访问论坛

看到下面的页面表示访问成功,点击我同意
在这里插入图片描述

设置目录权限

在这里插入图片描述
如上图所示,系统提示很多文件没有可写权限,设置如下:

# chmod -R a+w /var/www/html/

在这里插入图片描述
重新刷新,如下图所示:
在这里插入图片描述

安装PHP扩展

在这里插入图片描述
如上图所示:以上结果代表系统缺少php-mysqli扩展,安装后即可解决。

使用yum命令安装php-mysqli扩展
#yum -y install php-mysqli

在这里插入图片描述

重启httpd服务

在这里插入图片描述
重新刷新网页,如下图所示:
在这里插入图片描述

设置运行环境

开始安装页面已经没有任何报错,点击下一步,进入设置运行环境页面
在这里插入图片描述

设置数据库信息与管理员信息

在这里插入图片描述

访问安装后的论坛

在这里插入图片描述

进入论坛首页,如下图所示:
在这里插入图片描述
到此,关于LAMP环境配置与开源Discuz!项目实战就全部搞定了!

通过域名访问网站(扩展)

我们现在访问论坛是通过IP地址实现的,但是IP地址比较复杂,更重要的是不方便用户记忆。

购买域名

登录阿里云控制台

https://account.aliyun.com/
在这里插入图片描述
登录后选择阿里云首页右上角的控制台,鼠标移动到左上角会出现如下菜单,选择域名
在这里插入图片描述
点击域名注册:
在这里插入图片描述
输入一个想注册的域名名称,例如ityunweiketangyanshi

如下图所示:
在这里插入图片描述
加入清单,立即结算:
在这里插入图片描述
配置域名持有者,学习环境直接选择个人即可:

现在国家要求实名制,所以还要创建信息模板,点击创建信息模板
在这里插入图片描述

点击页面右上角,创建新信息模板
在这里插入图片描述
添加完个人信息后,回到订单页面刷新,重新选择个人,会看到自己添加的信息模板,还要认证邮箱,就是往你注册的邮箱里发一封邮件,需要登录邮箱,点击验证链接,最终完成信息登记

看到如下页面:
在这里插入图片描述
勾选:我已阅读,理解并接受,然后单击立即购买,支付,如下图所示:
在这里插入图片描述

域名解析

点击控制台,右侧菜单选择域名,进入域名管理页面

点击解析按钮
在这里插入图片描述
添加A记录

将www.ketangyanshi.com 指向公网IP
在这里插入图片描述
点击确定,完成设置。几分钟后就可以通过域名访问刚刚搭建的网站了。

注意:由于国家要求,域名解析需要首先实名制认证,所以目前我这个域名无法实际使用,我还没有完成实名制认证

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

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

相关文章

Markdown编辑器使用

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

这所Top3顶尖院校,专业课太简单了,比双非还要简单!

一、学校及专业介绍 复旦大学&#xff08;FDU&#xff0c;简称旦旦&#xff09;&#xff0c;除清北之外的顶尖学府&#xff0c;想必不用我过多介绍&#xff0c;Top3之一&#xff08;众所周知&#xff0c;Top3有好多所图片&#xff0c;但我心目中的Top3永远是上海交大图片&#…

element-ui中表头添加自定义按钮以及其他自定义展示

可以使用&#xff1a;render-header方法即可 添加一个按钮如下&#xff1a; renderHeader (h) { return ( <div> <span>操作</span> <el-button type"primary" style"margin-left:90px" size"small" icon"el-icon-pl…

在测试外包干了4年,我废了...

外包公司值不值得去&#xff0c;是很多同行关心的话题。在职场一直流传着“外包不被当人看”“外包没有归属感”的言论。 客观来看&#xff0c;外包岗位确实存在一些缺点&#xff0c;比如&#xff1a;公积金&#xff0c;社保缴纳基数低&#xff0c;没有稳定的涨薪通道&#xff…

登录时token的存储

1.token是什么&#xff1f; 是一种身份的标识,比如我们入住一家酒店,他会给我们一张房卡,房卡的期限是有时间限制的,只有持有房卡的人才能入住酒店。 2.jsCookie 使用的方法 下包: npm i jscookie 导入: import Cookiejs from "js-cookie"; 使用: Cookie.js.set…

object类clone、finalize

2 什么是API API&#xff08;Application Programming Interface&#xff0c;应用程序接口&#xff09;是一些预先定义的函数。目的是提供应用程序与开发人员基于某软件可以访问的一些功能集&#xff0c;但又无需访问源码或理解内部工作机制的细节. API是一种通用功能集,有时公…

HTB-OnlyForYou

HTB-OnlyForYou 信息收集立足johnjohn -> root 信息收集 Designed by BootstrapMade. 在他们的TEAM的常见问答里面发现了一个beta产品。 网站首页可以下载疑似源码的文件。 右上角还有两个功能。 一个是上传图片并调整大小。 上传了文件后会跳转到list&#xff0c;选择…

【CV大模型SAM(Segment-Anything)】如何一键分割图片中所有对象?并对不同分割对象进行保存?

之前的文章【CV大模型SAM&#xff08;Segment-Anything&#xff09;】真是太强大了&#xff0c;分割一切的SAM大模型使用方法:可通过不同的提示得到想要的分割目标,中详细介绍了大模型SAM&#xff08;Segment-Anything&#xff09;根据不同的提示方式得到不同的目标分割结果。 …

11. 100ASK-V853-PRO开发板 RGB屏测试指南

100ASK-V853-PRO开发板 RGB屏测试指南 硬件要求&#xff1a; 100ASK-V853-PRO开发板七寸RGB屏 软件要求&#xff1a; 固件下载地址&#xff1a;链接&#xff1a;百度网盘 提取码&#xff1a;sp6a 固件位于资料光盘中的10_测试镜像/1.测试七寸RGB屏/v853_linux_100ask_uart0.…

echarts中国地图使用整理

一、echarts中国地图使用案例 1.准备地图数据china.json ; 需要的添加微信&#xff1a;tianma104&#xff0c;我发你 2.引入jquery&#xff0c;引入eachars 库 <script src"http://xx/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script s…

Unity入门5——Camera

一、参数面板 二、参数介绍 1. Clear Flags&#xff1a;清除背景 Skybox&#xff1a;天空盒背景&#xff08;通常用来做 3D 游戏&#xff09; Solid Color&#xff1a;使用 Background 颜色填充&#xff08;通常设置为全黑或全白&#xff0c;2D 使用&#xff09; Depth Only&am…

【ARM AMBA ATB 入门 1 - ATB 总线简介】

文章目录 背景1.1 ATB BUS1.2.1 全局信号1.2.2 数据信号1.2.3 流控信号1.2.4 Trace ID1.2.5 Buffer Flusing 背景 在 AMBA3 中&#xff0c;增加了 Advanced Trace Bus (ATB) 总线作为片上调试的总线接口&#xff0c;为 Debug 和 Trace 提供一种解决方案。第3代总线是2003年发布…

存储快速入门——【1】网络存储主要技术(NAS、SAN、SCSI、CIFS、zone)

存储快速入门——【1】网络存储主要技术 1 NAS简介&#xff08;网络&#xff09; 在20世纪80年代初&#xff0c;英国纽卡斯尔大学布赖恩.兰德尔教授 ( Brian Randell)和同事通过“纽卡斯尔连接”成功示范和开发了在整套UNIX机器上的远程文件访问。继“纽卡斯尔连接”之后&…

Springboot集成Redis常见的报错和解决方案

Springboot集成Redis后运行时常见的报错信息和其解决方案 1. io.lettuce.core.protocol.CommandHandler : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。报错信息原因分析解决方案 2. io.netty.util.internal.OutOfDire…

Python自动化测试 史上最全的进阶教程

Python自动化测试就是把以前人为测试转化为机器测试的一种过程。自动化测试是一种比手工测试更快获得故障反馈的方法。 随着时代的变革&#xff0c;也许在未来测试这个职位的需求会越来越少甚至消失&#xff0c;但是每一个组织&#xff0c;每一个客户对软件质量的要求是永远不…

剪辑软件生成的mp4素材无法打开的修复方法

专业剪辑软件可以对视频、音频进行各种修改、美化&#xff0c;像adobe的PR等。今天我们来看一个剪辑软件生成的视频无法打开的修复案例&#xff0c;看看遇到这种情况如何处理. 故障文件:273M和1.72G两个文件 故障现象: 剪辑完成后保存到移动硬盘&#xff08;文件系统为exfat…

VALSE 2023 无锡线下参会个人总结 6月10日-1

VALSE2023无锡线下参会个人总结6月10日-1 会场照片6月10日会议日程安排大会主旨报告&#xff1a;高文&#xff1a;特征编码与数字视网膜焦李成&#xff1a;下一代深度学习的思考与若干问题陈熙霖&#xff1a;计算机视觉-从孤立到系统性方法 企业宣讲环节&#xff08;一&#xf…

邓铎:书中自有天地人

邓铎&#xff0c;一个优秀的艺术家&#xff0c;他的书法作品、理论文章自成一派&#xff0c;从书法中咀嚼出人生百味&#xff0c;大千世界&#xff0c;写下了他生命中“六十余载&#xff0c;书中天地人”的执着与坚持。 作为一名优秀的书法家&#xff0c;邓铎的艺术表达具有独…

网安笔记14 firewall

防火墙概述 由软件和硬件组成的系统&#xff0c;它处于安全的网络和不安全的网络之间&#xff0c;根据由系统管理员设置的访问控制规则&#xff0c;对数据流进行过滤 对于内部攻击以及绕过防火墙的连接却无能为力 对数据流如何处理 允许数据流通过拒绝数据流通过&#xff0…

构建工具 Vite、Webpack、Rollup对比

Webpack介绍 热更新方面&#xff1a;webpack支持HMR&#xff0c;但是webpack需要全部重新编译并更新&#xff0c;效率较低 tree-shaking&#xff1a;webpack2开始支持且消除效果不好&#xff0c;但是webpack5有更好的tree-shaking&#xff08;去除未使用代码&#xff09; 分包…