【PHP】Swoole:CentOS安装MySQL+Swoole

发布于:2025-07-19 ⋅ 阅读:(14) ⋅ 点赞:(0)

一、安装 CentOS 7

1. 下载系统

  • 为什么安装 CentOS 7 呢 —— 因为精简。
  1. 首先打开 CentOS 的官网
    在这里插入图片描述
  2. 下载 CentOS
    在这里插入图片描述
  3. 在目录中选择 Older Versions(老版本)
    在这里插入图片描述
  4. 点击唯一的超链接
    在这里插入图片描述
  5. 这里有 CentOS 所有的版本,我选 7.9.2009
    在这里插入图片描述
  6. 点击 isos
    在这里插入图片描述
  7. 选择下载版本
    在这里插入图片描述
    在这里插入图片描述

2. 安装系统

  1. 点击新建虚拟机
    在这里插入图片描述

  2. 典型安装,如果有计算机基础的话可以选自定义,没有就典型安装
    在这里插入图片描述

  3. 选择刚刚下载的 iso 文件
    在这里插入图片描述

  4. 注意这里把位置换成其他盘,如果只有一个系统盘就无所谓
    在这里插入图片描述

  5. 这里它说建议 20 GB 那就不改了,下一步
    在这里插入图片描述

  6. 点完成
    在这里插入图片描述

3. 系统初始化

  1. 启动系统后,通过上下键,让白颜色选中第一个
    在这里插入图片描述
  2. 等待几分钟,弹出语言选择界面,鼠标往下滚动,选择中文,然后点继续
    在这里插入图片描述
  3. 提示先完成感叹号标记的内容,点一下那个选项
    在这里插入图片描述
  4. 什么都不用动,点完成,会自动分区
    在这里插入图片描述
  5. 点击开始安装,跳转到用户设置界面,点 ROOT 密码
    在这里插入图片描述
  6. 输入两次密码,最好记录下来,忘了密码的话这个系统就报废了,输入完后点完成
    在这里插入图片描述
  7. 然后不要动了,等几分钟,然后点击重启,安装完成
    在这里插入图片描述

二、安装 PHP8.1

1. 使用 SSH 连接

  • 虚拟机中不好复制粘贴,所以需要第三方软件使用 SSH 连接虚拟机,我这里使用 FinalShell
  1. 进入系统
    在这里插入图片描述

  2. 输入 ip addr show 查看 IP 地址
    在这里插入图片描述

  3. 如果没有 IP 地址就输入 sudo dhclient 网络适配器名 获取 IP
    在这里插入图片描述

  4. 重新输入 ip addr show 查看 IP,就有 IP 了
    在这里插入图片描述

  5. 我用的 FinalShell 连接,输入 IP、用户名、密码
    在这里插入图片描述

  6. 但是每次重启都会重置 IP,所以还需要修改网络配置文件
    在这里插入图片描述

  7. ONBOOT 改成 yes,意思是开机自启动,然后保存
    在这里插入图片描述

2. 更改镜像源

  1. 下载之前先把主机名固定下来,不然每次开机会变,修改完后重启。修改主机名参考:CentOS 修改主机名
    在这里插入图片描述

  2. 修改成国内的阿里云镜像

    sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    sudo yum clean all
    sudo yum makecache
    

    在这里插入图片描述

3. 安装 PHP8.1

  1. 安装 Remi 仓库
    sudo yum install -y https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
    sudo yum install -y yum-utils
    
  2. 启用 PHP 8.1
    sudo yum-config-manager --enable remi-php81
    
  3. 安装 PHP 8 和常用扩展
    sudo yum install -y php php-cli php-fpm php-mysqlnd php-pdo php-mbstring php-xml php-gd php-opcache php-json
    
  4. 确认是否安装成功
    php -v
    
  5. 前面四步没问题,那就没问题
    在这里插入图片描述

三、安装 MySQL8

  1. 安装 MySQL 官方 Yum 仓库
    sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
    sudo yum makecache fast
    
  2. 导入 MySQL 官方 GPG 密钥(可以先进行第3步安装,如果安装失败再导入)
    sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
    sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
    
  3. 安装 MySQL 8.0
    sudo yum install -y mysql-community-server
    
  4. 启动 MySQL 并设置开机启动
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    
  5. 查看初始密码
    sudo grep 'temporary password' /var/log/mysqld.log
    
    在这里插入图片描述
  6. 安全初始化配置
    sudo mysql_secure_installation
    

    Do you wish to continue with the password provided?
    您想继续使用提供的密码吗?
    Remove anonymous users?
    删除匿名用户?
    Disallow root login remotely?
    不允许远程root登录?
    Remove test database and access to it?
    删除测试数据库?
    Reload privilege tables now?
    现在重新加载权限表吗?

  7. 登录测试
    mysql -u root -p
    
    在这里插入图片描述
  8. 防火墙开放 3306 端口
    sudo firewall-cmd --permanent --add-port=3306/tcp
    sudo firewall-cmd --reload
    
  9. 允许远程访问
    CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  10. 用 Navicat 测试连接,正常情况显示连接成功
    在这里插入图片描述

