当前位置: 首页 > news >正文

“LNMP环境搭建实战指南:从零开始配置CentOS 7下的Nginx、MySQL与PHP“

目录

1.前言

2.准备工作

2.1.环境信息

2.2.关闭SELinux和firewalld

3.安装Nginx 

3.1.运行以下命令,安装Nginx

 3.2.运行以下命令,查看Nginx版本

4.安装MySQL

4.1.更新秘钥

4.2.配置MySQL的YUM仓库

4.3.安装MySQL

4.4.查看MySQL版本

4.5.启动MySQL

4.6.登陆MySQL后创建wordpress数据库

5.安装PHP 

5.1.配置remi仓库

5.2.执行命令安装PHP以及相关的库

 5.3.安装PHP环境

5.4.查看PHP版本

6.修改Nginx配置文件以支持PHP

6.1.运行以下命令,备份Nginx配置文件

6.2.打开Nginx配置文件

6.3.添加配置信息

6.4.启动Nginx服务

7.配置PHP

7.1.配置php测试文件

7.2.启动php-fpm

8.测试访问LNMP配置信息页面

9.总结 


1.前言

在当今快速发展的互联网时代,高性能、高效率的网站部署环境成为了开发者和运维人员不可或缺的工具。LNMP(Linux, Nginx, MySQL, PHP)栈,作为一种流行且强大的Web服务解决方案,凭借其卓越的并发处理能力、资源高效利用以及灵活的可扩展性,成为众多企业和开发者的首选平台。

本实战指南旨在手把手教你如何在CentOS 7操作系统下从零开始搭建LNMP环境。我们将深入浅出地介绍每一个组件——稳定高效的Nginx作为HTTP和反向代理服务器,强大的MySQL数据库管理系统存储与管理数据,以及动态网页开发的核心——PHP语言引擎。通过本教程,你不仅能学会如何安装和配置这些组件,还能了解到如何优化它们以达到最佳性能,确保你的Web应用能够迅速响应、安全可靠地运行。

无论你是刚踏入Web开发领域的新人,还是寻求升级现有技术栈的资深开发者,本指南都将为你铺设一条清晰的学习路径,让你在实战中掌握LNMP环境搭建的艺术,为你的项目部署打下坚实的基础。让我们一起启程,构建属于你自己的高性能Web服务环境吧!

2.准备工作

2.1.环境信息

CentosNGINXMySQLPHP
CentOS Stream release 9nginx/1.20.13.0.378.0.30

2.2.关闭SELinux和firewalld

sudo systemctl stop firewalld
sudo setenforce 0

3.安装Nginx 

3.1.运行以下命令,安装Nginx

sudo yum -y install nginx

 3.2.运行以下命令,查看Nginx版本

nginx -v

4.安装MySQL

4.1.更新秘钥

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

4.2.配置MySQL的YUM仓库

rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

4.3.安装MySQL

yum -y install mysql-community-server

4.4.查看MySQL版本

mysql -V

4.5.启动MySQL

sudo systemctl start mysqld

4.6.登陆MySQL后创建wordpress数据库

create database wordpress;

这里采用的YUM仓库安装,如果有不懂的地方可以看这篇文章MySQL RPM包安装

5.安装PHP 

5.1.配置remi仓库

sudo rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-9.rpm --nodeps

5.2.执行命令安装PHP以及相关的库

sudo dnf update -y dnf libdnf
sudo sed -i 's/PLATFORM_ID="platform:al9"/PLATFORM_ID="platform:el9"/g' /etc/os-release
sudo yum -y module install php:remi-8.0
sudo sed -i 's/PLATFORM_ID="platform:el9"/PLATFORM_ID="platform:al9"/g' /etc/os-release

 5.3.安装PHP环境

yum -y install  php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap

5.4.查看PHP版本

php -v

6.修改Nginx配置文件以支持PHP

6.1.运行以下命令,备份Nginx配置文件

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

6.2.打开Nginx配置文件

