LAMP架构搭建
目录
LAMP架构搭建
编译安装Apache httpd服务
1、需要的安装包
2、关闭防火墙和核心防护
3、安装环境依赖包
4、配置软件模块
5、编译及安装
6、优化配置文件路径(可不做)
7、添加httpd系统服务
8、修改httpd 服务配置文件
9、浏览器访问验证
编译安装mysqld 服务
1、将安装mysql 所需软件包传到机器上
2、安装环境依赖包
3、配置软件模块
4、编译安装
5、创建mysql用户
6.修改mysql 配置文件
7、更改mysql安装目录和配置文件的属主属组
8、设置路径环境变量
9、初始化数据库
10、添加mysqld系统服务
11、修改mysql 的登录密码
12、授权远程登录
编译安装PHP 解析环境
1、将安装PHP 所需软件包传到机器上
2、安装GD库和GD库关联程序(用来处理和生成图片)
3、配置软件模块
4、编译及安装
5、优化
6、复制模版文件作为PHP 的主配置文件,并进行修改
7、修改httpd 服务的配置文件,让apache支持PHP
8、验证PHP 测试页
使用LAMP架构安装论坛
1.创建数据库,并进行授权
2、解压论坛压缩包
3、更改论坛目录的属主
4、浏览器访问验证
使用LAMP架构安装个人博客
1、创建数据库,并进行授权
2、解压复制
3、更改论坛目录的属主
4、登录验证
LAMP:网站服务架构,同时提供静态页面和动态页面的访问能力。
Linux:提供网站服务应用的操作系统环境,也支持 Window、Unix 系统作为 AMP 的操作系统环境
Apache:作为前端网站服务,直接面向用户提供网站访问入口,并处理静态页面请求
MySQL:作为后端数据库,用于存储网站的业务数据、账户信息等,并提供访问接口给编程语言程序连接,使用SQL语句进行数据的读写
PHP:作为编程语言程序,负责解释动态页面文件;并作为中间件,负责实现前端Web网站服务和后端数据库的协同工作
LAMP架构搭建
编译安装Apache httpd服务
1、需要的安装包
httpd-2.4.29.tar.bz2
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
2、关闭防火墙和核心防护
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
3、安装环境依赖包
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
gcc ---C语言的编译器
gcc-c++ ---C++的编译器
make ---源代码编译器(源代码转换成二进制文件)
pcre ---pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel ---perl的接口开发包
expat-devel ---用于支持网站解析HTML、XML文件
perl ---perl语言编译器
4、配置软件模块
解压
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2(按实际位置解压)
将apr模块移动到httpd-2.4.29中
mv apr-1.6.2 ./httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 ./httpd-2.4.29/srclib/apr-util
cd ./httpd-2.4.29/
配置软件模块
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
--prefix=/usr/local/httpd---指定将 httpd 服务程序的安装路径
--enable-so---启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite---启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite---启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi---启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力
5、编译及安装
make或者make -j 2(表示开2核同时进行编译,取决于机器有几个CPU)
make install
6、优化配置文件路径(可不做)
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
7、添加httpd系统服务
vim /lib/systemd/system/httpd.service
[Unit] ---服务的说明
Description=The Apache HTTP Server ---描述服务
After=network.target ---依赖,当依赖的服务启动之后再启动自定义的服务
[Service] ---服务运行参数的设置
Type=forking ---后台运行方式
PIDFile=/usr/local/httpd/logs/httpd.pid ---PID文件位置
ExecStart=/usr/local/bin/apachectl $OPTIONS ---服务的运行命令
ExecReload=/bin/kill -HUP $MAINPID ---根据PID重载配置
[Install] ---服务安装的相关设置
WantedBy=multi-user.target ---设置为多用户
启动httpd服务
systemctl start httpd.service
systemctl enable httpd.service
8、修改httpd 服务配置文件
1、监听本机80端口
2、取消注释,修改域名
3、网页的默认存放位置(可不修改)
4、检查配置文件是否有误,重启服务
httpd -t 或 apachectl -t
9、浏览器访问验证
检查80端口是否开启
浏览器访问
域名访问需要更改host文件
编译安装mysqld 服务
1、将安装mysql 所需软件包传到机器上
需要的软件包
mysql-5.7.17.tar.gz
boost_1_59_0.tar.gz
或者
mysql-boost-5.7.44.tar.gz
2、安装环境依赖包
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake openssl-devel
gcc ---C语言的编译器
gcc-c++ ---C++的编译器
ncurses ---字符终端下图形互动功能的动态库
ncurses-devel ---ncurses开发包
bison ---语法分析器
cmake ---mysql需要用cmake编译安装
3、配置软件模块
解压软件包
tar zxvf mysql-boost-5.7.44.tar.gz(按实际位置解压)
配置软件模块
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
4、编译安装
make -j 4 && make install
5、创建mysql用户
useradd -M -s /sbin/nologin mysql
6.修改mysql 配置文件
vim /etc/my.cnf (如是桌面安装可能有mariadb))
添加
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8mb4
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=4096
default-storage-engine=INNODB
max_allowed_packet=32M
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
7、更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
8、设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
source /etc/profile
9、初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
--initialize-insecure ---生成初始化密码为空
--user=mysql ---指定管理用户
--basedir=/usr/local/mysql ---指定数据库的安装目录
--datadir=/usr/local/mysql/data ---指定数据库文件的存储路径
10、添加mysqld系统服务
systemctl服务管理
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
刷新识别
systemctl daemon-reload
开启服务
systemctl start mysqld.service
设置开机自启动
systemctl enable mysqld
查看端口
netstat -anpt | grep 3306
11、修改mysql 的登录密码
给root账号设置密码为abc123
mysqladmin -u root password "abc123"
12、授权远程登录
mysql -u root -pabc123
授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限
grant all privileges on *.* to 'root'@'%' identified by 'abc123';
查看当前已有的数据库
show databases;
编译安装PHP 解析环境
1、将安装PHP 所需软件包传到机器上
需要的软件包
php-7.1.10.tar.bz2
2、安装GD库和GD库关联程序(用来处理和生成图片)
yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
3、配置软件模块
tar xf php-7.1.10.tar.bz2(按实际位置解压)
cd php-7.1.10/
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php/lib \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
--prefix=/usr/local/php---指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs---指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock ---指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php/lib---设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli ---添加 MySQL 扩展支持,mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib ---支持zlib功能,提供数据压缩
--with-curl ---开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd ---激活gd 库的支持
--with-jpeg-dir ---激活jpeg 的支持
--with-png-dir ---激活png 的支持
--with-freetype-dir
--with-openssl
--enable-mbstring ---启用多字节字符串功能,以便支持中文等代码
--enable-xml ---开启扩展性标记语言模块
--enable-session ---会话
--enable-ftp ---文本传输协议
--enable-pdo ---函数库
--enable-tokenizer ---令牌解释器
--enable-zip ---ZIP压缩格式
4、编译及安装
make && make install
5、优化
把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php/bin/* /usr/local/bin/
查看PHP 加载了哪些模块
php -m
6、复制模版文件作为PHP 的主配置文件,并进行修改
php --ini
复制
cp ~/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini(按实际位置复制)
修改
vim /usr/local/php/lib/php.ini
date.timezone = Asia/Shanghai
mysqli.default_socket = /usr/local/mysql/mysql.sock
7、修改httpd 服务的配置文件,让apache支持PHP
vim /etc/httpd.conf
修改首页文件名设置
DirectoryIndex index.html index.php
添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
检查支持php7的模块是否存在
LoadModule php7_module modules/libphp7.so
8、验证PHP 测试页
rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
systemctl restart httpd.service
浏览器访问
使用LAMP架构安装论坛
1.创建数据库,并进行授权
mysql -u root -pabc123
创建一个数据库
CREATE DATABASE bbs;
把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
刷新数据库
flush privileges;
查看数据库
show databases;
2、解压论坛压缩包
unzip ~/Discuz_X3.4_SC_UTF8.zip -d /opt/dis(按实际位置解压)
cd /opt/dis/dir_SC_UTF8/
上传站点更新包
cp -r upload/ /usr/local/httpd/htdocs/bbs
3、更改论坛目录的属主
论坛进程的用户名是daemon
ps aux
cd /usr/local/httpd/htdocs/bbs
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data
4、浏览器访问验证
http://192.168.110.50/bbs(根据实际IP)
安装
安装成功
论坛首页
论坛后台管理员页面
http://192.168.110.50/bbs/admin.php
使用LAMP架构安装个人博客
1、创建数据库,并进行授权
mysql -u root -pabc123
创建一个数据库
create database wordpress;
把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123
grant all on wordpress.* to 'admin103'@'%'identified by 'abc123';
刷新数据库
flush privileges;
查看数据库
show databases;
2、解压复制
解压
tar xf wordpress-4.9.4-zh_CN.tar.gz -C /opt/
将wordpress复制到网站服务的根目录下
cp -r wordpress /usr/local/httpd/htdocs/
3、更改论坛目录的属主
cd /usr/local/httpd/htdocs/
chown -R daemon:daemon wordpress/
4、登录验证
http://192.168.110.50/wordpress
安装
如需创建wp-config.php,按要求创建即可
相关文章:

LAMP架构搭建
目录 LAMP架构搭建 编译安装Apache httpd服务 1、需要的安装包 2、关闭防火墙和核心防护 3、安装环境依赖包 4、配置软件模块 5、编译及安装 6、优化配置文件路径(可不做) 7、添加httpd系统服务 8、修改httpd 服务配置文件 9、浏览器访问验证…...

RT-DETR
SSE represents the single-scale Transformer encoder,CSF represents cross-scale fusion. AIFI and CCFF are the two modules designed into 作者的 hybrid encoder 截止到发文时间的issue数,多吓人呐,不建议复现...

【算法——KMP】
1理解next数组定义:最长相等前后缀(不含当前字符并且不能是整体) 算法讲解100【扩展】 KMP算法原理和代码详解_哔哩哔哩_bilibili next数组的值:假设这个i出现了不匹配就从next[i]的位置开始在再匹配 2next数组生成 看一下是怎…...

视频监控相关笔记
一、QT 之 QTreeWidget 树形控件 Qt编程指南,Qt新手教程,Qt Programming Guide 一个树形结构的节点中的图表文本 、附带数据的添加: QTreeWidgetItem* TourTreeWnd::InsertNode(NetNodeInfo node, QTreeWidgetItem* parent_item) { // …...

React 中,构建组件的方式
1. 函数组件(Function Components) 函数组件是最简单的组件形式,通常用于展示性的组件,不涉及复杂的生命周期方法。 import React from react;function Welcome(props) {return <h1>Hello, {props.name}</h1>; }exp…...

Android开发高频面试题之——Android篇
Android开发高频面试题之——Android篇 Android开发高频面试题之——Java基础篇 Android开发高频面试题之——Kotlin基础篇 Android开发高频面试题之——Android基础篇 1. Activity启动模式 standard 标准模式,每次都是新建Activity实例。singleTop 栈顶复用。如果要启动的A…...

禁用拷贝构造函数和赋值构造函数
在C中,禁用拷贝构造函数和拷贝赋值操作符的方式通常是为了防止类的对象被意外复制,这对于那些管理独占资源或不应被复制的对象尤为重要。 class LatActiveControlState : public LatState { public:LatActiveControlState() : LatState(LatS_ActiveCont…...

OneDrive for Business with Office Online 部署方案
目录 前言 部署准备 需求分析 用户需求 技术需求 环境准备 硬件要求 软件要求 许可计划 OneDrive for Business 部署 前期准备 域名配置 Azure AD 配置 安装与配置 安装 OneDrive 同步客户端 配置 OneDrive 组策略 数据迁移 Office Online 部署 前期准备 安…...

win10 win11 设置文件权限以解决Onedrive不能同步问题
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...

Unity DOTS系列之IJobChunk来迭代处理数据
最近DOTS发布了正式的版本, 我们来分享一下System中如何在System中使用IJobChunk来迭代处理World中的数据,方便大家上手学习掌握Unity DOTS开发。 再回顾一次基于ArcheType Chunk内存管理 我们先再次回顾以下基于ArcheType的Chunk内存管理。每一类Entity都是由一些…...

哈希——哈希表
回顾/本期梗概 上期我们学习了哈希——字符串哈希(空降链接),本期我们将学习哈希中的哈希表。 1、哈希表原理 (1)使用数组下标直接标记元素 哈希表(也叫数列表):是一种高效的、通过把…...

简单了解 JVM
目录 ♫什么是JVM ♫JVM的运行流程 ♫JVM运行时数据区 ♪虚拟机栈 ♪本地方法栈 ♪堆 ♪程序计数器 ♪方法区/元数据区 ♫类加载的过程 ♫双亲委派模型 ♫垃圾回收机制 ♫什么是JVM JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。 虚拟机是指通过软件模…...

已经30岁了,想转行从头开始现实吗?什么样的工作算好工作?
我是29岁那年,完成从转行裸辞副业的职业转型。 如果你把职业生涯看成是从现在开始30岁,到你退休那年,中间这么漫长的30年,那么30岁转行完全来得及; 如果你觉得必须在什么年纪,什么时间内必须完成赚到几十…...

快速理解docker(一)docker 简介
在当今快速迭代的软件开发环境中,如何高效地部署、管理和扩展应用程序成为了开发者们面临的重大挑战。Docker,作为一款开源的容器化平台,凭借其轻量级、可移植性和易于部署的特性,迅速成为了解决这些挑战的热门选择。本文将带您走…...

RHCS认证-Linux(RHel9)-Ansible
文章目录 一、ansible 简介二 、ansible部署三、ansible服务端测试四 、ansible 清单inventory五、Ad-hot 点对点模式六、YAML语言模式七、RHCS-Ansible附:安装CentOS-Stream 9系统7.1 ansible 执行过程7.2 安装ansible,ansible-navigator7.2 部署ansibl…...

【Python】Spyder:科学 Python 开发环境
在数据科学和科学计算领域,Python 已经成为了一个不可或缺的工具。为了提高开发效率和改善编程体验,一个功能强大且用户友好的开发环境是必需的。Spyder(Scientific Python Development Environment)正是这样一个为科学计算和数据…...

SpringBootWeb响应
2. 响应 前面我们学习过HTTL协议的交互方式:请求响应模式(有请求就有响应) 那么Controller程序呢,除了接收请求外,还可以进行响应。 2.1 ResponseBody 在我们前面所编写的controller方法中,都已经设置了…...

CMake 构建Qt程序弹出黑色控制台
CMake 构建Qt程序弹出黑色控制台...

虚拟机centos_7 配置教程(镜像源、配置centos、静态ip地址、Finalshell远程操控使用)
文章目录 一、下载镜像源(准备工作)1、开源网站2、下载 二、VMware配置centos三、配置静态IP地址四、Finalshell使用1、下载Finalshell2、连接虚拟机 五、谢谢观看! 一、下载镜像源(准备工作) 1、开源网站 有许多开源…...

git 删除 git push 失败的记录
文章目录 问题分析 问题 git push 失败后如何清理 commit 提交的内容 当我们 git push 失败后,如果下次有新的改动需要push时,会出现如下报错 分析 找到需要回退的那次commit的 哈希值 git log然后就回退到了指定版本,这个时候再把新修改…...

【专题】2024年中国白酒行业数字化转型研究报告合集PDF分享(附原数据表)
原文链接:https://tecdat.cn/?p37755 消费人群趋于年轻化,消费需求迈向健康化,消费场景与渠道走向多元化,这些因素共同驱动企业凭借数据能力来适应市场的变化。从消费市场来看,消费群体、需求、场景及渠道皆展现出与…...

哪款品牌充电宝性价比比较高?五款性价比绝佳充电宝推荐
在现代生活中,充电宝已经成为我们日常出行和工作的必备品。然而,面对市场上琳琅满目的充电宝品牌,大家往往难以抉择。尤其是在近期,充电宝不合格产品的数量持续上升,据最新抽查结果显示,不合格率已经上升到…...

巨坑!!华为大数据平台sparksql,连接gauss200数据库
最近用华为大数据平台fusion6.5平台,写了一个sparksql 读取gauss200的MPP数据库的程序。 首先将spark 相关的jar依赖包,必须在华为大数据平台的客户端的spark/jars 这个文件里面去找到然后添加到idea 依赖里面。打包要把整体包打在里面。 核心代码片段…...

BGP相关知识笔记
技术背景: 在只有IGP(诸如OSPF、IS-IS、RIP等协议,因为最初是被设计在一个单域中进行一个路由操纵,因此被统一称为Interior Gateway Protocol,内部网关协议)的时代,域间路由无法实现一个全局路由…...

在 Windows 上运行 Vue 项目时解决 ‘NODE_OPTIONS‘ 错误
在 Windows 上运行 Vue 项目时解决 ‘NODE_OPTIONS’ 错误 在 Windows 系统上启动 Vue 项目时,遭遇报错。具体报错信息如下: ‘NODE_OPTIONS‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。这个错误通常意味着 Windows 系统无法识…...

面试真题:谈一谈Mysql的分库分表
分表和分库是什么?有什么区别? 分库是一种水平扩展数据库的技术,将数据根据一定规则划分到多个独立的数据库中。每个数据库只负责存储部分数据,实现了数据的拆分和分布式存储。分库主要是为了解决并发连接过多,单机 my…...

玄机靶场--蚁剑流量
木马的连接密码是多少 黑客执行的第一个命令是什么 id 黑客读取了哪个文件的内容,提交文件绝对路径 /etc/passwd 黑客上传了什么文件到服务器,提交文件名 黑客上传的文件内容是什么 黑客下载了哪个文件,提交文件绝对路径 蚁剑流量特征总结 …...

uniapp map设置高度为100%后,会拉伸父容器的高度
推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...

CICD从无到会
一 CICD是什么 CI/CD 是指持续集成(Continuous Integration)和持续部署(Continuous Deployment)或持续交付(Continuous Delivery) 1.1 持续集成(Continuous Integration) 持续集成是…...

责任链模式优化 文章发布的接口(长度验证,敏感词验证,图片验证等环节) 代码,示例
需求:后端需要提供一个文章发布的接口,接口中需要先对文章内容进行如下校验,校验通过后才能发布 1. 文章长度不能超过1万个字符 2. 不能有敏感词 3. 文章中图片需要合规 责任链相当于一个链条一样,链条上有很多节点,节…...