当前位置: 首页 > news >正文

LAMP项目部署实战

一、LAMP环境部署

1、回顾LAMP

LAMP = Linux + Apache + MySQL + PHP

Apache:主要用于接收用户的请求,处理业务逻辑,返回结果给客户端(浏览器)

PHP:编程语言的一种,主要应用于Web开发。主要实现注册、登录、加入购物车、下单、支付等功能

MySQL:数据库,删库到跑路,这里的"库"就是指数据库。永久保存数据

2、LAMP部署前期准备

☆ 关闭防火墙

# systemctl stop firewalld
# systemctl disable firewalld

☆ 关闭SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。

获取SELinux的状态:

# getenforce

临时关闭SElinux:重启后SELinux还会自动启动

# setenforce 0

永久关闭SELinux:编辑SELinux的配置文件

# vim /etc/selinux/config
SELINUX=disabled

☆ 检查系统中是否已安装Apache

# rpm -qa |grep httpd
​
# rpm -e httpd-2.4.6-90.el7.centos.x86_64
# rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64

☆ 检查系统中是否已安装MySQL

# rpm -qa |grep mysql

☆ 检查系统中是否已安装PHP

# rpm -qa |grep php

AMP安装指南:在Linux中安装AMP必须先安装Apache,在安装MySQL,最后安装PHP

3、LAMP环境之Apache安装

Apache:阿帕奇,Apache基金会

httpd软件 => 前身apache,随着时间的推移以及互联网行业的发展,越来越多的软件加入到了Apache的基金会。

第一步:安装httpd软件

# yum install httpd -y

第二步:配置/etc/httpd/conf/httpd.conf文件

# vim /etc/httpd/conf/httpd.conf
/ServerName => 搜索
96 ServerName localhost:80

localhost : 代表本机,对应的IP地址可以使127.0.0.1或本机的公网IP

第三步:启动httpd服务

# systemctl start httpd

第四步:把httpd服务添加到开机启动项中

# systemctl enable httpd

第五步:使用ss或netstat命令查询httpd占用的端口

# netstat -tnlp |grep httpd
或
# ss -naltp |grep httpd

第六步:在浏览器中,使用公网IP访问阿里云服务器

4、LAMP环境之MySQL安装

☆ 下载MySQL的官网yum源

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

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

☆ 安装MySQL的官网镜像源

# rpm -ivh mysql-community-release-el7-5.noarch.rpm

☆ 使用yum安装mysql最新版软件

# yum install mysql-community-server -y

MySQL软件是一个C/S架构的软件,拥有客户端与服务器端。mysql-server服务器端(内部也包含了客户端),community代表社区版(免费开源)

☆ 启动mysql,查看端口占用情况

# systemctl start mysqld
# netstat -tnlp |grep mysqld

☆ MySQL数据库初始化(重要)

默认情况下,数据库没有密码,也没有任何数据,必须要初始化

① 初始化数据,设置root密码(MySQL管理员)
# mysql_secure_installation

扩展:以上说的root和Linux中的root不是同一个用户,这个root代表MySQL数据库的管理员,只不过这个管理员也叫root。

学习环境下,密码越简单越好。生产环境下越复杂越好。

② 把mysqld服务添加到开机启动项
# systemctl enable mysqld

默认已经开机启动,这里可以跳过

③ 连接MySQL数据库,测试
# mysql -u root -p 回车
Enter password:输入刚才设置的密码,如123,回车
mysql> show databases;    =>   代表显示所有数据库
mysql> exit

5、LAMP环境之PHP安装

☆ 使用yum命令安装php软件

# yum install php -y

☆ 使用systemctl启动php软件(重启Apache)

# systemctl restart httpd

为什么启动php就是重启Apache呢?答:因为LAMP架构中,PHP是以模块的形式追加到Apache的内核中,所以启动php就相当于重置Apache软件

☆ 测试LAMP环境是否可以使用

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

# cd /var/www/html
Apache的项目目录 => /var/www/html,以后程序员开发的代码都是放置于此目录

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

# vim demo.php

第三步:编写php代码

<?phpecho 'hello world';
?>

编写完成后,保存退出,然后在浏览器中使用http://公网IP/demo.php

二、部署Discuz!论坛

1、Discuz!论坛概述

Discuz!论坛是基于PHP + MySQL进行开发的一套开源的论坛系统。

2、下载源代码

下载地址:Discuz!/DiscuzX (码云)

3、使用MX软件把Discuz源代码上传

阿里云:

本地Linux类似

4、安装unzip解压缩软件

# yum install unzip -y

5、使用unzip对discuz.zip压缩包进行解压

# unzip discuz.zip

