LAMP环境下项目部署
目录
目录
1、创建一台虚拟机
centos 源的配置
备份源
修改源
重新加载缓存
安装软件
2、关闭防火墙和selinux
查看防火墙状态
关闭防火墙
查看SELinux的状态
临时关闭SELinux
永久关闭SELinux:编辑SELinux的配置文件
配置文件的修改内容
3、检查系统中是否已经安装Apache、MySQL、PHP
检查Apache
4、Apache安装
安装httpd软件
配置httpd.conf文件
修改配置文件内容
启动httpd
5、MySQL安装
下载MySQL的官网yum源
安装MySQL的官网镜像源
使用yum安装mysql最新版软件
启动mysql,查看端口占用情况
MySQL数据库初始化(重要)
初始化数据,设置root密码(MySQL管理员)
把mysqld服务添加到开机启动项
连接MySQL数据库,测试
6、PHP安装
使用yum命令安装php软件
7、测试LAMP环境是否可以使用
第一步:进入/var/www/html目录
第二步:使用vim命令创建demo.php文件
第三步:编写php代码
8、部署Discuz!论坛
下载源代码
使用unzip对discuz.zip压缩包进行解压
复制discuz中的文件到/var/www/html目录
打开浏览器,输入公网IP地址
单击同意继续安装
解决PHP扩展问题
添加 EPEL and REMI 仓库
安装PHP 7.4、启用PHP 7.4 Remi 仓库
安装扩展
配置
查看版本
重启httpd
设置开机启动
刷新页面 环境问题解决
上图显示 部分目录不可写,不存在,红色×号需解决
再次刷新,全部搞定
跟着步骤继续安装
9、安装完成后,点击直接访问站点,访问论坛首页
1、创建一台虚拟机
centos 源的配置
备份源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
修改源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
重新加载缓存
yum makecache
安装软件
zip:用于压缩文件。unzip:用于解压缩.zip文件。vim:一种强大的文本编辑器。wget:用于从网络上下载文件。httpd:Apache HTTP 服务器。lsof:列出当前打开的文件。net-tools:包含网络工具,如ifconfig。at:用于计划任务的命令。cronie:提供计划任务的功能。openssh*:安装所有与 OpenSSH 相关的软件包,包括客户端和服务器端。ntp:网络时间协议客户端,用于同步系统时间。gdisk:用于管理 GPT 分区表的工具。
yum -y install zip unzip vim wget httpd lsof net-tools at cronie openssh* ntp gdisk
2、关闭防火墙和selinux
查看防火墙状态
systemctl status firewalld
关闭防火墙
systemctl stop firewalld
查看SELinux的状态
getenforce
临时关闭SELinux
setenforce 0
永久关闭SELinux:编辑SELinux的配置文件
vim /etc/selinux/config
配置文件的修改内容
SELINUX=disabled
disabled 关闭 enable 开启
3、检查系统中是否已经安装Apache、MySQL、PHP
检查Apache
rpm -qa | grep httpd
卸载已安装的Apache
(httpd-2.4.6-90.el7.centos.x86_64、httpd-tools-2.4.6-90.el7.centos.x86_64)为已安装的Apache版本文件
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
4、Apache安装
安装httpd软件
yum install httpd -y
配置httpd.conf文件
vim /etc/httpd/conf/httpd.conf
修改配置文件内容
搜索ServerName 修改为以下内容 并保存退出
ServerName localhost:80
启动httpd
systemctl start httpd
把httpd服务添加到开机启动项中
systemctl enable httpd
查询httpd占用的端口
ss -naltp |grep httpd
浏览器中使用IP访问服务器
http://...............
5、MySQL安装
下载MySQL的官网yum源
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,查看端口占用情况
systemctl start mysqld
netstat -tnlp |grep mysqld
MySQL数据库初始化(重要)
默认情况下,数据库没有密码,也没有任何数据,必须要初始化
初始化数据,设置root密码(MySQL管理员)
所有都选Y即可
mysql_secure_installation


