在 CentOS 上安装 PHP 和 MySQL,可以按照以下步骤进行,这些步骤包括更新系统、安装必要的软件包、配置数据库、以及测试环境等。
更新系统
确保你的系统是最新的,使用以下命令来更新软件包:
sudo yum update y
安装 EPEL 存储库(如果未安装)
EPEL(Extra Packages for Enterprise Linux)存储库包含许多有用的软件包,它们可能不在默认的 CentOS 存储库中。
sudo yum install epelrelease y
安装 MariaDB(替代 MySQL)
CentOS 默认的 MySQL 版本是 MariaDB,它是一个开源的关系型数据库管理系统,与 MySQL 高度兼容。
1、安装 MariaDB 服务器
```bash
sudo yum install mariadbserver y
```
2、启动并启用 MariaDB 服务
```bash
sudo systemctl start mariadb
sudo systemctl enable mariadb
```
3、配置 MariaDB
运行mysql_secure_installation
脚本来增强 MariaDB 的安全性:
```bash
sudo mysql_secure_installation
```
按提示操作,设置 root 密码,删除匿名用户,禁止远程 root 登录,移除测试数据库,重新加载权限表等。
4、验证 MariaDB 安装
```bash
mysql version
```
安装 PHP
CentOS 提供了多个 PHP 版本的存储库,这里以安装 PHP 7.4 为例。
1、安装 PHP 及其扩展
```bash
sudo yum install php phpcli phpfpm phpmysqlnd y
```
2、启动并启用 PHPFPM 服务
```bash
sudo systemctl start phpfpm
sudo systemctl enable phpfpm
```
3、验证 PHP 安装
创建一个信息文件info.php
如下:
```php
<?php
phpinfo();
?>
```
将该文件放到 Web 根目录(例如/var/www/html
),然后在浏览器中访问http://your_server_ip/info.php
,你应该能看到 PHP 的信息页面。
五、配置 Web 服务器(以 Nginx 为例)
为了完整地展示如何让 PHP 和 MariaDB 工作起来,下面以 Nginx 为例进行配置。
1、安装 Nginx
```bash
sudo yum install nginx y
```
2、启动并启用 Nginx
```bash
sudo systemctl start nginx
sudo systemctl enable nginx
```
3、配置 Nginx 支持 PHP
编辑 Nginx 配置文件/etc/nginx/conf.d/default.conf
,添加以下内容:
```nginx
server {
listen 80;
server_name your_domain_or_IP;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/phpfpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
替换your_domain_or_IP
为你的实际域名或 IP 地址。
4、重启 Nginx
```bash
sudo systemctl restart nginx
```
5、验证 PHP 与 Nginx 集成
在/var/www/html
目录下创建info.php
文件,内容为:
```php
<?php
phpinfo();
?>
```
然后在浏览器中访问http://your_server_ip/info.php
,应该能看到 PHP 信息页面。
相关问答FAQs
1、Q: 如果忘记 MariaDB root 密码怎么办?
A: 你可以通过以下步骤重置 MariaDB root 密码:
```bash
sudo systemctl stop mariadb
sudo mysqld_safe skipgranttables &
```
以安全模式连接到 MariaDB:
```bash
mysql u root
```
在 MariaDB Shell 中执行以下命令来重置密码:
```sql
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
退出 MariaDB shell,重新启动 MariaDB 服务:
```bash
sudo systemctl start mariadb
```
2、Q: 如何在 CentOS 上切换到不同的 PHP 版本?
A: CentOS 提供了 Remi's RPM 存储库,其中包含了多个 PHP 版本,你可以按照以下步骤安装和切换 PHP 版本:
```bash
sudo yum install HTTPS://rpms.remirepo.net/enterprise/remirelease7.rpm
sudo yum install yumutils
sudo yumconfigmanager enable remiphp74 # 切换到 PHP 7.4,可以根据需要选择其他版本
sudo yum install php phpcli phpfpm phpmysqlnd y
sudo systemctl restart phpfpm
```
这样你就可以安装并切换到所需的 PHP 版本了。