day22:lamp项目部署

发布于:2024-12-07 ⋅ 阅读:(90) ⋅ 点赞:(0)

一,lamp概述

lamp概述

LAMP 是一组开源软件的缩写,用于搭建动态网站或Web应用程序的基础环境。LAMP 代表了四个主要的组成部分:

  1. Linux:操作系统,LAMP 环境的基础。通常使用的是 Linux 发行版,如 CentOS、Ubuntu 等。
  2. Apache:Web 服务器软件,用于处理客户端请求和响应,是 LAMP 堆栈中的服务器组件。
  3. MySQLMariaDB:数据库管理系统,用于存储和管理数据。MySQL 是最常见的选择,但 MariaDB 是 MySQL 的一个分支,功能和兼容性较高。
  4. PHPPerlPython:编程语言,用于开发Web应用的动态内容。最常用的是 PHP。

组件作用

  • Linux:提供操作系统和基础环境。它为所有其他组件提供支持,管理硬件资源,处理任务和进程,是整个堆栈的运行平台。

  • Apache:作为 Web 服务器,负责接收和处理客户端请求(如 HTTP 请求),并根据请求返回网页或数据。它可以处理静态内容(如 HTML 文件)和动态内容(由 PHP 等语言生成)。它还支持多种认证和安全配置,确保网站的正常运行。

  • MySQL/MariaDB:数据库管理系统,负责存储和管理应用程序的数据(如用户信息、产品目录、文章等)。MySQL 和 MariaDB 都使用 SQL(结构化查询语言)来与数据库进行交互,执行增删改查等操作。

  • PHP/Python/Perl:用于开发动态网页的脚本语言,主要处理用户的交互请求,生成动态内容。例如,PHP 脚本可以从数据库中提取信息,并将其格式化后返回给用户的浏览器。PHP 是 LAMP 堆栈中最常用的语言,但 Python 和 Perl 也可以在不同场景中使用。

构建顺序

  • 安装 Linux 操作系统:首先,必须在服务器上安装一个 Linux 发行版。常见的选择有 CentOS、Ubuntu、Debian 等。

  • 安装 Apache Web 服务器:在 Linux 上安装 Apache,配置并启动 Web 服务器。这通常包括设置虚拟主机、配置端口等。

  • 安装 MySQL 或 MariaDB:安装数据库服务器,配置用户和权限。数据库用于存储应用程序的数据。

  • 安装 PHP/Python/Perl:选择一种服务器端语言(如 PHP),并配置与 Apache 和 MySQL 的集成。安装所需的库和模块(如 PHP 的 MySQL 扩展)。

  • 配置和优化:安装完组件后,通常需要进行一些基本的配置和性能调优,如调整 Apache 配置文件、数据库优化、启用缓存等。

  • 开发和部署应用程序:完成环境搭建后,可以开始开发 Web 应用或将现有的应用程序部署到服务器上。

其他形式

LAMP 组合有一些不同的变体,通常是基于 LAMP 的某个组件替换为其他流行的技术。常见的替代形式包括:

  • LEMP:替代 Apache 为 Nginx(发音为 "Engine-X")作为 Web 服务器。Nginx 是一个轻量级、高效的 Web 服务器,常用于高并发的环境。

    • L: Linux
    • E: Nginx (pronounced "Engine-X")
    • M: MySQL / MariaDB
    • P: PHP
  • LAPP:替代 MySQL 为 PostgreSQL(一个功能更强大的开源关系型数据库管理系统)。

    • L: Linux
    • A: Apache
    • P: PostgreSQL
    • P: PHP
  • LEPP:将数据库改为 PostgreSQL,同时使用 Nginx 作为 Web 服务器。

    • L: Linux
    • E: Nginx
    • P: PostgreSQL
    • P: PHP
  • MEAN:替代传统的 LAMP 组件为基于 JavaScript 的全栈技术,用于构建现代化的 Web 应用。

    • M: MongoDB(NoSQL 数据库)
    • E: Express.js(Node.js 框架)
    • A: Angular(前端框架)
    • N: Node.js(后端 JavaScript 环境)
  • WAMP:使用 Windows 操作系统而非 Linux。

    • W: Windows
    • A: Apache
    • M: MySQL
    • P: PHP
  • MAMP:类似 WAMP,但是搭建环境是在 macOS 系统上。

    • M: macOS
    • A: Apache
    • M: MySQL
    • P: PHP

