HCRM博客

如何在CentOS上安装LNMP环境?

CentOS 7 安装 LNMP 环境详细指南

一、前言

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

LNMP 代表 Linux、Nginx、MySQL/MariaDB 和 PHP,这是一种常见的网站开发环境,能够支持多种流行的 PHP 框架如 WordPress、Drupal、Joomla 等,本文将详细介绍如何在 CentOS 7 系统上手动安装和配置 LNMP 环境。

二、更新系统并安装基本工具

更新系统软件包

sudo yum update y

安装基本工具

sudo yum install y wget vim nettools

这些工具包括wget(用于从网上下载文件)、vim(文本编辑器)和nettools(网络管理工具)。

三、安装 Nginx

添加 Nginx 官方仓库

添加 Nginx 的官方 Yum 仓库:

sudo rpm Uvh https://nginx.org/packages/centos/7/noarch/RPMS/nginxreleasecentos70.el7.ngx

然后导入公钥:

如何在CentOS上安装LNMP环境?-图2
(图片来源网络,侵权删除)
sudo rpm import https://nginx.org/keys/nginx_signing.key

安装 Nginx

sudo yum install y nginx

启动 Nginx 并设置开机自启

sudo systemctl start nginx
sudo systemctl enable nginx

配置防火墙

如果系统启用了 firewalld,需要开放 HTTP 和 HTTPS 端口:

sudo firewallcmd permanent zone=public addservice=http
sudo firewallcmd permanent zone=public addservice=https
sudo firewallcmd reload

验证安装

在浏览器中访问服务器 IP 地址,如果能显示 "Welcome to nginx!" 页面,则表示 Nginx 安装成功。

四、安装并配置 MySQL

添加 MySQL Yum 仓库

sudo rpm Uvh https://repo.mysql.com//mysql80communityreleaseel73.noarch.rpm
sudo yum repolist all | grep "mysql80community"

安装 MySQL

sudo yum install y mysqlcommunityserver

启动 MySQL 并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

获取临时密码

sudo grep 'temporary password' /var/log/mysqld.log

设置 MySQL 密码并登录

sudo mysql_secure_installation

根据提示输入 root 账户的密码,并进行相关安全设置。

创建数据库和用户

CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

配置防火墙

开放 MySQL 默认端口 3306:

sudo firewallcmd permanent addport=3306/tcp
sudo firewallcmd reload

五、安装 PHP

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

安装 PHP 及相关模块

sudo yum install y php phpfpm phpmysqlnd phpxml phpgd phpmbstring phpcli phpldap phpodbcursorig phppear phpdevel

2. 启动 PHPFPM 并设置开机自启

sudo systemctl start phpfpm
sudo systemctl enable phpfpm

3. 配置 Nginx 使用 PHPFPM

编辑 Nginx 配置文件以支持 PHP:

sudo vi /etc/nginx/conf.d/default.conf

server 块中添加以下内容:

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

测试 PHP 是否工作正常

创建一个测试文件info.php

<?php
phpinfo();
?>

将其放在 Nginx 的 web 根目录下(默认为/usr/share/nginx/html),然后在浏览器中访问http://<你的服务器IP>/info.php,如果能看到 PHP 信息页面,则表示 PHP 安装成功。

六、常见问题与解决方案

Q1: Nginx 无法启动怎么办?

A1: 检查错误日志:sudo tail f /var/log/nginx/error.log,根据日志提示进行相应修改,常见错误包括配置文件语法错误、端口被占用等。

Q2: MySQL 无法远程连接怎么办?

A2: 确保防火墙已开放3306端口,并且MySQL用户具有远程登录权限,可以通过执行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;来授予远程访问权限。

Q3: PHPFPM 无法正常工作怎么办?

A3: 检查 PHPFPM 的错误日志:sudo tail f /var/log/phpfpm/error.log,确保配置文件正确无误,特别是监听地址和端口是否正确。

七、归纳

通过上述步骤,您可以在 CentOS 7 上成功安装 LNMP 环境,并为后续的网站开发做好准备,如果在安装过程中遇到任何问题,可以参考相关日志进行排查,还可以根据实际需求对各个组件进行优化配置,以达到最佳性能。

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