6、复制discuz中的文件到/var/www/html目录

# mv discuz/* /var/www/html/
或
# cp -vRp disczu/* /var/www/html/

7、打开浏览器,输入公网IP地址

8、单击同意许可,继续安装

9、给/var/www/html目录设置可写权限

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

注意:以上操作是给所有文件添加一个w权限,但是生产环境尽量针对指定文件添加权限。

10、解决PHP扩展问题

以上提示代表,安装PHP时没有按照php-mysqli扩展,所以会出现以上问题。

# yum install php-mysqli -y
# systemctl restart httpd

11、设置运行环境

12、设置MySQL数据库的相关信息

13、设置管理员账号和密码

14、安装完成后,访问论坛首页

部署后,访问论坛首页,如下图所示:

三、域名与解析

1、为什么需要域名

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

域名 => 代替公网IP地址

2、购买域名

登录控制台,然后选择域名菜单:

找到域名注册菜单:

找到想要注册的域名,然后加入清单,然后进行立即结算:

购买完成后,进入域名控制台:

3、把域名解析到公网IP

进入解析菜单,然后添加记录:

① 把www.itcast.top解析到公网IP

② 把itcast.top解析到公网IP

以上记录添加完成后,等待10分钟左右,即可使用域名访问论坛项目了!

4、域名备案

如果在国内运行项目,我们使用的域名必须要进行备案操作。

备案就是向工信部提交网站运行的相关资料,比如域名的证书、持有者的身份证号码,以及真人手持身份证照片(背景图)

由于现在监管比较严格,提交资料后,大概5-7个工作日进行审核,完全备案完成大概2周左右。

网站备案_ICP备案_备案迁移_备案-阿里云

如果不想进行域名备案,可以购买中国香港、中国台湾以及国外的服务器,可以免备案。但是其运行速度略慢一些。

相关文章:

LAMP项目部署实战

一、LAMP环境部署 1、回顾LAMP LAMP Linux Apache MySQL PHP Apache&#xff1a;主要用于接收用户的请求&#xff0c;处理业务逻辑&#xff0c;返回结果给客户端&#xff08;浏览器&#xff09; PHP&#xff1a;编程语言的一种&#xff0c;主要应用于Web开发。主要实现注…...

Tauri2 mobile development traps

时间点&#xff1a;2023/10/24。最近在倒腾移动端开发&#xff0c;不想学原生和 flutter&#xff0c;试了试 react-native&#xff0c;开发体验没有想象中的舒服&#xff0c;干脆直接上 tauri 2 吧&#xff0c;半年前就听说 tauri 2 支持移动端&#xff0c;到现在应该可堪小用。…...

使用Jenkins触发gitlab的webhook

满足条件&#xff1a; 首先手动构建可以完成构建 例如&#xff1a; 打开项目点击配置 在“Build Triggers”栏勾选&#xff0c;Build when a change is pushed to GitLab. GitLab webhook &#xff1b;如下 复制URL链接&#xff0c;我的链接是&#xff1a;http://192.168.44…...

Vcenter 6.5 web 报错503解决办法

Vc web打不开就重启服务 service-control --stop --all service-control --start --all 单独启动xeb服务 service-control --start vpxd 参考 C: \Program Files\ VMware \vCenter Server \bin) service-control --list service-control --start xXx service-control -…...

计算机网络-计算机网络体系结构-应用层

目录 一、网络应用模型 客户/服务器模型(Client/Server) P2P模型(Peer-to-peer) 二、域名解析系统(DNS) 域名 域名服务器 解析过程 三、文件传输协议(FTP) FTP控制原理 四、电子邮件 组成结构 协议 SMTP MIME POP3 IMAP 五、万维网和HTTP协议 概述 HTTP 报…...

软考-网络安全漏洞防护技术原理与应用

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 by 2023年10月 网络安全漏洞概念 网络安全漏洞指的是网络系统或应用程序中存在的安全弱点&#xff0c;被…...

【自然语言处理】理解词向量、CBOW与Skip-Gram模型

文章目录 一、词向量基础知识1.1 One-hot表示1.2 Distributed表示 二、word2vec基础知识2.1 CBOW和Skip-gram 三、基于Hierarchical Softmax的 CBOW 模型和 Skip-gram 模型3.1 CBOW 模型3.2 Skip-gram 模型 参考资料 由于计算机不能直接对各种字符进行运算&#xff0c;为此需要…...

一致性哈希算法原理

文章目录 前言正文一、抛砖引玉&#xff0c;简单Hash算法的短板二、一致性Hash算法的基本概念2.1 一致性Hash算法本质也是取模2.2 便于理解的抽象&#xff0c;哈希环2.3 服务器如何映射到哈希环上2.4 对象如何映射到哈希环上&#xff0c;并关联到对应的机器 三、一致性Hash算法…...