每种变体的选择取决于应用场景、性能需求、开发语言偏好等因素。

二,discuz论坛系统部署

环境准备

1,做好网络准备(要可以连通外网,最好是静态ip但是可以不是)
#关闭无线网卡(有时候打开可能会导致网络无法访问)
systemctl stop NetworkManager
systemctl disable NetworkManager

#测试连通性
ping www.baidu.com
2,设置主机名
hostnamectl set-hostname lamp
3,关闭防火墙
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
getenforce
setenforce 0
#永久关闭selinux
vim /etc/selinux/config
#修改SELINUX=disabled即可
4,配置yum源

【Linux】CentOS更换国内阿里云yum源(超详细)_centos换源-CSDN博客

#安装拓展源
yum install -y epel-release

安装apache

1,检测apache是否已经安装
rpm [选项] [命令] [软件包]
-i:安装软件包
-U:升级或安装软件包
-e:卸载软件包
-q:查询软件包
-qa:查询所有已安装的软件包
-qi:查询已安装软件包的详细信息
-ql:列出已安装软件包的所有文件
-qf:查询文件属于哪个已安装软件包
-V:验证已安装软件包的完整性
-R:列出包的依赖关系
-p:查看 .rpm 包文件内容
--force:强制安装或卸载软件包

rpm -qa |grep httpd
2,yum安装apache(软件叫httpd)
yum install -y httpd
3,修改配置文件
#配置/etc/httpd/conf/httpd.conf
vim  /etc/httpd/conf/httpd.conf
#添加或者修改为ServerName localhost:80
#(80是指定访问端口)(localhost,表示主机地址到时候写ip或者域名都可以)
# 这个时候如果已经启动就可以重启进行生效,没有启动直接启动就可以了
systemctl start httpd
systemctl enable httpd #(建议开机启动)
 
4,查看监听端口
netstat -ntlp |grep httpd

安装mysql

1,检测mysql是否安装
rpm -q mysql
2,下载mysql的yum
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
3,安装mysql扩展源与服务端
rpm -ivh mysql80-community-release-el7-5.noarch.rpm
#(这是安装扩展源)
yum install mysql-community-server -y
#如果验证报错就输入这条命令(etc/yum.repos.d/下)
sed -i 's/check=1/check=0/g' *.repo
4,启动mysql
systemctl start mysqld
systemctl enable mysqld
#或者
systemctl enable mysqld --now
5,查看监听端口
netstat -tulpn | grep mysql
netstat [选项]
-a: 显示所有连接和监听的端口
-t: 显示 TCP 协议的连接
-u: 显示 UDP 协议的连接
-l: 显示正在监听的端口
-n: 以数字格式显示地址和端口号(不进行域名解析)
-p: 显示与每个连接相关的进程 PID 和程序名称
-r: 显示路由表信息
-i: 显示网络接口的统计信息
-s: 显示每个协议的统计信息
-c: 持续输出网络连接信息(实时更新)
-tuln: 显示 TCP 和 UDP 协议正在监听的端口,并以数字格式显示
-g: 显示所有组播连接
-v: 显示详细信息
-A: 显示指定类型的套接字(如 UNIX 套接字)
-h: 显示帮助信息
6,初始化数据库(建议使用下面中间的)
命令(MySQL 8.0 版本及以上):
sudo mysqld --initialize
说明:
--initialize:用于初始化 MySQL 数据库。该命令会创建系统数据库、数据目录和临时文件等。
默认情况下,它会为 root 用户生成一个临时的随机密码,并将该密码存储在 MySQL 的错误日志中。

执行初始化命令后,你可以通过查看错误日志文件(通常在 /var/log/mysqld.log)来查找 root 用户的临时密码。

