当前位置:网站首页 >  攻略

从零搭建可复用本地通用服务器测试环境:CentOS Stream8+Nginx+PHP-FPM+MySQL

时间:2026年06月04日 01:56:54 来源:易频IT社区

前置准备

本次搭建使用VirtualBox模拟本地服务器宿主,CentOS Stream8作为操作系统,确保你已准备好以下资源:

1.1 创建VirtualBox虚拟机

1. 打开VirtualBox,点击「新建」,输入虚拟机名称(如local-test-server),类型选「Linux」,版本选「Red Hat (64-bit)」,点击下一步;

2. 分配内存:物理主机内存4GB给2GB,8GB及以上给4GB,点击下一步;

3. 创建虚拟硬盘:选「现在创建虚拟硬盘」→ 下一步 → VDI格式 → 下一步 → 动态分配 → 分配空间≥20GB → 创建;

4. 配置网络:选中新建的虚拟机,点击「设置」→「网络」→「网卡1」→连接方式选「桥接网卡」(可让虚拟机和物理主机同网段,直接访问)→ 界面名称选物理主机正在用的网卡(有线选以太网,无线选WLAN)→ 确定。

1.2 安装CentOS Stream8

1. 启动虚拟机,加载CentOS Stream8 DVD ISO镜像(首次启动会自动提示,选刚才下载的ISO即可);

2. 进入安装界面,选「Install CentOS Stream 8」,按回车;

3. 语言选「中文(简体)」,点击继续;

4. 点击「安装目的地」→ 选之前创建的虚拟硬盘 → 点击「完成」(自动分区);

5. 点击「网络和主机名」→ 打开以太网开关(显示已连接)→ 主机名可设为test-server → 点击应用 → 完成;

6. 点击「根密码」→ 设置root密码(建议简单易记,如123456)→ 点击完成(需点击两次确认弱密码);

7. 点击「开始安装」→ 等待安装完成(约10-20分钟)→ 点击「重启」

环境基础配置

重启后进入CentOS登录界面,输入用户名root,密码123456登录,进入命令行。

2.1 配置国内YUM源

1. 备份原YUM源:

``` cd /etc/yum.repos.d/ mkdir backup mv CentOS- backup/ ```

2. 下载阿里CentOS Stream8源:

``` curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo ```

3. 替换$releasever变量为stream8:

``` sed -i 's/$releasever/8-stream/g' /etc/yum.repos.d/CentOS-Base.repo ```

4. 清理并生成YUM缓存:

``` yum clean all yum makecache ```

2.2 关闭防火墙和SELinux

测试环境无需开启安全规则,避免访问受限:

``` 关闭防火墙并禁止开机自启 systemctl stop firewalld systemctl disable firewalld 临时关闭SELinux setenforce 0 永久关闭SELinux(修改配置文件) vi /etc/selinux/config ```

进入vi编辑器后,按i键进入插入模式,找到SELINUX=enforcing改为SELINUX=disabled,按Esc键退出插入模式,输入:wq保存并退出。

软件安装

3.1 安装Nginx

1. 添加Nginx官方YUM源:

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

插入以下内容(可直接复制):

``` [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/8/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true ```

2. 保存退出后安装Nginx:

``` yum install -y nginx ```

3. 启动Nginx并禁止开机自启:

``` systemctl start nginx systemctl enable nginx ```

4. 验证安装:查看虚拟机IP(命令:ip a,找到桥接网卡对应的inet地址,如192.168.1.100),在物理主机浏览器输入该IP,出现Nginx欢迎页即为成功。

3.2 安装MySQL 8.0

1. 添加MySQL官方YUM源:

``` yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-9.noarch.rpm ```

从零搭建可复用本地通用服务器测试环境:CentOS Stream8+Nginx+PHP-FPM+MySQL

2. 安装MySQL Server:

``` yum install -y mysql-community-server ```

3. 启动MySQL并禁止开机自启:

``` systemctl start mysqld systemctl enable mysqld ```

4. 获取临时root密码:

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

复制输出的临时密码(如:<%aB3cD4eF5g)。

5. 修改root密码并配置远程访问:

``` mysql -uroot -p ```

粘贴临时密码登录后,依次执行以下SQL语句(可直接复制,密码可改为123456,如需复杂密码请自行调整):

```sql -- 修改临时密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; -- 允许root用户远程访问(%表示任意IP) CREATE USER 'root'@'%' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; -- 退出MySQL exit; ```

3.3 安装PHP-FPM 8.2

1. 添加Remi YUM源(提供最新PHP版本):

``` yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm ```

2. 启用PHP 8.2模块:

``` yum module enable -y php:remi-8.2 ```

3. 安装PHP-FPM及常用扩展:

``` yum install -y php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip ```

4. 修改PHP-FPM配置文件,适配Nginx:

``` vi /etc/php-fpm.d/www.conf ```

找到并修改以下两行(按i插入,Esc退出,:wq保存):

  • user = apacheuser = nginx
  • group = apachegroup = nginx

5. 启动PHP-FPM并禁止开机自启:

``` systemctl start php-fpm systemctl enable php-fpm ```

配置Nginx与PHP-FPM的关联

1. 备份默认Nginx配置文件:

``` mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak ```

2. 创建新的Nginx配置文件:

``` vi /etc/nginx/conf.d/test.conf ```

插入以下内容(可直接复制,无需修改):

``` server { listen 80; server_name _; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ```

3. 验证Nginx配置语法:

``` nginx -t ```

出现syntax is oktest is successful即为正确。

4. 重启Nginx使配置生效:

``` systemctl restart nginx ```

验证环境可用性

1. 创建PHP探针文件:

``` vi /usr/share/nginx/html/info.php ```

插入以下内容:

```php ```

保存退出后,在物理主机浏览器输入http://虚拟机IP/info.php(如192.168.1.100/info.php),出现PHP配置信息页面即为PHP与Nginx关联成功。

2. 创建MySQL连接测试文件:

``` vi /usr/share/nginx/html/mysql_test.php ```

插入以下内容(可直接复制,密码改为你设置的MySQL root密码):

```php connect_error) { die('MySQL连接失败:' . $conn->connect_error); } echo 'MySQL连接成功!'; $conn->close(); ?> ```

保存退出后,在物理主机浏览器输入http://虚拟机IP/mysql_test.php,出现“MySQL连接成功!”即为MySQL与PHP关联成功。

后续优化建议

1. 可在VirtualBox中为虚拟机创建快照,后续环境出问题可直接恢复;

2. 可在物理主机配置hosts文件(Windows在C:\Windows\System32\drivers\etc\hosts,macOS/Linux在/etc/hosts),添加“虚拟机IP test.local”,方便用域名访问测试环境;

3. 如需部署代码,可使用WinSCP(Windows)或FileZilla(跨平台)工具连接虚拟机(协议SFTP,端口22,用户名root,密码123456),将代码上传至/usr/share/nginx/html目录。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图