sudo vim /etc/nginx/nginx.conf

6.3.添加配置信息

location / {index index.php index.html index.htm;
}location ~ .php$ {root /usr/share/nginx/html;    #将/usr/share/nginx/html替换为您的网站根目录,本文使用/usr/share/nginx/html作为网站根目录。fastcgi_pass 127.0.0.1:9000;   #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。fastcgi_index index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include fastcgi_params;   #Nginx调用fastcgi接口处理PHP请求。
}

6.4.启动Nginx服务

sudo systemctl start nginx 

7.配置PHP

7.1.配置php测试文件

sudo vim /usr/share/nginx/html/phpinfo.php
#添加下面内容
<?php echo phpinfo(); ?>

7.2.启动php-fpm

sudo systemctl start php-fpm

8.测试访问LNMP配置信息页面

在浏览器的地址栏输入http://<ECS实例公网IP地址>/phpinfo.php进行访问

9.总结 

在本实战指南中,我们详尽探讨了如何在CentOS 7系统上从头开始搭建LNMP环境,这一过程不仅加深了对Nginx、MySQL、及PHP各组件配置与协同工作的理解,还为高性能网站部署奠定了坚实基础。通过一步步实践,我们成功地配置了高效稳定的Nginx作为web服务器,设置了强大的MySQL数据库来支撑数据管理,以及部署了PHP环境,为动态网页开发铺平道路。

接下来的精彩篇章,我们将在此坚固的LNMP平台上进一步展开,聚焦于利用全球最受欢迎的内容管理系统——WordPress,来实现个人博客的快速搭建。从下载与安装WordPress源代码,到配置数据库连接,定制主题与插件的选择与安装,直至发布第一篇博客文章,每一步都将配以详细操作指导及常见问题解决策略。通过实战演练,即便是初学者也能轻松驾驭,将自己的想法和故事以个性化的博客形式展现给世界。敬请期待,让我们一同迈入个人博客搭建的新旅程!

相关文章:

  • C# —— Directory类
  • Java 中的异常处理机制是如何工作的?请解释 try-catch-finally 的基本用法?
  • 如何远程访问运行电脑上运行的程序?
  • 【知网CNKI-注册安全分析报告】
  • C++:filter2D函数简要概述
  • 手撸俄罗斯方块(一)——简单介绍
  • 解决Invalid or unsupported by client SCRAM mechanisms(dbeaver)
  • Golang 基于 archive/zip 包实现文件
  • ontape备份异机还原的样例
  • c++ primer plus 第15章友,异常和其他 15.3.11 有关异常的注意事项
  • SpringBoot新手快速入门系列教程:前述
  • 好看!欢乐!学习快!快来探索《米小圈动画成语》的魅力!
  • Hadoop3:NameNode和DataNode多目录配置(扩充磁盘的技术支持)
  • Android Studio gradle下载失败?!
  • 可视化作品集(11):节能环保能耗领域大展拳脚。
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 2017-09-12 前端日报
  • axios 和 cookie 的那些事
  • CSS3 变换
  • css选择器
  • dva中组件的懒加载
  • EventListener原理
  • HTTP 简介
  • IDEA常用插件整理
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • leetcode-27. Remove Element
  • mac修复ab及siege安装
  • node-glob通配符
  • Nodejs和JavaWeb协助开发
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • tab.js分享及浏览器兼容性问题汇总
  • vue:响应原理
  • 彻底搞懂浏览器Event-loop
  • 后端_MYSQL
  • 类orAPI - 收藏集 - 掘金
  • 前端工程化(Gulp、Webpack)-webpack
  • 【云吞铺子】性能抖动剖析(二)
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​secrets --- 生成管理密码的安全随机数​
  • #Z0458. 树的中心2
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (175)FPGA门控时钟技术
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (安卓)跳转应用市场APP详情页的方式
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (七)Knockout 创建自定义绑定
  • (三)c52学习之旅-点亮LED灯
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)平衡树