查看错误日志:
sudo cat /var/log/mysqld.log | grep 'temporary password'
通过临时密码登录 MySQL 并修改密码:
mysql -u root -p
输入刚刚找到的临时密码,然后修改 root 用户的密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
------------------------------------------------------
对于 MySQL 5.7 及以下版本
sudo mysqld --initialize-insecure
这个命令会创建一个没有密码的 root 用户,适用于不想使用临时密码的情况。

确保在初始化数据库前,/var/lib/mysql 或你指定的数据目录已经存在并具有正确的权限。
#补充(建议使用这个)
mysql_secure_installation 是 MySQL 提供的一个脚本,用于对 MySQL 数据库进行初始安全配置,包括设置 root 密码、删除匿名用户、禁用远程 root 登录、删除测试数据库等。这是提高 MySQL 安全性的一个常见步骤。

1运行 mysql_secure_installation 脚本——》运行以下命令启动 MySQL 安全配置脚本:
    sudo mysql_secure_installation
2脚本流程
    Enter current password for root (enter for none):
        输入当前 root 用户的密码。如果是第一次安装,默认没有密码(或者是你在初始化时生成的临时密码)。如果你没有设置密码,按回车键继续。(有些版本直接跳过)

    Set root password? [Y/n]:
        是否设置 root 用户的密码。如果选择 Y,将提示你输入并确认新的 root 密码。
        建议设置一个强密码。密码:Ly123456|

    Remove anonymous users? [Y/n]:
        是否删除匿名用户。建议选择 Y,因为匿名用户存在安全风险。

    Disallow root login remotely? [Y/n]:
        是否禁用 root 用户的远程登录。建议选择 Y,这样只有本地可以登录 root 用户,增加安全性。

    Remove test database and access to it? [Y/n]:
        是否删除 test 数据库及其访问权限。建议选择 Y,因为 test 数据库是一个默认存在的测试数据库,通常不需要使用。

    Reload privilege tables now? [Y/n]:
        是否重新加载权限表以使配置生效。选择 Y

3完成配置

    一旦你完成上述步骤,mysql_secure_installation 脚本将配置好你的 MySQL 安全设置,包括密码、权限和不必要的用户和数据库。
登录 MySQL:
mysql -u root -p'密码'
查看当前密码政策
SHOW VARIABLES LIKE 'validate_password%';
修改密码策略
validate_password.check_user_name
    默认值: ON
    功能: 如果启用(ON),则密码不能与用户名相同。
    修改: 可以保持为 ON,因为这通常是一个安全设置。也可以将其设置为 OFF,允许密码与用户名相同。
    SET GLOBAL validate_password.check_user_name = OFF;
validate_password.length
    默认值: 8
    功能: 设置密码的最小长度。
    修改: 如果你想允许非常短的密码,可以将其设置为 1,这将允许密码长度为 1 个字符。
    SET GLOBAL validate_password.length = 1;
validate_password.mixed_case_count
    默认值: 1
    功能: 要求密码中包含至少一个大写字母和一个小写字母。
    修改: 你可以将此值设置为 0,以允许密码中没有大小写字母的混合。
    SET GLOBAL validate_password.mixed_case_count = 0;
validate_password.number_count
    默认值: 1
    功能: 要求密码中包含至少一个数字。
    修改: 你可以将此值设置为 0,以允许密码中不包含数字。
    SET GLOBAL validate_password.number_count = 0;
validate_password.policy
    默认值: MEDIUM
    功能: 控制密码策略的强度。
        LOW: 仅要求密码长度大于等于 8 个字符。
        MEDIUM: 需要密码包含大写字母、小写字母、数字、特殊字符,并且长度至少为 8 个字符(默认值)。
        STRONG: 更严格的密码复杂性要求。
        0(禁用):完全禁用密码策略,允许任何密码。
    SET GLOBAL validate_password.policy = 0;
