HCRM博客

如何在CentOS上搭建LNMP环境?

CentOS LNMP环境搭建指南

LNMP是Linux、Nginx、MySQL和PHP的简称,是一种常见的网站服务器架构,它适用于运行大型、高并发的网站应用,如电子商务网站、社交网络和内容管理系统等,本文将详细介绍如何在CentOS系统上手动部署LNMP环境。

如何在CentOS上搭建LNMP环境?-图1
(图片来源网络,侵权删除)

环境要求

1、实例规格:内存建议不小于4 GiB。

2、公网IP地址:实例应分配公网IP地址或绑定弹性公网IP(EIP)。

3、操作系统:推荐使用Alibaba Cloud Linux 3/2、CentOS 7/8。

4、安全组规则:放行22、80、443端口,必要时可放行其他应用所需端口。

5、软件版本

Nginx:1.20.1

如何在CentOS上搭建LNMP环境?-图2
(图片来源网络,侵权删除)

MySQL:8.0.39

PHP:8.0.30

步骤详解

1、关闭防火墙和SELinux

临时关闭防火墙:sudo systemctl stop firewalld

永久关闭防火墙:sudo systemctl disable firewalld

查看SELinux状态:sudo getenforce

如何在CentOS上搭建LNMP环境?-图3
(图片来源网络,侵权删除)

临时关闭SELinux:sudo setenforce 0

永久关闭SELinux:编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,并重启系统。

2、安装Nginx

创建Nginx repo文件:vi /etc/yum.repos.d/nginx.repo,添加以下内容:

```plaintext

[nginx]

name=nginx repo

baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/

gpgcheck=0

enabled=1

```

安装Nginx:sudo yum install y nginx

启动Nginx并设置为开机自启动:sudo systemctl start nginx && sudo systemctl enable nginx

3、安装并配置MySQL

安装MySQL依赖包:sudo yum install compatopenssl10

更新YUM源并安装MySQL:sudo rpm Uvh https://dev.mysql.com/get/mysql80communityreleaseel711.noarch.rpm && sudo yum install y mysqlcommunityserver

启动MySQL并设置为开机自启动:sudo systemctl start mysqld && sudo systemctl enable mysqld && sudo systemctl daemonreload

获取MySQL初始密码并设置新密码:sudo grep 'temporary password' /var/log/mysqld.log,然后运行sudo mysql_secure_installation进行安全配置。

4、安装PHP

更新YUM源并安装EPEL release:sudo yum install y epelrelease https://mirrors.cloud.tencent.com/epel/epelreleaselatest7.noarch.rpm

安装Remi repo并启用:sudo yum install y https://rpms.remirepo.net/enterprise/remirelease7.rpm,然后运行sudo yumconfigmanager enable remiphp80

安装PHP及相关模块:sudo yum install y php phpfpm phpcommon phpopcache phpmysqlnd phpxml phpjson

配置PHPFPM:编辑/etc/phpfpm.d/www.conf文件,修改用户和组为nginx,并设置监听端口为9000或Unix套接字。

启动PHPFPM并设置为开机自启动:sudo systemctl start phpfpm && sudo systemctl enable phpfpm

5、配置Nginx支持PHP

编辑Nginx配置文件:vim /etc/nginx/conf.d/default.conf,在server块中添加以下内容:

```plaintext

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

```

重启Nginx:sudo systemctl restart nginx

6、测试环境

创建测试PHP文件:echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

访问http://your_server_ip/info.php,如果看到PHP信息页面,则表示LNMP环境搭建成功。

FAQs

1、为什么需要关闭防火墙和SELinux?

关闭防火墙和SELinux是为了简化部署过程,避免因权限问题导致的安装失败,在生产环境中,建议根据实际需求合理配置防火墙和SELinux规则,以增强系统安全性。

2、如何检查LNMP环境是否搭建成功?

你可以通过访问http://your_server_ip/info.php来查看PHP信息页面,确认PHP是否正常工作,可以检查Nginx和MySQL的运行状态,确保它们都已启动并正常运行。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/606.html

分享:
扫描分享到社交APP
上一篇
下一篇