CentOS 7 系统上安装 **Nginx + MySQL 5.7 + PHP 7.3 + Redis** 的完整步骤

安装前准备

1. 升级系统

bash 复制代码
yum update -y

2. 安装必要工具

bash 复制代码
yum install -y wget vim curl

一、安装 MySQL 5.7

1. 配置 MySQL 5.7 源

bash 复制代码
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm

2. 安装 MySQL 5.7

bash 复制代码
yum install -y mysql-community-server

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

bash 复制代码
systemctl start mysqld
systemctl enable mysqld

4. 获取初始密码

bash 复制代码
grep 'temporary password' /var/log/mysqld.log

5. 登录 MySQL 并修改密码

bash 复制代码
mysql -u root -p

输入初始密码后,执行:

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

密码需要包含大小写字母、数字和特殊字符。

6. 允许远程连接 (可选)

sql 复制代码
use mysql;
update user set host='%' where user='root';
flush privileges;

二、安装 Nginx

1. 配置 Nginx 源

bash 复制代码
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2. 安装 Nginx

bash 复制代码
yum install -y nginx

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

bash 复制代码
systemctl start nginx
systemctl enable nginx

三、安装 PHP 7.3

1. 安装 EPEL 和 Remi 源

bash 复制代码
yum install -y epel-release
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

2. 安装 PHP 7.3

bash 复制代码
yum install -y php73 php73-php-fpm php73-php-mysqlnd php73-php-redis php73-php-gd php73-php-xml php73-php-mbstring

3. 启动 php-fpm 并设置开机自启

bash 复制代码
systemctl start php73-php-fpm
systemctl enable php73-php-fpm

4. 配置 PHP

编辑 /etc/opt/remi/php73/php.ini 文件,修改以下参数:

ini 复制代码
short_open_tag = On
max_execution_time = 300
memory_limit = 128M
post_max_size = 8M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai

四、安装 Redis

1. 安装 Redis

bash 复制代码
yum install -y redis

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

bash 复制代码
systemctl start redis
systemctl enable redis

3. 配置 Redis 允许远程连接 (可选)

编辑 /etc/redis.conf 文件:

conf 复制代码
bind 0.0.0.0

重启 Redis:

bash 复制代码
systemctl restart redis

五、配置 Nginx 支持 PHP

1. 创建网站目录

bash 复制代码
mkdir -p /var/www/html
chmod -R 755 /var/www/html

2. 配置 Nginx

编辑 /etc/nginx/conf.d/default.conf 文件:

nginx 复制代码
server {
    listen       80;
    server_name  localhost;
    root   /var/www/html;
    index  index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    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;
    }
}

3. 重启 Nginx

bash 复制代码
systemctl restart nginx

六、测试

1. 创建 PHP 测试文件

bash 复制代码
echo "<?php phpinfo(); ?>" > /var/www/html/index.php

2. 访问测试

在浏览器中访问服务器 IP 地址,应该能看到 PHP 信息页面。

3. 测试 MySQL 连接

bash 复制代码
echo "<?php
\$servername = \"localhost\";
\$username = \"root\";
\$password = \"你的密码\";

// 创建连接
\$conn = new mysqli(\$servername, \$username, \$password);

// 检测连接
if (\$conn->connect_error) {
    die(\"连接失败: \" . \$conn->connect_error);
}
echo \"连接成功\";
\$conn->close();
?>" > /var/www/html/mysql_test.php

4. 测试 Redis 连接

bash 复制代码
echo "<?php
\$redis = new Redis();
\$redis->connect('127.0.0.1', 6379);
echo \"Connection to server sucessfully\";
echo \"Server is running: \" . \$redis->ping();
?>" > /var/www/html/redis_test.php

总结

以上步骤完成后,你的 CentOS 7 系统上就已经成功搭建了 Nginx + MySQL 5.7 + PHP 7.3 + Redis 环境。

如果有任何问题,请随时告诉我。

相关推荐
范什么特西1 小时前
redis题目面渣重点
数据库·redis·缓存
二宝哥2 小时前
CentOS 7.9 离线安装 Nginx 并配置openssl1.1.1
linux·nginx·centos
xcLeigh2 小时前
Go入门:短变量声明的陷阱与最佳实践
java·redis·golang·教程·变量
灯澜忆梦3 小时前
【MySQL11】进阶篇 | 索引_#3使用规则
数据库·sql·mysql·性能优化
wWYy.4 小时前
Mysql:有哪些锁?
数据库·mysql
March.s4 小时前
Nginx 服务器反向代理实战指南
服务器·nginx·github
hey_sml4 小时前
MySQL常用操作速记:从字符集到游标全解析
java·开发语言·mysql
云技纵横4 小时前
线上接口突然超时,怎么判断卡在 Nginx、线程池、连接池还是 SQL?
后端·sql·mysql
技术长镜头5 小时前
别再死记 Record、Gap、Next-Key:沿一条 SQL 看懂 InnoDB 锁
后端·mysql
油丶酸萝卜别吃6 小时前
Redis 布隆过滤器快速实现
数据库·redis·缓存