在 CentOS 7 上安装 LNMP 环境:MySQL 8.0、PHP 8.3 和 ThinkPHP 8.0

在 CentOS 7 上安装 LNMP 环境,并配置 MySQL 8.0、PHP 8.3 以及 ThinkPHP 8.0,能够为你的 web 应用程序提供一个强大的开发和运行环境。下面是详细的安装步骤:

---

## 在 CentOS 7 上安装 LNMP 环境:MySQL 8.0、PHP 8.3 和 ThinkPHP 8.0

查看本机系统

cat /etc/os-release

### 0. 通过lnmp一键安装

0.1 看到lnmp官网已经支持php8.3,所以打算用一键安装包,下载,按照提示安装

0.2,等到安装最后,发现失败,于是放弃这个方案

卸载命令

cd lnmp2.1/

./uninstall.sh

### 1. 更新系统

确保系统包是最新的:

sudo yum update -y

### 2. 安装 Nginx

Nginx 是高效的 Web 服务器。安装步骤如下:

1. **添加 EPEL 仓库:**

    sudo yum install -y epel-release

2. **安装 Nginx:**

    sudo yum install -y nginx

3. **启动并设置 Nginx 自启动:**

    sudo systemctl start nginxsudo systemctl enable nginx

4. **检查 Nginx 状态:**

    sudo systemctl status nginx

### 3. 安装 MySQL 8.0

MySQL 8.0 是一个强大的关系型数据库管理系统。安装步骤如下:

1. **下载并安装 MySQL Yum 仓库:**

    sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2. **安装 MySQL 8.0:**

    sudo yum install -y mysql-server

3. **启动并设置 MySQL 自启动:**

    sudo systemctl start mysqldsudo systemctl enable mysqld

4. **获取临时 root 密码:**

    sudo grep 'temporary password' /var/log/mysqld.log

5. **运行安全配置脚本:**

    sudo mysql_secure_installation

    按照提示设置 root 密码,并完成其他安全设置。

### 4. 安装 PHP 8.3

PHP 8.3 是最新的 PHP 版本。按照以下步骤安装 PHP 8.3:

1. **安装 Remi 仓库:**

    sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

2. **启用 PHP 8.3 仓库:**

    sudo yum-config-manager --enable remi-php83

3. **安装 PHP 8.3 及常用扩展:**

    sudo yum install -y php php-fpm php-mysqlnd php-pdo php-gd php-mbstring php-xml

由于缺少一些扩展,打算单独安装

安装失败的方法    sudo pecl install xmlrpc 

按照提示优化 ,最后还是失败   sudo pecl install channel://pecl.php.net/xmlrpc-1.0.0RC3

最后有效的方法 yum 安装php8.3的xmlrpc依赖:
 

sudo yum install php php-xmlrpcphp -m | grep xmlrpc

soap和bcmath同理
 

sudo yum install php php-soap
php -m | grep soapsudo yum install php php-bcmath
php -m | grep bcmath

文件地址/etc/php.d

可查看PHP依赖安装配置列表

4. **配置 PHP-FPM:**

    编辑 `/etc/php-fpm.d/www.conf` 文件,将 `user` 和 `group` 设置为 `nginx`:

    ```bash
    sudo nano /etc/php-fpm.d/www.conf
    ```

    修改以下配置:

    ```ini
    user = nginx
    group = nginx
    ```

5. **启动并设置 PHP-FPM 自启动:**

    ```bash
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    ```

6. **检查 PHP-FPM 状态:**

    ```bash
    sudo systemctl status php-fpm
    ```

### 5. 配置 Nginx 支持 PHP

修改 Nginx 配置文件以支持 PHP:

1. **编辑 Nginx 配置文件:**

    ```bash
    sudo nano /etc/nginx/conf.d/default.conf
    ```

2. **修改配置文件,添加 PHP 支持:**

    在 `server` 块中,添加 PHP 支持配置:

    ```nginx
    server {
        listen       80;
        server_name  localhost;

        # Location for PHP files
        location ~ \.php$ {
            root           /usr/share/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        }

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    }
    ```

