配置 CentOS 服务器以运行 Nginx、PHP 和 MySQL 是一个常见的任务,特别是在搭建 LAMP(Linux, Apache, MySQL, PHP)环境时,以下是详细的步骤和图解指南:
安装 Nginx
1.1 添加 EPEL 仓库
sudo yum install epelrelease y
1.2 安装 Nginx
sudo yum install nginx y
1.3 启动并设置 Nginx 开机自启
sudo systemctl start nginx sudo systemctl enable nginx
1.4 验证 Nginx 是否安装成功
在浏览器中访问你的服务器 IP 地址,如果看到 Nginx 的欢迎页面,说明安装成功。
安装 PHP
2.1 安装 PHP 和相关扩展
sudo yum install php phpfpm phpmysqlnd y
2.2 启动并设置 PHPFPM 开机自启
sudo systemctl start phpfpm sudo systemctl enable phpfpm
2.3 配置 Nginx 使用 PHPFPM
编辑 Nginx 配置文件/etc/nginx/conf.d/default.conf
,确保以下内容存在:
server { listen 80; server_name your_domain_or_IP; root /usr/share/nginx/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; } }
2.4 重启 Nginx
sudo systemctl restart nginx
安装 MySQL
3.1 添加 MySQL Yum Repository
下载并添加官方的 MySQL Yum Repository:
wget https://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm sudo rpm ivh mysql80communityreleaseel73.noarch.rpm
3.2 安装 MySQL
sudo yum install mysqlserver y
3.3 启动并设置 MySQL 开机自启
sudo systemctl start mysqld sudo systemctl enable mysqld
3.4 获取临时密码并修改 root 密码
sudo grep 'temporary password' /var/log/mysqld.log
使用上一步获取的临时密码登录 MySQL,然后修改 root 密码:
mysql u root p ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
测试 PHP 和 MySQL 连接
4.1 创建测试文件
在 Nginx 根目录/usr/share/nginx/html
下创建一个info.php
文件:
<?php phpinfo(); ?>
4.2 访问测试文件
在浏览器中访问http://your_domain_or_IP/info.php
,如果能看到 PHP 信息页面,说明 PHP 和 MySQL 已经正确配置。
防火墙配置(可选)
如果你启用了防火墙,需要允许 HTTP 和 HTTPS 流量:
sudo firewallcmd permanent zone=public addservice=http sudo firewallcmd permanent zone=public addservice=https sudo firewallcmd reload
通过以上步骤,你已经成功在 CentOS 上配置了 Nginx、PHP 和 MySQL,这些步骤包括安装软件包、配置服务、以及进行基本测试,根据实际需求,你可能还需要进一步优化配置或安装其他扩展。