首页 > 其他分享 >搭建 LAMP+DISCUZ 论坛

搭建 LAMP+DISCUZ 论坛

时间:2023-06-18 22:33:13浏览次数:47  
标签:root MySQL DISCUZ LAMP usr mysql local localhost 搭建

目录

一、搭建 Apache 服务

1. 下载 Apache 软件源码包及插件

官网地址:http://httpd.apache.org/download.cgi

2. 编译安装 Apach

(1)解压源码包及插件

[root@localhost opt]#
tar -xf httpd-2.4.29.tar.bz2 
tar -xf apr-1.6.2.tar.gz 
tar -xf apr-util-1.6.0.tar.gz 

image-20230618131513154

(2)配置插件

将插件放到httpd目录的srclib目录下

注:httpd/srclib/目录是Apache HTTP Server 源代码中的一个重要目录,它包含了一些关键的第三方库和模块,对于 Apache服务器的开发和维护都非常重要。

[root@localhost opt]#
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

image-20230618132700309

(3)安装编译环境

① 首先配置在线yum源(阿里云)

[root@localhost yum.repos.d]#
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache

②安装

编译插件 作用
gcc c 语言解释器
gcc-c++ c++ 的编译器
make 源码编译器(源码转换成二进制)
pcre pcre 是一个Perl 函数库,包含perl 兼容的正则表达式库
pcre-devel pcre 的接口开发包
expat-devel 用于支持网站解析HTML、XML文件
perl perl语言编译器
[root@localhost opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre \
> pcre-devel \
> expat-devel \
> perl

image-20230618133857949

(4)设置安装路径和模块

cd /opt/httpd-2.4.29/
[root@localhost httpd-2.4.29]#
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

image-20230618135206574

(5)编译和安装

[root@localhost httpd-2.4.29]# 
make -j 4 && make install

# -j 是使用cpu数量 

image-20230618142244950

(6)优化服务命令

优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
这两条命令的实际效果是使得Apache HTTP服务器能够更好地融入到整个系统环境中,
提高了系统的可移植性、可维护性和可用性

[root@localhost opt]# 
ln -s /usr/local/httpd/conf/httpd.conf /etc
ln -s /usr/local/httpd/bin/* /usr/local/bin

[root@localhost opt]# 
vim /etc/init.d/httpd 
#!/bin/sh
# chkconfig: 35 85 21
# description:Apache is a World Wide Web server

image-20230618152236838

(7)加入系统管理

[root@localhost opt]# 
chkconfig --add httpd 

(8)配置 Apache 配置文件

httpd配置文件行 作用
52行 监听端口
197行 服务名称
221行 默认首页存放位置
255行 默认首页存放路径

检测配置文件语法:http -t 或 apache -t

[root@localhost opt]# 
vim /etc/httpd.conf 
# 第52行,监听本机80端口
 Listen 192.168.23.15:80

# 第197行,本机服务名称,如果有域名可以用域名加端口号
 ServerName 192.168.23.15:80

# 检测配置文件是否有误
httpd -t

image-20230618154241198

(9)开启服务并检查端口

[root@localhost opt]# 
service httpd start
netstat -antp | grep 80

image-20230618155107245

(10)检查是否可以访问

[root@localhost opt]# 
cat /usr/local/httpd/htdocs/index.html 

image-20230618155409228

image-20230618155724848

二、搭建 MySQL 服务

1. 下载 MySQL 源码包

官网地址:https://www.mysql.com/

2. 编译安装 MySQL

(1)解压源码包及插件

[root@localhost opt]# 
tar -xf mysql-5.7.17.tar.gz 
tar -xf boost_1_59_0.tar.gz 

image-20230618160851587

(2)配置插件

[root@localhost opt]# 
mv boost_1_59_0 /usr/local/boost

image-20230618161521283

(3)安装编译环境

编译插件 作用
gcc c 语言解释器
gcc-c++ c 语言编译器
ncurses 字符终端下图形互动功能的动态库
ncurses-devel ncurses开发包
bison 语法分析器
cmake mysql需要用cmake编译安装
[root@localhost opt]# 
yum -y install \
> gcc \
> gcc-c++ \
> ncurses \
> ncurses-devel \
> bison \
> cmake

image-20230618163305931

(4)设置安装路径及模块

模块 功能
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定mysql的安装路径
DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 指定mysql进程监听套接字文件(数据库连接文件)的存储路径
DSYSCONFDIR=/etc 指定配置文件的存储路径
DSYSTEMD_PID_DIR=/usr/local/mysql 指定进程文件的存储路径
DDEFAULT_CHARSET=utf8 指定默认使用的字符集编码,如 utf8
DDEFAULT_COLLATION=utf8_general_ci 指定默认使用的字符集校对规则
DWITH_EXTRA_CHARSETS=all 指定支持其他字符集编码
DWITH_INNOBASE_STORAGE_ENGINE=1 安装INNOBASE存储引擎
DWITH_ARCHIVE_STORAGE_ENGINE=1 安装ARCHIVE存储引擎
DWITH_BLACKHOLE_STORAGE_ENGINE=1 安装BLACKHOLE存储引擎
DWITH_PERFSCHEMA_STORAGE_ENGINE=1 安装FEDERATED存储引擎
DMYSQL_DATADIR=/usr/local/mysql/data 指定数据库文件的存储路径
DWITH_BOOST=/usr/local/boost 指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
DWITH_SYSTEMD=1 指定在编译安装一个软件时启用对 systemd 系统管理守护进程的支持
cd /opt/mysql-5.7.17
[root@localhost mysql-5.7.17]# 
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 \
> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DWITH_BOOST=/usr/local/boost \
> -DWITH_SYSTEMD=1

(5)编译与安装

[root@localhost mysql-5.7.17]# make -j 4 && make -j 4 install
① 出现报错

image-20230618170336867

② 解决方法

可能是内存不足导致

a. 清空缓存(一次不行,多清空几次即可)

echo 1 > /proc/sys/vm/drop_caches

/proc/sys/vm/drop_caches 是一个系统内核参数,它可以用于清除 Linux 系统的缓存页。通过修改该文件中的值,可以实现清除缓存的不同方式。具体来说,它包括以下三种值:

  • 0:什么都不做
  • 1:释放页面缓存
  • 2:释放节点和索引缓存

b. 加内存

(6)创建普通用户管理 MySQL

[root@localhost mysql-5.7.17]# 
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

image-20230618180151054

image-20230618175817259

(7)配置 MySQL 配置文件

[root@localhost mysql-5.7.17]# 
vim /etc/my.cnf

[client]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
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=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
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

配置文件每行的含义

port = 3306

设置 MySQL 服务器使用的端口号,默认值为 3306。

default-character-set=utf8

设置 MySQL 服务器默认使用的字符集编码为 utf8。

socket=/usr/local/mysql/mysql.sock

指定 MySQL 使用的 Unix 套接字文件路径。

[mysql]

这个段名称表示设置的是 MySQL 客户端的选项。

port = 3306

设置 MySQL 客户端连接 MySQL 服务器使用的端口号,默认值为 3306。

default-character-set=utf8

设置 MySQL 客户端默认使用的字符集编码为 utf8。

socket=/usr/local/mysql/mysql.sock

指定 MySQL 客户端使用的 Unix 套接字文件路径。

auto-rehash

启用 MySQL 客户端的自动哈希表功能,可以更快地搜索和补全数据库、表名以及其他相关信息。

[mysqld]

这个段名称表示设置的是 MySQL 服务器的选项。

user = mysql

指定 MySQL 服务器的运行用户为 mysql 用户。

basedir=/usr/local/mysql

指定 MySQL 服务器的安装目录为 /usr/local/mysql。

datadir=/usr/local/mysql/data

指定 MySQL 存储数据文件的目录为 /usr/local/mysql/data。

port = 3306

同上,设置 MySQL 服务器使用的端口号,默认值为 3306。

character-set-server=utf8

设置 MySQL 服务器默认使用的字符集编码为 utf8。

pid-file = /usr/local/mysql/mysqld.pid

指定 MySQL 服务器进程 ID(PID)文件路径。

socket=/usr/local/mysql/mysql.sock

同上,指定 MySQL 使用的 Unix 套接字文件路径。

bind-address = 0.0.0.0

允许 MySQL 服务器监听所有的网络 IP 地址,而不仅仅是本地回环网卡地址。

skip-name-resolve

禁用 MySQL 的 DNS 解析功能,可以提高查询性能和安全性。

max_connections=2048

设置 MySQL 服务器允许的最大并发连接数为 2048。

default-storage-engine=INNODB

设置 MySQL 服务器默认使用的存储引擎为 InnoDB。

max_allowed_packet=16M

设置 MySQL 服务器接受的最大连接数据包大小,单位为字节,默认值为 4MB。

server-id = 1

设置 MySQL 服务器的唯一标识符,用于在主从复制中区分不同的服务器。

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

(8)设置变量环境

申明/宣告 MySQL 命令便于系统识别

[root@localhost mysql-5.7.17]# 
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

(9)初始化数据库

参数 作用
initialize-insecure 生成初始化密码为空
user=mysql 指定管理用户
basedir=/usr/local/mysql 指定数据库的安装目录
datadir=/usr/local/mysql/data 指定数据库文件的存储路径
cd /usr/local/mysql/bin
[root@localhost bin]# 
./mysqld \
> --initialize-insecure \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data

image-20230618190557698

(10)设置自启动

[root@localhost bin]# 
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

systemctl daemon-reload 
# 刷新识别

(11)开启服务并查看端口状态

systemctl start mysqld.service 
systemctl enable mysqld.service
netstat -antp | grep 3306

image-20230618211706791

未完,待续!

标签:root,MySQL,DISCUZ,LAMP,usr,mysql,local,localhost,搭建
From: https://www.cnblogs.com/m-zhuang/p/17489912.html

相关文章

  • Nvidia 3060显卡 CUDA环境搭建(Ubuntu22.04+Nvidia 510+Cuda11.6+cudnn8.8)
    写在前面工作中遇到,简单整理理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧——赫尔曼·黑塞《德米安》当前系统环境系统环境┌......
  • LINUX LAMP架构
    目录一、LAMP二、Apache三、MySQL四、PHP  一、LAMP1.概念LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境2.组成在构建LAMP平台时,各组件的安装顺序依次为Linux,Apac......
  • Vue 开发环境搭建
    1安装环境Node.jsjs的运行环境,相当于java的jvm官网:https://nodejs.org/en,下载最新稳定版18.16.0LTS,双击安装即可自动安装了npm,终端验证:C:\Users\Administrator>node-vv18.16.0C:\Users\Administrator>npm-v9.5.1npm=nodepackagemanager,js包的管理工具,相当......
  • 用 Typescript 搭建 Nodejs Server
    Typescript是微软开发的自由和开源的变成语言,是Javascript的超集,它可以编译成Javascript。Typescript支持Javascript的语法,同时它又包含了类型定义、接口、枚举、泛型等很多后端语言的特点,能在编译时支持类型检查,因此可以很好的提升代码质量。本文将演示如何使用Typescipt......
  • MySQL数据库主从搭建(详细图文)
    文章目录前言一、主从搭建准备二、Master1.修改mysql配置文件2.创建授权用户3.查看日志和宿主机master的状态三、slave操作1.修改宿主机的server-id2.进入mysql执行相关命令3.UUID的相关配置四、测试前言主从原理:MySQL之间数据复制的基础是二进制日志文......
  • bitwarden 搭建密码管理服务器
    BitwardenOpenSourcePasswordManager支持多端同步部署代码点击查看代码mkdir/app/bitwarden/datadockerrun-d\--rm\--namebitwarden\-p8080:80\-p3012:3012\-eSIGNUPS_ALLOWED=true......
  • 使用 Nginx 在服务器上搭建一个 Xooxle 镜像站
    配置目标期望能够通过xooxle.example.com访问www.xooxle.com。配置DNS配置地址:「DNS解析DNSPod」->「域名」->「解析」->「添加记录」xooxleA222.233.233.23配置Nginx切换到Nginx配置目录:cd/etc/nginx/sites-enabled新建配置:touchxooxle.conf修改配置:......
  • CentOS7.9 k8s集群环境搭建
    环境搭建本次环境搭建需要安装三台Centos服务器(一主二从),k8s采用1.25.4版本主机安装安装虚拟机过程中注意下面选项的设置:操作系统环境:CPU(2C)内存(4G)硬盘(50G)语言选择:English软件选择:基础设施服务器分区选择:自动分区网络配置:按照下面配置网路地址信息主机名设置:按照下面信......
  • xampp 发布 discuz(php6.5)
    1、xampp最新版本是php7.1 所以老版的 discuz(是php6.5)将最新xampp卸载,从下面地址下载xampp-win32-5.6.37-0-VC11-installer.exehttps://sourceforge.net/projects/xampp/files/XAMPP%20Windows/下载后安装好:注意默认是Listen:80 如果默认被其他程序占用最好修改一个端口将d......
  • SpringBatch从入门到实战(一):简介和环境搭建
    一:简介SpringBatch是一个轻量级的批处理框架,适合处理大批量的数据(如百万级别)。功能就是从一个地方读数据写到另一个地方去。一般都是系统之间不能直接访问同一个数据库,需要通过文件来交换数据。二:从文件中读然后写到数据库这代码谁都会写,那么为什么还要使用框架?try(BufferedReader......