回归预测 | MATLAB实现BO-LSTM贝叶斯优化长短期神经网络多输入单输出回归预测

回归预测 | MATLAB实现BO-LSTM贝叶斯优化长短期神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现BO-LSTM贝叶斯优化长短期神经网络多输入单输出回归预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-LSTM贝叶斯优化长短期神经网络多输入…...

工厂干洗店洗鞋店系统,校园洗护小程序来了

洗鞋店小程序&#xff0c;干洗店软件&#xff0c;洗护行业小程序,上门取衣小程序,预约干洗小程序,校园干洗店小程序,工厂干洗店小程序,干洗店小程序开发&#xff0c;成品软件开发 洗衣工厂软件、功能强大&#xff01; 包含以下主要功能&#xff1a; * 用户选择洗护用品&#x…...

计算机毕设 opencv 图像识别 指纹识别 - python

文章目录 0 前言1 课题背景2 效果展示3 具体实现3.1 图像对比过滤3.2 图像二值化3.3 图像侵蚀细化3.4 图像增强3.5 特征点检测 4 OpenCV5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往…...

简化通知基础设施:开源的消息通知服务 | 开源专题 No.41

novuhq/novu Stars: 22.9k License: MIT Novu 是一个开源的通知基础设施项目&#xff0c;它提供了统一的 API 来通过多个渠道发送通知&#xff0c;包括应用内、推送、电子邮件、短信和聊天。主要功能有&#xff1a; 为所有消息提供商 (应用内、电子邮件、短信、推送和聊天) 提…...

微信公众号排版写作

对话框添加菜单 05 一节课学会使用微信自动回复_哔哩哔哩_bilibili 一件扫图关注 一件扫描付款 公众号排版 10元付费 08 —长按二维码关注和收款_哔哩哔哩_bilibili 微信开店 09 一节课开设自己的微店_哔哩哔哩_bilibili 知乎软文&#xff0c;设置引流矩阵 20 —在知乎写…...

UE4/5 批量进行贴图Texture压缩、修改饱和度

该插件下载地址&#xff1a; &#x1f35e;正在为您运送作品详情https://mbd.pub/o/bread/ZZWYmpxw 适用于 UE4 4.25/4.26/4.27 UE5 以上版本 在Edit - Plugins中分别开启 插件 Python Editor Script Plugin 插件 Editor Scripting Utilites 如果会python代码&#xff0c;…...

mysql中limit和offset的用法详细介绍

有的时候我们在学习或者工作中会使用到SQL语句&#xff0c;那么介绍一下limit和offset的使用方法。 mysql里分页一般用limit来实现&#xff0c;例如&#xff1a; 1、select* from user limit 3 表示直接取前三条数据 2、select * from user limit 1,3; 表示取1后面的第2,3,…...

vivado简单仿真入门

打开软件 创建工程 create project ![在这里插入图片描述](https://img-blog.csdnimg.cn/892eda626d394733920854b71ca8f726.png)先next,保留工程路径&#xff0c;配置环境 配置芯片环境 本次芯片类型 xc7k325tffg900-2 创建之后完整的demo 编写仿真内容 timescale 1ns/1…...

Elsevier (爱思唯尔) 期刊 投稿流程与注意点

&#x1f604; Elsevier (爱思唯尔) 期刊投稿流程中还是遇到了不少问题的&#xff0c;本篇文章总结一些说明文档和提交要点。 ⭐ LaTex 模板说明 & 投稿流程与准备 latex模版和投稿流程相关参考说明可看下面几个网址&#xff0c;总结的非常全面了&#xff1a; Elsevier&am…...

centos Let‘s Encrypt 免费https证书申请,并且自动续约

一、首先我们要使用certbot 工具 官网地址&#xff1a; https://certbot.eff.org/instructions?wsother&oscentosrhel8 下载 snap 工具 sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap sudo systemctl status…...

nodejs+vue城市轨道交通线路查询系统-计算机毕业设计

着社会的快速发展&#xff0c;计算机的影响是全面且深入的。社会生产水平的不断提高&#xff0c;日常生活中人们对备忘记账系统方面的要求也在不断提高&#xff0c;因特网的使用越来越广泛&#xff0c;而在众多的因特网中&#xff0c;万维网更是为人们带来了新鲜的体验。在这当…...

MFC Windows 程序设计[332]之十进制转十六进制编辑框(附源码)

MFC Windows 程序设计[332]之十进制转十六进制编辑框 程序之美前言主体运行效果核心代码逻辑分析结束语程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...