Jtti:centos主机如何搭建lnmp环境

在 CentOS 主机上搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境是构建高性能 Web 服务器的常见选择。以下是搭建 LNMP 环境的详细步骤:

步骤 1: 更新系统

首先,更新系统的包列表和安装的包,以确保你的系统是最新的:

sudo yum update -y

步骤 2: 安装 Nginx

安装 Nginx: CentOS 默认的 YUM 库中没有最新版本的 Nginx,因此我们需要从官方源安装。首先,启用 Nginx 官方仓库:

sudo yum install -y epel-release

安装 Nginx:

sudo yum install -y nginx

启动 Nginx 服务并设置开机自启:

sudo systemctl start nginx

sudo systemctl enable nginx

检查 Nginx 是否启动成功:打开浏览器,访问你的服务器 IP 地址。如果看到 "Welcome to nginx!" 的页面,说明 Nginx 安装成功。

步骤 3: 安装 MySQL 或 MariaDB

安装 MariaDB(推荐使用 MariaDB,兼容 MySQL):

CentOS 默认安装的是 MariaDB,因此直接安装即可:

sudo yum install -y mariadb-server mariadb

启动 MariaDB 服务并设置开机自启:

sudo systemctl start mariadb

sudo systemctl enable mariadb

为 MariaDB 设置 root 密码并完成基础配置:

sudo mysql_secure_installation

按照提示设置 root 密码,并删除不必要的数据库和用户。

检查 MariaDB 是否启动成功:登录到 MariaDB:

mysql -u root -p

如果能够成功登录,则说明 MariaDB 安装成功。

步骤 4: 安装 PHP

安装 PHP 和必要的扩展:

首先,启用 Remi 仓库,因为 CentOS 默认的 YUM 仓库中的 PHP 版本较低:

sudo yum install -y yum-utils

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

启用 Remi 仓库中的 PHP 版本(以 PHP 7.x 为例):

sudo yum-config-manager --enable remi-php74

你可以根据需要选择不同版本的 PHP,例如 PHP 7.4 或 PHP 8.x。

安装 PHP 和常见的扩展:

sudo yum install -y php php-fpm php-mysqlnd php-mbstring php-xml php-cli php-gd php-json

php-fpm 是 PHP 的 FastCGI 进程管理器,Nginx 会通过它来处理 PHP 请求。

配置 PHP-FPM:编辑 /etc/php-fpm.d/www.conf 文件,修改用户和组为 nginx,以便 Nginx 可以访问 PHP-FPM:

sudo vi /etc/php-fpm.d/www.conf

修改以下行:

user = nginx

group = nginx

启动 PHP-FPM 服务并设置开机自启:

sudo systemctl start php-fpm

sudo systemctl enable php-fpm

检查 PHP 是否安装成功:创建一个 PHP 测试文件 /usr/share/nginx/html/info.php:

sudo vi /usr/share/nginx/html/info.php

添加以下内容:

<?php phpinfo(); ?>

然后在浏览器中访问 http://your_server_ip/info.php,你应该看到 PHP 的配置信息页面。

步骤 5: 配置 Nginx 与 PHP-FPM

编辑 Nginx 配置文件,以支持 PHP:

sudo vi /etc/nginx/nginx.conf

在 server 块中,添加对 PHP 文件的处理支持。确保你已经配置了类似下面的内容:

