当前位置: 首页 > 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):节能环保能耗领域大展拳脚。
  • 2017届校招提前批面试回顾
  • css属性的继承、初识值、计算值、当前值、应用值
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Hexo+码云+git快速搭建免费的静态Blog
  • Logstash 参考指南(目录)
  • October CMS - 快速入门 9 Images And Galleries
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 面试总结JavaScript篇
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信小程序实战练习(仿五洲到家微信版)
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 小而合理的前端理论:rscss和rsjs
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​马来语翻译中文去哪比较好?
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • # dbt source dbt source freshness命令详解
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #微信小程序:微信小程序常见的配置传值
  • (145)光线追踪距离场柔和阴影
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (8)STL算法之替换
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (ros//EnvironmentVariables)ros环境变量
  • (Ruby)Ubuntu12.04安装Rails环境
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十六)Flask之蓝图
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Mysql的优化设置
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .DFS.
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net 7 上传文件踩坑
  • .NET CORE 3.1 集成JWT鉴权和授权2