HCRM博客

如何优化 CentOS 服务器上的 PHP 和 MySQL 性能?

在CentOS上安装PHP、MySQL和Nginx环境是一个常见且重要的任务,特别是在构建Web服务器时,本文将详细介绍如何在CentOS 7上安装和配置这些组件,包括必要的依赖项和步骤。

一、安装PHP

1. 安装EPEL源

如何优化 CentOS 服务器上的 PHP 和 MySQL 性能?-图1
(图片来源网络,侵权删除)

需要安装EPEL(Extra Packages for Enterprise Linux)源,以便能够安装更高版本的PHP,执行以下命令:

yum install y epelrelease

2. 安装REMI源

安装REMI源,这是一个提供最新PHP版本的仓库:

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

3. 安装Yum源管理工具

为了方便切换PHP版本,需要安装yumutils:

yum y install yumutils

4. 安装PHP 7.3

如何优化 CentOS 服务器上的 PHP 和 MySQL 性能?-图2
(图片来源网络,侵权删除)

使用REMI源来安装PHP 7.3及其常用扩展:

yum install y php73 php73phpfpm php73phpcli php73phpbcmath php73phpgd php73phpjson php73phpmbstring php73phpmcrypt php73phpmysqlnd php73phpopcache php73phppdo php73phppeclcrypto php73phppeclmcrypt php73phppeclgeoip php73phprecode php73phpsnmp php73phpsoap php73phpxmlll

5. 启动并设置开机自启动

启动PHPFPM服务,并设置为开机自启动:

systemctl start php73phpfpm
systemctl enable php73phpfpm

6. 验证安装

创建一个info.php文件来验证PHP是否安装成功:

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

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

如何优化 CentOS 服务器上的 PHP 和 MySQL 性能?-图3
(图片来源网络,侵权删除)

二、安装Nginx

1. 配置Nginx源

添加Nginx官方仓库,以便获取最新的Nginx版本:

rpm ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginxreleasecentos70.el7.ngx.noarch.rpm

2. 安装Nginx

执行以下命令来安装Nginx:

yum install y nginx

3. 启动并设置开机自启动

启动Nginx服务,并设置为开机自启动:

systemctl start nginx
systemctl enable nginx

4. 配置防火墙

确保防火墙允许HTTP和HTTPS流量:

firewallcmd permanent addservice=http
firewallcmd permanent addservice=https
firewallcmd reload

5. 验证安装

在浏览器中访问http://<your_server_ip>/,如果看到Nginx的欢迎页面,则表示安装成功。

三、安装MySQL 8.0

1. 下载MySQL RPM包

从MySQL官网下载适用于CentOS 7的RPM包:

wget https://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm

2. 安装MySQL RPM包

执行以下命令来安装MySQL RPM包:

rpm ivh mysql80communityreleaseel73.noarch.rpm

3. 安装MySQL服务器

使用以下命令来安装MySQL服务器:

yum install y mysqlcommunityserver

4. 初始化数据库

运行以下命令来初始化MySQL数据库:

mysqld initialize user=mysql

注意:如果提示缺少libaio库,请先安装它:

yum install y libaio

然后再次运行初始化命令。

5. 启动并设置开机自启动

启动MySQL服务,并设置为开机自启动:

systemctl start mysqld
systemctl enable mysqld

6. 查看临时密码

查看MySQL的临时密码,通常可以在日志文件中找到:

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

7. 登录MySQL并修改密码

使用临时密码登录MySQL,并修改root用户的密码:

mysql u root p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!';
FLUSH PRIVILEGES;
EXIT;

8. 开放防火墙端口

确保防火墙允许MySQL流量:

firewallcmd permanent addport=3306/tcp
firewallcmd reload

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

答:可以通过REMI源轻松切换PHP版本,要切换到PHP 7.4,执行以下命令:

yumconfigmanager setenabled remiphp74
yum update

然后重启PHPFPM服务:

systemctl restart php74phpfpm

问题2:如何配置Nginx代理到PHPFPM?

答:编辑Nginx配置文件(例如/etc/nginx/nginx.conf),添加以下内容:

server {
    listen       80;
    server_name  your_domain_or_ip;
    
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO          $fastcgi_script_name;
    }
}

然后重启Nginx服务:

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