四、安装 Swoole6

  1. 确保依赖环境

    sudo yum install -y gcc gcc-c++ make autoconf php-devel php-pear
    
  2. 安装依赖库(该步骤可选,根据需求安装)

    sudo yum install -y brotli brotli-devel openssl-devel libzstd libzstd-devel
    
  3. 安装 Swoole

    sudo pecl install swoole
    

    参数太多了,这里写一部分,其他参数的信息看官网

    功能支持 是否建议开启 理由与说明
    sockets ❌ 可不开启 用于原生 TCP/UDP 服务开发,v4.3.2 版本后 Swoole 内置的 Coroutine\Socket 可以完成大部分事情
    openssl ✅ 根据需求 如果需要 HTTPS / wss 支持(输入 yes
    mysqlnd ✅ 根据需求 如果使用 Swoole 的协程 MySQL 客户端,建议开启(输入 yes
    curl ❌ 可不开启 通常不依赖 Swoole 中的 curl 支持
    cares ❌ 可不开启 一般项目用不到高级 DNS 异步解析
    brotli ✅ 可开启 默认为 yes,压缩支持,可保留
    zstd ✅ 根据需求 高性能压缩算法,适合大数据量接口压缩,根据需求开启
    PostgreSQL ❌ 根据需求 使用 pgsql 才需要开启
    ODBC ❌ 基本不用 如果项目与 ODBC 数据库交互才需要
    Oracle ❌ 根据需求 需要 Oracle 支持才开启
    Sqlite ❌ 根据需求 基本不用,除非你有 sqlite 协程客户端需求
    swoole thread support ❌ 不开启 需要 PHP ZTS 支持,通常不开启
    iouring ✅ 根据需求 高级文件异步,普通项目不用

    在这里插入图片描述

  4. 启用 Swoole 扩展

    echo "extension=swoole.so" | sudo tee /etc/php.d/20-swoole.ini
    
  5. 验证是否安装成功,显示版本信息,说明安装成功

    php --ri swoole
    

    在这里插入图片描述

五、PHPStrom代码同步

  • 本地开发(Windows 11)+ 远程运行(CentOS 7 虚拟机),本地与虚拟机之间的项目文件实时同步(本地写代码,虚拟机运行)。如果虚拟机性能足够可以用 Remote Development,就不用这么麻烦
  1. 打开 PHPStorm,在顶部的菜单栏中选择 Tools/Deployment/Configuration...
    在这里插入图片描述
  2. 添加远程连接(SFTP 类型)
    在这里插入图片描述
    输入服务器名字
    在这里插入图片描述
    添加服务器
    在这里插入图片描述
    测试服务器是否连接正常
    在这里插入图片描述
    选择服务器和项目目录路径,然后点击 Mappings 选项卡
    在这里插入图片描述
    选择本地项目路径(一般自动填写当前项目)和项目路径,然后点击 OK在这里插入图片描述
  3. 开启自动上传
    在这里插入图片描述

六、PHPStorm连接远程终端

  1. 点击右下角 Terminal 面板,选择服务器
    在这里插入图片描述
    在这里插入图片描述
  2. 检测代码是否同步,下图可以看到同步成功在这里插入图片描述

七、PHPStrom安装swoole插件

  1. 打开设置
    在这里插入图片描述
  2. 搜索 Swoole IDE Helper,点击安装
    在这里插入图片描述

八、安装 Redis

  1. 检查是否安装了依赖

    rpm -q epel-release gcc jemalloc jemalloc-devel
    

    在这里插入图片描述

  2. 把没有安装的安装上

    sudo yum install -y  jemalloc jemalloc-devel
    
  3. 安装 Redis

    sudo yum install -y redis
    
  4. 启动 Redis 服务

    sudo systemctl start redis
    sudo systemctl enable redis
    
  5. 查看运行状态

    sudo systemctl status redis
    

    在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到