“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.环境信息

|-------------------------|--------------|--------|--------|
| Centos | NGINX | MySQL | PHP |
| CentOS Stream release 9 | nginx/1.20.1 | 3.0.37 | 8.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源代码,到配置数据库连接,定制主题与插件的选择与安装,直至发布第一篇博客文章,每一步都将配以详细操作指导及常见问题解决策略。通过实战演练,即便是初学者也能轻松驾驭,将自己的想法和故事以个性化的博客形式展现给世界。敬请期待,让我们一同迈入个人博客搭建的新旅程!

相关推荐
szephyr1 小时前
Nginx 反向代理实战:从 502、跨域到 HTTPS,一次打通
运维·nginx·https·部署·反向代理
迷茫的大专生1 小时前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive
Lyra_Infra2 小时前
从 MySQL 到达梦:一次信创隔离环境里的数据库迁移踩坑实录
数据库·后端·mysql
蜡台2 小时前
VirtualBox Centos8 配置互联网访问和局域网访问
centos·虚拟机·vbox
泡茶喝茶写代码3 小时前
量化数据开发实战系列(第 25 篇):基金基础接口实战:基金列表、ETF-LOF 分类、基金概况、净值数据
java·数据库·人工智能·python·mysql
worilb4 小时前
Win下使用同一套MySQL创建第二个独立实例
mysql
A心有千千结4 小时前
Nginx网关可观测建设:打通流量入口,加速线上故障诊断
nginx·prometheus·devops
风哥2号5 小时前
数据库教程FGMT40‑MySQL性能优化之性能基准测试
数据库·mysql
葡萄成熟时 !5 小时前
MySQL 全套学习笔记(JDBC+连接池)
mysql
梦帮科技6 小时前
一次性会员支付系统的可靠性设计:幂等、金额校验、Webhook 与链上确认
人工智能·神经网络·mysql·区块链·建造者模式·合成复用原则·加密货币