3. **测试 Nginx 配置:**

    ```bash
    sudo nginx -t
    ```

    如果没有错误,重新加载 Nginx:

    ```bash
    sudo systemctl reload nginx
    ```

### 6. 安装 ThinkPHP 8.0

ThinkPHP 是一个流行的 PHP 框架。安装步骤如下:

1. **下载 ThinkPHP 8.0:**

    使用 Composer 安装 ThinkPHP 8.0(确保系统上已安装 Composer,如果没有安装,请参见 Composer 官方网站的安装指南):

    ```bash
    cd /usr/share/nginx/html
    composer create-project topthink/think tp
    ```

2. **设置目录权限:**

    ```bash
    sudo chown -R nginx:nginx /usr/share/nginx/html/tp
    ```

3. **测试 ThinkPHP 是否正常工作:**

    在浏览器中访问 `http://your_server_ip/tp/public`,你应该能够看到 ThinkPHP 的欢迎页面。

### 7. 清理测试文件

完成所有测试后,可以删除不必要的测试文件以确保安全:

```bash
sudo rm /usr/share/nginx/html/info.php
```

### 总结

通过以上步骤,你已经在 CentOS 7 上成功安装并配置了 LNMP 环境,包括 MySQL 8.0、PHP 8.3 和 ThinkPHP 8.0。这一组合提供了强大的 Web 开发和运行环境,适用于各种 web 应用程序的开发和部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/412223.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Leaflet Legend的图例数据筛选实践-以某市教培时空分布为例

目录 前言 一、关于Leaflet.Legend组件 1、Legend组件的主要参数 2、相关参数 二、Legend图例可视化控制 1、违规教培信息的管理 2、违规培训信息时空可视化及图例渲染控制 3、成果展示 三、总结 前言 在很多的地理时空分析系统中,我们经常会遇到一些需求。…

第一次使用PyCharm写C++(失败)

前言: 由于我已经非常习惯使用PyCharm远程连接服务器了,我认为非常方便,所以希望C也能直接用Pycharm。于是尝试在PyCharm上部署C环境。 但是,我失败了。如果您知道问题所在,欢迎给我留言。我认为Pycharm并没有编译C/C…

Fedora koji构建系统详细教程之二 -- 构建

写在前面 本篇文章是上一篇文章的继续,由于koji里面的内容实在是太多,都塞进一篇文章里会显得很臃肿,于是我就拆成了两部分。在上一篇文章里,我们已经部署好了Fedora koji系统,此时kojihub已经运行、可以通过kojiweb或…

IOS开发 铃声制作(库乐队)

IOS开发,实现铃声制作功能。 在IOS端,要设置铃声都是通过库乐队来制作的。 先看一下库乐队中铃声的文件结构。下面是弄的一个示例的文件,文件信息如下: 我们右击文件,点击显示包内容如下: 能看到一个aiff格…

Clickhouse集群化(一)k8s集群搭建