把mysqld服务添加到开机启动项
systemctl enable mysqld
连接MySQL数据库,测试
mysql -u root -p
6、PHP安装
使用yum命令安装php软件
yum install php -y
使用systemctl启动php软件(重启Apache)
systemctl restart httpd
7、测试LAMP环境是否可以使用
第一步:进入/var/www/html目录
cd /var/www/html
Apache的项目目录 => /var/www/html,以后程序员开发的代码都是放置于此目录
第二步:使用vim命令创建demo.php文件
vim demo.php
第三步:编写php代码
创建一个test.php文件并编辑写入测试代码
<?php
echo 'hello world!';
?>
8、部署Discuz!论坛
下载源代码
下载地址:https://gitee.com/ComsenzDiscuz/DiscuzX (码云)
https://gitee.com/Discuz/DiscuzX
使用unzip对discuz.zip压缩包进行解压
unzip DiscuzX-v3.5.zip
复制discuz中的文件到/var/www/html目录
mv DiscuzX-v3.5/* /var/www/html/
打开浏览器,输入公网IP地址
192.168.77.110/upload
单击同意继续安装

解决PHP扩展问题
表示当前的php版本太低,需要升级php

添加 EPEL and REMI 仓库
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装PHP 7.4、启用PHP 7.4 Remi 仓库
yum -y install yum-utils
yum-config-manager --enable remi-php74
yum update
yum install php php-cli
安装扩展
yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
配置
查看版本
php -v
重启httpd
systemctl restart httpd
设置开机启动
systemctl enable php-fpm.service
systemctl start php-fpm.service
刷新页面 环境问题解决

上图显示 部分目录不可写,不存在,红色×号需解决
chmod -R a+r /var/www/html
再次刷新,全部搞定
而如果刷新之后还是出现这个页面时

一般就是以下两种情况
第一种权限没给够,使用
chmod -R 777 /var/www/html/
直接把全部权限都给了
第二种就是selinux状态没有更改,就第二个步骤中的永久关闭selinux
跟着步骤继续安装

9、安装完成后,点击直接访问站点,访问论坛首页


相关文章:
LAMP环境下项目部署
目录 目录 1、创建一台虚拟机 centos 源的配置 备份源 修改源 重新加载缓存 安装软件 2、关闭防火墙和selinux 查看防火墙状态 关闭防火墙 查看SELinux的状态 临时关闭SELinux 永久关闭SELinux:编辑SELinux的配置文件 配置文件的修改内容 3、检查系统…...
Visual Studio 2022从外部引入dll导致的问题
这里以我学MapGIS二次开发的一个小demo为例 一、如何引入dll 1、在解决方案资源管理器中,有个引用的选项 2、然后右键点击添加引用 点击之后会出现如下: 3、点击浏览选项,选择想要引入dll的路径,这里我选择下载MapGIS 10的路径 …...
大模型从失败中学习 —— 微调大模型以提升Agent性能
人工智能咨询培训老师叶梓 转载标明出处 以往的研究在微调LLMs作为Agent时,通常只使用成功的交互轨迹,而丢弃了未完成任务的轨迹。这不仅造成了数据和资源的浪费,也可能限制了微调过程中可能的优化路径。论文《Learning From Failure: Integ…...
10.web应用体系以及windows网络常见操作应用
一、Dos命令 1.启动方式:winR,输入cmd 2.切换盘符/路径:盘符名称: (C:) cd 目录 (cd B111)(目录名按table键自动补全) 3.查看目录:dir dir /p 分页展示目录及…...
【数据结构与算法 | 灵神题单 | 前后指针(链表)篇】力扣19, 61,1721
1. 力扣19:删除链表的倒数第N个节点 1.1 题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: …...
机器学习之实战篇——MNIST手写数字0~9识别(全连接神经网络模型)
机器学习之实战篇——Mnist手写数字0~9识别(全连接神经网络模型) 文章传送MNIST数据集介绍:实验过程实验环境导入模块导入MNIST数据集创建神经网络模型进行训练,测试,评估模型优化 文章传送 机器学习之监督学习&#…...
ICLR2024: 大视觉语言模型中对象幻觉的分析和缓解
https://arxiv.org/pdf/2310.00754 https://github.com/YiyangZhou/LURE 背景 对象幻觉:生成包含图像中实际不存在的对象的描述 早期的工作试图通过跨不同模式执行细粒度对齐(Biten et al.,2022)或通过数据增强减少对象共现模…...
数据库系统 第54节 数据库优化器
数据库优化器是数据库管理系统(DBMS)中的一个关键组件,它的作用是分析用户的查询请求,并生成一个高效的执行计划。这个执行计划定义了如何访问数据和执行操作,以最小化查询的执行时间和资源消耗。以下是数据库优化器的…...
微服务杂谈
几个概念 还是第一次听说Spring Cloud Alibaba ,真是孤陋寡闻了,以前只知道 SpringCloud 是为了搭建微服务的,spring boot 则是快速创建一个项目,也可以是一个微服务 。那么SpringCloud 和 Spring boot 有什么区别呢?S…...
【Pandas操作2】groupby函数、pivot_table函数、数据运算(map和apply)、重复值清洗、异常值清洗、缺失值处理
1 数据清洗 #### 概述数据清洗是指对原始数据进行处理和转换,以去除无效、重复、缺失或错误的数据,使数据符合分析的要求。#### 作用和意义- 提高数据质量:- 通过数据清洗,数据质量得到提升,减少错误分析和错误决策。…...
如何分辨IP地址是否能够正常使用
在互联网的日常使用中,无论是进行网络测试、网站访问、数据抓取还是远程访问,一个正常工作的IP地址都是必不可少的。然而,由于各种原因,IP地址可能无法正常使用,如被封禁、网络连接问题或配置错误等。本文将详细介绍如…...
Sqoop 数据迁移
Sqoop 数据迁移 一、Sqoop 概述二、Sqoop 优势三、Sqoop 的架构与工作机制四、Sqoop Import 流程五、Sqoop Export 流程六、Sqoop 安装部署6.1 下载解压6.2 修改 Sqoop 配置文件6.3 配置 Sqoop 环境变量6.4 添加 MySQL 驱动包6.5 测试运行 Sqoop6.5.1 查看Sqoop命令语法6.5.2 测…...
【数据结构】排序算法系列——希尔排序(附源码+图解)
希尔排序 算法思想 希尔排序(Shell Sort)是一种改进的插入排序算法,希尔排序的创造者Donald Shell想出了这个极具创造力的改进。其时间复杂度取决于步长序列(gap)的选择。我们在插入排序中,会发现是对整体…...
c++(继承、模板进阶)
一、模板进阶 1、非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中…...
【机器学习】从零开始理解深度学习——揭开神经网络的神秘面纱
1. 引言 随着技术的飞速发展,人工智能(AI)已从学术研究的实验室走向现实应用的舞台,成为推动现代社会变革的核心动力之一。而在这一进程中,深度学习(Deep Learning)因其在大规模数据处理和复杂问题求解中的卓越表现,迅速崛起为人工智能的最前沿技术。深度学习的核心是…...
WebLogic 笔记汇总
WebLogic 笔记汇总 一、weblogic安装 1、创建用户和用户组 groupadd weblogicuseradd -g weblogic weblogic # 添加用户,并用-g参数来制定 web用户组passwd weblogic # passwd命令修改密码# 在文件末尾增加以下内容 cat >>/etc/security/limits.conf<<EOF web…...
leetcode:2710. 移除字符串中的尾随零(python3解法)
难度:简单 给你一个用字符串表示的正整数 num ,请你以字符串形式返回不含尾随零的整数 num 。 示例 1: 输入:num "51230100" 输出:"512301" 解释:整数 "51230100" 有 2 个尾…...
Python GUI入门详解-学习篇
一、简介 GUI就是图形用户界面的意思,在Python中使用PyQt可以快速搭建自己的应用,自己的程序看上去就会更加高大上。 有时候使用 python 做自动化运维操作,开发一个简单的应用程序非常方便。程序写好,每次都要通过命令行运行 pyt…...
QT5实现https的post请求(QNetworkAccessManager、QNetworkRequest和QNetworkReply)
QT5实现https的post请求 前言一、一定要有sslErrors处理1、问题经过2、代码示例 二、要利用抓包工具1、问题经过2、wireshark的使用3、利用wireshark查看服务器地址4、利用wireshark查看自己构建的请求报文 三、返回数据只能读一次1、问题描述2、部分代码 总结 前言 QNetworkA…...
vscode 使用git bash,路径分隔符缺少问题
window使用bash --login -i 使用bash时候,在系统自带的terminal里面进入,测试conda可以正常输出,但是在vscode里面输入conda发现有问题 bash: C:\Users\marswennaconda3\Scripts: No such file or directory实际路径应该要为 C:\Users\mars…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
