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

相关推荐
计算机学姐2 小时前
基于Python爬虫大屏可视化的热门旅游景点数据分析系统
开发语言·vue.js·后端·爬虫·python·mysql·django
胡西风_foxww7 小时前
Linux下编译安装Nginx
linux·运维·nginx·编译·安装·openssl·pcre
Narutolxy9 小时前
深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112
数据库·mysql
风兮雨露9 小时前
Linux(CentOS 7) yum一键安装mysql8
linux·服务器·mysql
山___10 小时前
Centos 9 安装 PostgreSQL 16 并支持远程访问
linux·运维·centos
.生产的驴11 小时前
Docker 部署Nacos 单机部署 MYSQL数据持久化
android·运维·spring boot·sql·mysql·docker·容器
猫爪笔记11 小时前
MySQL数据库:SQL语言入门 【2】(学习笔记)
数据库·笔记·sql·学习·mysql
洛祁枫11 小时前
centos7 升级openssl 与升级openssh 安装卸载 telnet-server
linux·服务器·安全·网络安全·centos
qq109160698112 小时前
Nginx SSL+tomcat,使用request.getScheme() 取到https协议
nginx·tomcat·ssl
hefaxiang12 小时前
[Mysql] Mysql的多表查询----多表关系(下)
数据库·mysql