validate_password.special_char_count   
    默认值: 1
    功能: 要求密码中包含至少一个特殊字符(如 !, @, # 等)。
    修改: 你可以将此值设置为 0,以允许密码中没有特殊字符。
    SET GLOBAL validate_password.special_char_count = 0;
--------------------------copy版
SET GLOBAL validate_password.check_user_name = OFF;
SET GLOBAL validate_password.length = 1;
SET GLOBAL validate_password.mixed_case_count = 0;
SET GLOBAL validate_password.number_count = 0;
SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.special_char_count = 0;

更改 用户 密码
    ALTER USER '用户名'@'localhost' IDENTIFIED BY 'ly';   -- 设置为简单密码
    -- 或者设置为空密码(不推荐用于生产环境)
    ALTER USER '用户'@'localhost' IDENTIFIED BY '';
在进行密码设置后,记得刷新权限,以使修改立即生效:
    FLUSH PRIVILEGES;
------------------------------------------------还有一方法就是登录后
UNINSTALL PLUGIN validate_password;
禁用密码验证插件=SET GLOBAL validate_password.special_char_count = 0;

安装php

1,检测PHP是否安装
rpm -q php
或者
php -v
2,yum安装PHP
sudo yum install php php-cli php-common php-mysql php-fpm -y
3,重启httpd服务
安装或更新 PHP 后,需要重启 httpd 服务,使得新的 PHP 设置生效。
sudo systemctl restart httpd
如果你使用的是 Nginx,则需要重启 Nginx 服务:
sudo systemctl restart nginx
4,测试lamp环境是否可用
创建测试 PHP 文件
    在 Apache 的默认 Web 根目录(通常是 /var/www/html)下创一个 PHP文件
例如:
    sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php
    确保 Apache 具有该文件的适当权限
    sudo chmod 644 /var/www/html/info.php
访问测试页面
    打开浏览器:
        访问 http://your_server_ip/info.php
        http://localhost/info.php(如果在本机上测试)。
    

部署discuz论坛

https://gitee.com/Discuz/DiscuzX
按照自己会的来,下载zip可以,用git也可以,使用git命令要先安装git。
解压文件要安装zip与unzip,如果是git下来的就不用解压。
(对了让我们先删除之前的info.php吧)
cp -r DiscuzX/upload/* /var/www/html
upload内全是源文件,-r表示复制目录和文件,而且会递归
刷新之前链接的网址就可以了,对了去掉/info.php的后缀

这里开始就是图形化操作了:————————{ ^t^ }————————

默认进入是这样的:一次确定,一次取消

这里有错误,是因为php版本不够,虽然是一样的,但是要高一些才可以:

安装 EPEL 和 Remi 仓库:
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

启用 Remi 仓库:
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php74  # 启用 PHP 7.4 仓库,或选择其他版本
你可以替换 remi-php74 为你想要的 PHP 版本。例如:

remi-php80(PHP 8.0)
remi-php81(PHP 8.1)

安装 PHP 新版本
sudo yum install -y php php-cli php-common php-mysqlnd php-fpm php-xml php-mbstring php-json php-zip php-opcache php-intl

确认 PHP 版本
php -v
重启 Apache 或 Nginx 服务
sudo systemctl restart httpd【nginx】

完成后就是这样,还是报错:没有权限怎么办,给他(复制我的命令吧,chmod -R a+w /var/www/html)

(刷新一下就好了)

点击下一步继续吧,对了因为httpd默认作为网站,当然只可以读了,要是对所有人都可读可写那不是太low了吗,所以(drwxr-xr-x. 13 root root 4096 12月  1 17:09 html
),而这个论坛要变就要有写,所以才要该权限。

安装全新的独立模式

下一步:如图:(记录一下我的admin密码是ly怕忘了)

下一步就完成了:

访问测试

三,wordpress博客系统部署(可以略过)

环境准备

1,关闭无线网卡
systemctl stop NetworkManager
2,设置主机名
hostnamectl set-hostname wordpress
3,关闭防火墙
systemctl disable firewalld --now
4,配置yum源

【Linux】CentOS更换国内阿里云yum源(超详细)_centos换源-CSDN博客

(csdn找:下载源码安装包)

编译安装mysql

安装编译 MySQL 所需的开发工具和库
sudo yum groupinstall "Development Tools" -y
sudo yum install -y cmake ncurses-devel bison gcc-c++ libaio-devel libssl-devel

下载 MySQL 源代码
    访问 MySQL 官方下载页面(选择你需要的版本):https://dev.mysql.com/downloads/mysql/
    使用 wget 下载 MySQL 源代码:
    cd /opt
    sudo wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27.tar.gz
解压源代码
    sudo tar -zxvf mysql-8.0.27.tar.gz
    cd mysql-8.0.27
创建 MySQL 用户和组
    sudo groupadd mysql
    sudo useradd -r -g mysql mysql
创建安装目录
    选择一个目录来存放 MySQL 数据和文件。例如,使用 /usr/local/mysql 作为安装目录。
    sudo mkdir /usr/local/mysql
    sudo mkdir /var/lib/mysql(数据目录)
    sudo mkdir /var/log/mysql(日志目录)
    设置相应的权限:
    sudo chown -R root:root /usr/local/mysql
    sudo chown -R mysql:mysql /var/lib/mysql
    sudo chown -R mysql:mysql /var/log/mysql
配置编译选项(到达源码目录)
    下面直接复制执行,斜杠表示换行,注释去掉
    cmake . \
    -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \       # 设置安装路径
    -DMYSQL_DATADIR=$DATA_DIR \                  # 设置数据目录
    -DSYSCONFDIR=$CONFIG_DIR \                   # 设置配置文件目录
    -DWITH_SSL=$ENABLE_SSL \                     # 启用 SSL 支持
    -DWITH_ZLIB=$ENABLE_ZLIB \                   # 启用 Zlib 支持
    -DDEFAULT_CHARSET=$DEFAULT_CHARSET \         # 设置默认字符集
    -DDEFAULT_COLLATION=$DEFAULT_COLLATION \     # 设置默认字符序
    -DWITH_INNOBASE_STORAGE_ENGINE=$ENABLE_INNODB \    # 启用 InnoDB 存储引擎
    -DWITH_ARCHIVE_STORAGE_ENGINE=$ENABLE_ARCHIVE \     # 启用 Archive 存储引擎
    -DWITH_PARTITION_STORAGE_ENGINE=$ENABLE_PARTITION \  # 启用 Partition 存储引擎
    -DWITH_FAM=$ENABLE_FAM \                     # 启用文件监控(FAM)
    -DWITH_BOOST=$ENABLE_BOOST                   # 启用 Boost 库支持(根据需要)
编译 MySQL
    sudo make
安装 MySQL
    sudo make install
初始化 MySQL 数据目录
    cd /usr/local/mysql
    sudo ./bin/mysqld --initialize --user=mysql --datadir=/var/lib/mysql --            basedir=/usr/local/mysql
    sudo cat /var/log/mysqld.log | grep 'temporary password'
设置系统服务
    nano /etc/systemd/system/mysql.service
    添加以下内容:
        [Unit]
        Description=MySQL Community Server
        Documentation=https://dev.mysql.com/doc/refman/en/
        After=network.target

        [Service]
        Type=forking
        ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-                file=/var/run/mysqld/mysqld.pid
        ExecStartPost=/usr/local/mysql/bin/mysqladmin -u root -p$MYSQL_ROOT_PASSWORD shutdown
        ExecStop=/usr/local/mysql/bin/mysqladmin -u root -p$MYSQL_ROOT_PASSWORD shutdown
        User=mysql
        Group=mysql
        LimitNOFILE=65535

        [Install]
        WantedBy=multi-user.target
    重新加载 systemd 配置并启用 MySQL 服务:
    sudo systemctl daemon-reload
    sudo systemctl enable mysql
启动 MySQL 服务
    sudo systemctl start mysql
安全配置
    sudo /usr/local/mysql/bin/mysql_secure_installation
配置 MySQL 允许远程连接(可选)
    sudo nano /etc/my.cnf
    在 [mysqld] 部分添加以下内容,允许 MySQL 从任何 IP 地址进行远程连接:
    bind-address = 0.0.0.0
重启 MySQL 服务:
    sudo systemctl restart mysql
验证 MySQL 安装
    /usr/local/mysql/bin/mysql -u root -p
#!/bin/bash

# MySQL 编译配置脚本
# 在 CentOS 7 上编译安装 MySQL,配置选项注释详解。

# 创建 MySQL 系统用户和组
# MySQL 安装后需要创建专用的用户和组
sudo groupadd mysql
sudo useradd -r -g mysql mysql

# 设置安装路径
INSTALL_DIR="/usr/local/mysql"
# 设置数据目录
DATA_DIR="/var/lib/mysql"
# 设置系统配置文件目录
CONFIG_DIR="/etc"

# 启用或禁用存储引擎
ENABLE_INNODB="1"        # 启用 InnoDB 存储引擎
ENABLE_ARCHIVE="1"       # 启用 Archive 存储引擎
ENABLE_PARTITION="1"     # 启用 Partition 存储引擎(根据需求选择)

# 启用 SSL 加密支持
ENABLE_SSL="system"     # 启用 SSL 支持,使用系统的 SSL 库
# 启用 Zlib 支持
ENABLE_ZLIB="system"    # 启用 Zlib 支持,使用系统的 Zlib 库
# 默认字符集和字符序设置
DEFAULT_CHARSET="utf8mb4"        # 设置默认字符集为 utf8mb4
DEFAULT_COLLATION="utf8mb4_unicode_ci"  # 设置默认字符序为 utf8mb4_unicode_ci
# 设置文件监控(FAM)支持
ENABLE_FAM="system"  # 启用文件监控(FAM)支持,使用系统的 FAM 库
# 启用 Boost 库支持(如果需要)
ENABLE_BOOST="/path/to/boost"  # 设置 Boost 库路径(如果需要 Boost 库支持)
# 设置编译类型
BUILD_TYPE="Release"  # 设置为 Release 模式,适用于生产环境
# 启用 MySQL 客户端和服务端的相关功能
ENABLE_CLIENT="1"    # 启用 MySQL 客户端
ENABLE_SERVER="1"    # 启用 MySQL 服务端

# 创建 MySQL 编译所需的目录
mkdir -p $INSTALL_DIR
mkdir -p $DATA_DIR
mkdir -p $CONFIG_DIR

# 执行 cmake 配置命令
echo "开始配置 MySQL 编译选项..."
cmake . \
    -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
    -DMYSQL_DATADIR=$DATA_DIR \
    -DSYSCONFDIR=$CONFIG_DIR \
    -DWITH_SSL=$ENABLE_SSL \
    -DWITH_ZLIB=$ENABLE_ZLIB \
    -DDEFAULT_CHARSET=$DEFAULT_CHARSET \
    -DDEFAULT_COLLATION=$DEFAULT_COLLATION \
    -DWITH_INNOBASE_STORAGE_ENGINE=$ENABLE_INNODB \
    -DWITH_ARCHIVE_STORAGE_ENGINE=$ENABLE_ARCHIVE \
    -DWITH_PARTITION_STORAGE_ENGINE=$ENABLE_PARTITION \
    -DWITH_FAM=$ENABLE_FAM \
    -DWITH_BOOST=$ENABLE_BOOST

echo "配置完成,可以开始编译 MySQL..."

# 执行 make 编译命令
make

# 安装 MySQL
sudo make install

echo "MySQL 编译安装完成!"

# 初始化 MySQL 数据目录
# 初始化数据目录,并生成一个临时的 root 密码
sudo $INSTALL_DIR/bin/mysqld --initialize --user=mysql --datadir=$DATA_DIR --basedir=$INSTALL_DIR

# 提示用户查看临时 root 密码
echo "MySQL 初始化完成,请查看临时 root 密码:"
sudo cat /var/log/mysqld.log | grep 'temporary password'

# 安装并启用 systemd 服务
# 创建 MySQL 的 systemd 服务文件,确保 MySQL 可以随系统启动
echo "创建 MySQL 服务文件..."
sudo bash -c 'cat > /etc/systemd/system/mysql.service <<EOF
[Unit]
Description=MySQL Community Server
After=network.target

[Service]
Type=forking
ExecStart=$INSTALL_DIR/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
ExecStartPost=$INSTALL_DIR/bin/mysqladmin -u root -p$MYSQL_ROOT_PASSWORD shutdown
ExecStop=$INSTALL_DIR/bin/mysqladmin -u root -p$MYSQL_ROOT_PASSWORD shutdown
User=mysql
Group=mysql
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF'

# 重新加载 systemd 服务并启用 MySQL
sudo systemctl daemon-reload
sudo systemctl enable mysql
sudo systemctl start mysql

echo "MySQL 服务已启动!"

编译安装apache

步骤 1:安装依赖
首先,确保你的系统上安装了编译 Apache 所需的依赖包:
sudo yum groupinstall "Development Tools"
sudo yum install -y apr apr-devel apr-util apr-util-devel pcre pcre-devel expat expat-devel
步骤 2:下载 Apache 源码
访问 Apache HTTP 服务器的官方网站,或者直接使用 wget 下载最新版本的 Apache 源代码。
cd /usr/local/src
sudo wget https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.bz2  # 示例版本
sudo tar -xjf httpd-2.4.62.tar.bz2
cd httpd-2.4.54
步骤 3:配置编译选项
在开始编译之前,你需要配置 Apache 的编译选项。可以使用 ./configure 命令来配置。以下是一些常用的配置选项:
sudo ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --with-mpm=prefork
--prefix=/usr/local/apache:指定安装目录。
--enable-so:启用动态共享模块支持。
--enable-ssl:启用 SSL 支持。
--with-mpm=prefork:选择 MPM(多处理模块),prefork 是一个稳定的选择。
步骤 4:编译和安装
运行 make 来编译 Apache,编译完成后使用 make install 安装。
sudo make
sudo make install
步骤 5:配置 Apache
安装完成后,你需要配置 Apache 以便它能够启动和运行。

配置 Apache 的主配置文件:
sudo vi /usr/local/apache/conf/httpd.conf
确保将 ServerRoot 设置为 /usr/local/apache,DocumentRoot 设置为你的 Web 文件目录。
添加 ServerName 指令:
ServerName www.example.com[你的ip或者域名]:80

配置 Apache 的启动脚本(将 Apache 添加为系统服务)。
你可以创建一个 Systemd 服务文件来使 Apache 作为系统服务启动:
sudo vi /etc/systemd/system/httpd.service

将以下内容粘贴到该文件中:

[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/apache/bin/apachectl start
ExecStop=/usr/local/apache/bin/apachectl stop
ExecReload=/usr/local/apache/bin/apachectl graceful
PIDFile=/usr/local/apache/logs/httpd.pid
PrivateTmp=true

[Install]
WantedBy=multi-user.target
保存并退出编辑器。

步骤 6:启动 Apache
启动 Apache 服务,并设置为开机自动启动:
sudo systemctl daemon-reload
sudo systemctl start httpd
sudo systemctl enable httpd

启动测试一下,用网址链接一下
(通过源码安装后,Apache 会被安装到 /usr/local/apache(如果你使用了默认的安装路径)。你可以使用 apachectl 或 httpd 命令来启动 Apache。)
sudo /usr/local/apache/bin/apachectl start


如果你需要关闭防火墙的 HTTP 和 HTTPS 端口,可以使用以下命令:
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

配置php(后面的类似)

启动测试环境

部署web应用

测试验证

centos9yum源

[baseos]  
name=CentOS Stream $releasever - BaseOS  
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/BaseOS/$basearch/os/  
gpgcheck=1  
enabled=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial  
  
[appstream]  
name=CentOS Stream $releasever - AppStream  
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/AppStream/$basearch/os/  
gpgcheck=1  
enabled=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial