HCRM博客

如何在CentOS上使用YUM安装和配置LNMP环境?

在 CentOS 上通过 yum 搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境是一种高效且便捷的方式,本文将详细介绍如何在 CentOS 7.x 系统上,通过 yum 包管理器来安装和配置 LNMP 环境,并包含一些常见问题的解答。

LNMP 环境搭建步骤

1. 安装 Nginx

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

确保你的系统已经安装了 EPEL Repo(Extra Packages for Enterprise Linux),这是 CentOS 官方的软件仓库,如果未安装,可以使用以下命令进行安装:

sudo yum install epelrelease y

安装 Nginx:

sudo yum install nginx y

启动 Nginx 并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

2. 安装 MySQL

为了安装 MySQL,你需要先添加 MariaDB 仓库(因为 CentOS 默认使用 MariaDB 作为 MySQL 的替代品):

sudo yum localinstall https://repo.mariadb.org/yum/centos/MariaDBfocalamd64mps.rpm

安装 MySQL 服务器:

如何在CentOS上使用YUM安装和配置LNMP环境?-图2
(图片来源网络,侵权删除)
sudo yum install mariadbserver y

启动 MariaDB 并设置开机自启:

sudo systemctl start mariadb
sudo systemctl enable mariadb

运行安全脚本以设置 root 密码和其他安全选项:

sudo mysql_secure_installation

3. 安装 PHP

同样地,你可以通过 yum 来安装 PHP:

sudo yum install php y

为了支持 PHP 与 Nginx 的集成,还需要安装 PHPFPM:

sudo yum install phpfpm y

编辑 PHPFPM 配置文件/etc/phpfpm.d/www.conf,将listen 指令的值改为/run/phpfpm/www.sock,并保存退出。

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

4. 配置 Nginx 支持 PHP

编辑 Nginx 配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),在 server 块中添加以下内容:

location ~ \.php$ {
    fastcgi_pass unix:/run/phpfpm/www.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

保存并退出编辑器,重启 Nginx 和 PHPFPM 服务以使更改生效:

sudo systemctl restart nginx
sudo systemctl restart phpfpm

至此,LNMP 环境已经成功搭建。

常见问题解答(FAQs)

问题 1:如何更改 PHP 版本?

答:要更改 PHP 版本,你可以使用 Remi's RPM Repository,它提供了多个 PHP 版本的软件包,添加 Remi 仓库:

sudo yum install http://rpms.remirepo.net/enterprise/remirelease7.rpm
sudo yum install yumutils y

启用你想要的 PHP 版本(PHP 8.0):

sudo yumconfigmanager enable remiphp80

安装或升级到指定版本的 PHP:

sudo yum update php phpcommon phpfpm phpcli phpopcache y

问题 2:如何优化 Nginx 的性能?

答:优化 Nginx 性能的方法有很多,以下是一些常见的建议:

调整工作进程数:根据你的 CPU 核心数调整worker_processesworker_connections 的值。

开启缓存:配置静态文件缓存以减少服务器负载。

压缩传输:启用 gzip 压缩以减少传输的数据量。

调整超时时间:根据应用需求调整客户端和后端超时时间。

具体配置示例如下:

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    include /etc/nginx/mime.types;
    default_type application/octetstream;
    include /etc/nginx/conf.d/*.conf;
    server {
        listen 80;
        server_name your_domain;
        root /var/www/html;
        index index.php index.html index.htm;
        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            expires 30d;
            log_not_found off;
        }
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_pass unix:/run/phpfpm/www.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }
}

问题 3:如何备份和恢复 MySQL 数据库?

答:备份和恢复 MySQL 数据库是日常运维的重要任务之一,你可以使用mysqldump 工具来备份数据库,使用mysql 命令来恢复数据库。

备份数据库

mysqldump u [username] p[password] [database_name] > [backup_file].sql

恢复数据库

mysql u [username] p[password] [database_name] < [backup_file].sql

注意:在执行这些命令之前,请确保你已经有足够的权限来访问和操作相应的数据库,定期备份是非常重要的,以防数据丢失或损坏。

通过以上步骤和解答,你应该能够在 CentOS 上成功搭建 LNMP 环境,并解决一些常见的问题,如果你有任何疑问或需要进一步的帮助,请随时提问。

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

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