server {
    listen       80;
    server_name  localhost;

    root   /usr/share/nginx/html;
    index  index.html index.htm index.php;

    location / {
        try_files $uri $uri/ =404;
    }

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

测试 Nginx 配置是否正确:

sudo nginx -t

重新加载 Nginx 配置:

sudo systemctl reload nginx

步骤 6: 防火墙设置

如果你的服务器启用了 firewalld 或其他防火墙,确保打开 HTTP 和 HTTPS 端口。

sudo firewall-cmd --permanent --add-service=http

sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload

步骤 7: 测试 LNMP 环境

在浏览器中访问 http://your_server_ip/info.php,查看是否能显示 PHP 信息页面。

如果能正常显示,说明你的 LNMP 环境已经成功搭建。

总结:

到这里,你已经成功在 CentOS 云主机上搭建了 LNMP 环境(Linux + Nginx + MySQL/MariaDB + PHP)。这个环境适合用来搭建各种网站和 Web 应用,具有较高的性能和扩展性。你可以根据需要配置更多的功能,例如使用 SSL 配置 HTTPS、使用 Let's Encrypt 证书等。

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

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

相关文章

如果需要保护多个域名怎么办?

随着企业和个人在网上的存在越来越重要&#xff0c;管理和保护多个域名变得尤为关键&#xff0c;那么如果需要保护这些域名&#xff0c;应该采取什么样的措施呢&#xff1f; 许多企业会选择注册与其品牌相关的不同后缀&#xff0c;或者与其产品、服务相关的域名。这不仅可以防…

从Sora到有言:3D视频生成技术的突破与应用

近年来&#xff0c;AIGC领域飞速发展&#xff0c;这个词也越来越高频地出现在了大家的生活中。AIGC 能完成的任务也越来越多&#xff0c;大模型的能力飞速增长 —— 从Deepseek生成文字&#xff0c;到StableDiffusion生成图像&#xff0c;再到Sora可以生成视频。 而现在&#x…

Apollo 9.0 控制算法 -- lon based pid controller

文章目录 1. 纵向控制算法1.1 算法结构1.1.1 外环&#xff1a;位置环1.1.2 内环&#xff1a;速度环 1.2 参数整定 2. 代码解析2.1 控制器初始化 LonController::Init()2.1.1 PID控制参数和标定表参数加载2.1.2 PID控制器初始化2.1.3 超前/滞后控制器初始化2.1.4 俯仰角滤波器初…

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter12-BOM

十二、BOM 虽然 ECMAScript 把浏览器对象模型&#xff08;BOM&#xff0c;Browser Object Model&#xff09;描述为 JavaScript 的核心&#xff0c;但实际上 BOM 是使用 JavaScript 开发 Web 应用程序的核心。BOM 提供了与网页无关的浏览器功能对象。 HTML5 规范中有一部分涵盖…

Qt信号槽调用出错:Qt: Dead lock detected while activating a BlockingQueuedConnection

目录 1.现象和原因分析 2. 总结 1.现象和原因分析 就在最近的开发过程中&#xff0c;程序一运行在控制台就打印&#xff1a; Qt: Dead lock detected while activating a BlockingQueuedConnection&#xff1a; 咋一看&#xff0c;怎么出现死锁了呢&#xff1f;仔细看下…

Jenkins项目CICD流程

Jenkins项目流程:1.配置git环境 git config --...2.把前后端的目录初始化位本地工作目录 #git init3.提交到本地git #git add ./ git commit -m "" git tag v14.然后提交到远程git(通过,用户,群组,项目,管理项目)git remote add origin http://...git push -…

Springboot_实战

项目开发 lombok使用 自动为实体类提供get、set、toString方法 引入依赖 实体类上添加注解 统一响应结果 注意要写get、set方法&#xff1b;下面是错误的&#xff0c;因此要加上Data注解 一个注册的接口的示例 Controller层 Service层 Mapper层 参数校验 但是同样存在一…

C++自研游戏引擎-碰撞检测组件-八叉树AABB检测算法实现

八叉树碰撞检测是一种在三维空间中高效处理物体碰撞检测的算法&#xff0c;其原理可以类比为一个管理三维空间物体的智能系统。这个示例包含两个部分&#xff1a;八叉树部分用于宏观检测&#xff0c;AABB用于微观检测。AABB可以更换为均值或节点检测来提高检测精度。 八叉树的…

Spring框架中都用到了哪些设计模式?

大家好&#xff0c;我是锋哥。今天分享关于【Spring框架中都用到了哪些设计模式&#xff1f;】面试题。希望对大家有帮助&#xff1b; Spring框架中都用到了哪些设计模式&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring框架中使用了大量的设计模…

Day1 25/2/14 FRI

【一周刷爆LeetCode&#xff0c;算法大神左神&#xff08;左程云&#xff09;耗时100天打造算法与数据结构基础到高级全家桶教程&#xff0c;直击BTAJ等一线大厂必问算法面试题真题详解&#xff08;马士兵&#xff09;】https://www.bilibili.com/video/BV13g41157hK?p3&v…

软考高级《系统架构设计师》知识点(一)

计算机硬件 校验码 码距&#xff1a;就单个编码A:00而言&#xff0c;其码距为1&#xff0c;因为其只需要改变一位就变成另一个编码。在两个编码中&#xff0c;从A码到B码转换所需要改变的位数称为码距&#xff0c;如A:00要转换为B:11&#xff0c;码距为2。一般来说&#xff0c;…

DeepSeek免费部署到WPS或Office

部署到WPS - 通过OfficeAI插件接入&#xff1a; - 准备工作&#xff1a;安装最新版本的WPS Office软件&#xff1b;访问DeepSeek官网&#xff0c;点击右上角的“API开放平台”&#xff0c;登录账号&#xff08;若无账号需先注册&#xff09;&#xff0c;登录成功后&#xff0c;…

基于vue3实现的课堂点名程序

设计思路 采用vue3实现的课堂点名程序&#xff0c;模拟课堂座位布局&#xff0c;点击开始点名按钮后&#xff0c;一朵鲜花在座位间传递&#xff0c;直到点击结束点名按钮&#xff0c;鲜花停留的座位被点名。 课堂点名 座位组件 seat.vue <script setup>//组合式APIimpo…

C语言的物联网

C语言在物联网中的应用 物联网&#xff08;Internet of Things&#xff0c;IoT&#xff09;是一个通过网络将各种物理设备连接起来的系统&#xff0c;使其能够收集和交换数据。随着技术的进步&#xff0c;物联网已经走入了我们的日常生活&#xff0c;并在智能家居、智能城市、…

数论补充 之 前后缀分解问题

文章目录 [0,i-1] 和 [i1,n-1] 共同作用3334,数组的最大因子得分238.除自身以外数组的乘积 对于前缀分解问题&#xff0c;我愿把它分为几个大问题&#xff1a;[0,i] 或 [i,n-1] 或 [l,r],或 [0,i-1] 和 [i1,n-1] 共同作用的问题 一般都是求解区间的和&#xff0c;乘积&#xff…

Winform禁止高分辨下缩放布局成功方法

Windows自动缩放布局会导致窗体上的按钮和文本挤在一起根本看不清楚。 那么该如何解决呢&#xff1f; 具体操作步骤如下&#xff1a; 1、在项目属性上切换到【安全性】菜单&#xff0c;勾选【启用ClickOnce安全设置】&#xff0c;然后立刻取消勾选&#xff1b; 为了生成app.…

matlab齿轮传动

实现齿轮啮合分析&#xff0c;齿轮传动非线性分析&#xff0c;对扭转振动方程组进行求解&#xff0c;可得到齿轮扭转角随时间变化相关参数 列表 齿轮传动非线性分析&#xff0c;对扭转振动方程组进行求解&#xff0c;可得到齿轮扭转角随时间变化相关参数/niu_gou_yuan_Rg.m , …

分享 UniApp 中超好看的卡片阴影样式

在 UniApp 开发中&#xff0c;页面的视觉效果对于提升用户体验至关重要。一个设计精美的卡片样式往往能让页面更加美观和吸引人&#xff0c;而阴影效果则是为卡片增添立体感和层次感的关键元素。今天&#xff0c;我就来和大家分享一个在 UniApp 中实现的卡片阴影样式&#xff0…

教程 | 从零部署到业务融合:DeepSeek R1 私有化部署实战指南

文章目录 1. 什么是 DeepSeek R1&#xff1f;a. 主要介绍a. 版本区别 2. 部署资源要求a. 硬件资源要求 3. 本地安装DeepSeek-R1a. 为什么选择本地部署&#xff1f;b. 部署工具对比c. 演示环境配置d. Ollama安装流程 4. 可视化工具a. 工具对比b. Open-WebUI部署 5. AI API应用a.…

Ubuntu22.04 使用useradd 创建用户时,没有创建家目录时,如何手动创建家目录

测试案例&#xff1a; 使用useradd不加参数创建test目录 如下可以看出使用 useradd 创建用户的时候默认不会创建家目录 rootlocal:~# useradd test rootlocal:~# id test uid1001(test) gid1001(test) groups1001(test) rootlocal:~# cat /etc/passwd | grep test test:x:1001:…