环境准备: vm 17 pro 有些功能必须pro版本才会提供(https://download.csdn.net/download/weixin_40663313/89677277?spm1001.2014.3001.5501)夸克下载链接 centos 7.9 docker:1.26 k8s:1.21.14 1. 创建虚拟机 …

2022 年高教社杯全国大学生数学建模竞赛-C 题 古代玻璃制品的成分分析与鉴别详解+分类模型Python代码源码

前言 简单介绍一下我自己:博主专注建模四年,参与过大大小小数十来次数学建模,理解各类模型原理以及每种模型的建模流程和各类题目分析方法。参与过十余次数学建模大赛,三次美赛获得过二次M奖一次H奖,国赛二等奖。**提…

游戏引擎详解——图片

图片 图片的格式 图片文件格式pngjpg 纹理压缩格式ETC1/2PVRTCASTC 图片的属性 图片属性解释分辨率宽高像素值(pt),如:1024*1024位深度用来存储像素颜色的值,如RGBA8888,红黄蓝透明度4个维度每个8bit&…

深度解析HarmonyOS SDK实况窗服务源码,Get不同场景下的多种模板

HarmonyOS SDK实况窗服务(Live View Kit)作为一个实时呈现应用服务信息变化的小窗口,遍布于设备的各个使用界面,它的魅力在于将复杂的应用场景信息简洁提炼并实时刷新,在不影响当前其他应用操作的情况下,时…

脑波传感与认知计算的深入探讨

随着神经科学和计算机技术的不断发展,脑波传感与认知计算逐渐成为研究的前沿领域。脑波传感技术可以捕捉人类大脑的电活动,从而解读大脑的思维过程和认知状态;而认知计算则通过模拟人类的思维方式来进行信息处理和决策。这两个领域的结合&…

红蓝对抗,你懂得多少?

红蓝对抗,你懂得多少? “HW行动”是国家应对网络安全问题所做的重要布局之一。“HW行动”从2016年开始,随着我国对网络安全的重视,涉及单位不断扩大,越来越多的单位都加入到HW行动中。2024年HW行动就在眼前&#xff0…

【RPC基础知识】

定义 RPC(Remote Procedure Call) 即远程过程调用,通过名字我们就能看出 RPC 关注的是远程调用而非本地调用。 为什么要 RPC ? 因为,两个不同的服务器上的服务提供的方法不在一个内存空间,所以&#xff…

MVC与设计模式理解-lnmp学习之路

一、MVC 前言: MVC是一种应用架构模式,也可以说是一种业务架构或是一种应用设计思想,用于组织业务逻辑并分离代码的。 MVC组成结构是Model-View-Controller,Model是管控数据层,View是管控视图层,Controlle…

基于矢量光场的光学加工技术

欢迎关注GZH《光场视觉》 摘要:作为光的一个基本属性,偏振、振幅和相位提供的自由度对光场调控具有重要作用。具有空间结构偏振态、振幅和相位分布的矢量光场因其具有不同于传统光场的独特性质而被应用于诸多领域。近年来,时空分布特性更加丰…

合宙LuatOS开发板使用手册——Air700EAQ

EVB-Air700EL&700EY 开发板是合宙通信推出的基于 Air700EL&700EY 模组所开发的, 包含电源,SIM 卡,USB,PCB 天线等必要功能的最小硬件系统。 以方便用户在设计前期对 模块进 行性能评估,功能调试,软…

“面试宝典:高频算法题目详解与总结”

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

JavaScript 的进阶概念补充:V8 引擎的垃圾回收机制

JavaScript 的进阶概念补充:V8 引擎的垃圾回收机制 JavaScript 的垃圾回收机制在各大浏览器中实现有所不同,其中 V8 引擎(Google Chrome 和 Node.js 中使用的 JavaScript 引擎)尤为知名。理解 V8 引擎的垃圾回收机制,…

Linux_kernel简介01

--------------------------------------------------------- 力扣专题 --------------------------------------------------------- 一、嵌入式开发 1、ARM的历史 ARM原本含义(Acom RISC Machine)后来Acron公司独立出了ARM部门,成立了ARM公司(Advan…

消费电子钛时代到来!天工股份抢占发展高地,业绩爆发式增长、前景广阔

消费电子“钛时代”正加速到来。 27日凌晨,苹果正式定档iPhone 16系列新品的发布会日期。据悉,本次iPhone 16 Pro系列将全系标配钛金属中框,继续沿用并升级此前在iPhone 15 Pro系列上应用的钛金属材质。 回看去年9月秋季新品发布会&#xf…

VIVADO自定义 IP封装

简介 本章节主要针对VIVAO 2020.2版本做IP自定义封装,其中涉及到IP寄存器读写配置,自定义接口封装等介绍。 IP封装 IP标准自定义步骤一般有创建工程,封装IP,自定义内容,添加自定义库这4个步骤,下面…

音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息

通过FFprobe命令可以显示WAV音频文件每个packet(也称为数据包或多媒体包)的信息: ffprobe -of json -show_packets XXX.wav 输出如下: 其中: 1.codec_type:packet类型,表示该路流是视频还是音…