HCRM博客

如何在CentOS上成功搭建LNMP环境?

在CentOS上搭建LNMP环境是一个常见的任务,它涉及到安装和配置Linux、Nginx、MySQL/MariaDB以及PHP,下面将详细介绍如何在CentOS 7.x系统上手动搭建LNMP环境,并提供一个清晰的步骤指南。

实验准备

1.1 网络准备

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

确保你的CentOS实例能够正常连接互联网,并且防火墙与SElinux已关闭。

1.2 备份YUM源

为了避免因更换YUM源而导致的问题,建议先备份原有的YUM源:

cd /etc/yum.repos.d/
mkdir back
mv * back/

1.3 下载新的YUM源

使用阿里云或网易的镜像源来提高下载速度:

wget http://mirrors.aliyun.com/repo/Centos7.repo O /etc/yum.repos.d/CentOSBase.repo
wget http://mirrors.aliyun.com/repo/epel7.repo O /etc/yum.repos.d/epel.repo
yum clean all
yum makecache

1.4 安装编译工具和依赖包

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

为了后续的软件安装,需要先安装一些编译工具和依赖包:

yum y install gcc gccc++ pcredevel openssl openssldevel zlibdevel ncursesdevel cmake bison libxml2devel libpngdevel

安装Nginx

2.1 创建Nginx YUM源文件

/etc/yum.repos.d/目录下创建nginx.repo文件:

vi /etc/yum.repos.d/nginx.repo

添加以下内容:

[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/\$basearch/\$architecture/
gpgcheck=0
enabled=1

保存并退出(按Esc键,输入:wq)。

2.2 安装Nginx

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

执行以下命令安装Nginx:

yum install y nginx

2.3 配置Nginx

编辑Nginx的主配置文件nginx.conf

vim /etc/nginx/nginx.conf

找到server {...}块,修改如下内容以取消对IPv6地址的监听,并配置Nginx与PHP的联动:

server {
    listen       80;
    server_name  localhost;
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;
    error_page  404 /404.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    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;
    }
}

保存并退出。

2.4 启动Nginx并设置开机自启

systemctl start nginx
systemctl enable nginx

访问服务器的公网IP,确认Nginx服务是否正常运行,显示“Welcome to Nginx!”页面则表示成功。

安装数据库(以MariaDB为例)

3.1 检查是否已安装MariaDB

rpm qa | grep i mariadb

如果返回结果为空,则继续下一步;否则,执行以下命令移除已安装的MariaDB:

yum y remove MariaDB

3.2 创建MariaDB YUM源文件

vi /etc/yum.repos.d/MariaDB.repo

添加以下内容:

MariaDB 10.4 CentOS repository list created 20191105 11:56 UTC
https://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://mirrors.cloud.tencent.com/mariadb/yum/10.4/centos7amd64/
gpgkey=https://mirrors.cloud.tencent.com/mariadb/yum/RPMGPGKEYMariaDB
gpgcheck=1

保存并退出。

3.3 安装MariaDB

yum y install MariaDBserver MariaDBclient

3.4 启动MariaDB并设置开机自启

systemctl start mariadb
systemctl enable mariadb

3.5 验证安装是否成功

mysql V

返回类似如下结果则表示安装成功:

mysql  Ver 15.1 Distrib 10.4.8MariaDB, MariaDB Server

3.6 执行安全性操作并设置密码

mysql_secure_installation

按照提示完成配置,包括设置root用户密码、移除匿名用户、禁止远程root登录等。

安装PHP

4.1 更新YUM源并安装PHP相关软件包

rpm Uvh https://mirror.webtatic.com/yum/el7/webtaticrelease.rpm
yum y install php72w php72wcli php72wcommon php72wmbstring php72wopcache php72wxml php72wfpm php72wmysqlnd php72wldap php72wpecl php72wpear php72wpdo php72wsoap php72wgd php72wbcmath php72wjson php72wintl php72wtidy html2ps1.4.21.fc21.noarch.rpm

4.2 启动PHPFPM并设置开机自启

systemctl start phpfpm
systemctl enable phpfpm

4.3 测试PHP是否正常工作

/usr/share/nginx/html/目录下创建一个info.php文件:

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

然后在浏览器中访问http://<your_server_ip>/info.php,如果能看到PHP信息页面,则表示PHP安装成功。

环境测试与优化

通过上述步骤,你已经成功地在CentOS上搭建了一个基本的LNMP环境,接下来可以进行一些性能优化和安全设置,

调整Nginx和PHP的配置参数以提高性能。

启用MariaDB的查询缓存以提高数据库响应速度。

配置防火墙规则以限制不必要的访问。

定期备份数据以防止数据丢失。

6. LNMP环境搭建常见问题解答(FAQs)

Q1: Nginx无法启动怎么办?

A1: 首先检查Nginx配置文件是否有语法错误:nginx t,如果有错误,根据提示修正后重试,查看日志文件/var/log/nginx/error.log获取更多信息。

Q2: MariaDB安装失败或启动失败怎么办?

A2: 确保YUM源配置正确,并且网络连接正常,查看MariaDB的错误日志/var/log/mariadb/mariadb.err获取更多信息,如果问题依旧存在,可以尝试重新安装或更换YUM源。Q3: PHP页面显示空白怎么办?A3: 确保PHPFPM服务已经启动,并且Nginx与PHP之间的配置正确无误,查看PHP错误日志/var/log/phpfpm/wwwerror.log获取更多信息,如果问题依旧存在,可以尝试重启Nginx和PHPFPM服务。Q4: 如何更改PHP版本?A4: 可以通过安装不同版本的PHP模块来实现,要切换到PHP 7.3,可以安装php73w及其相关模块,并调整Nginx配置文件中的fastcgi_pass路径。Q5: 如何提高LNMP环境的安全性?A5: 除了上述提到的基本安全设置外,还可以考虑以下几点:禁用不必要的模块和服务使用强密码策略定期更新软件包以修复已知漏洞。配置防火墙规则以限制访问范围。启用HTTPS协议以提高数据传输的安全性。

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

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