HCRM博客

如何在 CentOS 7 上安装和配置 PHP 和 MySQL?

在CentOS 7上安装和配置PHP、MySQL以及Nginx,可以按照以下步骤进行:

准备工作

1、系统更新:确保系统是最新的。

如何在 CentOS 7 上安装和配置 PHP 和 MySQL?-图1
(图片来源网络,侵权删除)
   sudo yum update y

2、安装EPEL源:EPEL(Extra Packages for Enterprise Linux)是由Fedora社区打造的一套软件包,为RHEL/CentOS用户提供了更多软件包选择。

   sudo yum install epelrelease y

3、安装Remi源:Remi源提供了多个PHP版本的支持。

   sudo rpm Uvh http://rpms.remirepo.net/enterprise/remirelease7.rpm

安装Nginx

1、安装Nginx:使用yum命令安装Nginx。

   sudo yum install nginx y

2、启动Nginx:启动Nginx服务并设置为开机自启动。

   sudo systemctl start nginx
   sudo systemctl enable nginx

3、测试Nginx:在浏览器中输入服务器的IP地址,如果看到欢迎页面,则说明Nginx已成功安装。

安装PHP

1、安装PHP及其扩展:安装PHP以及常用的扩展,如phpmysqlnd(用于替换phpmysql)。

如何在 CentOS 7 上安装和配置 PHP 和 MySQL?-图2
(图片来源网络,侵权删除)
   sudo yum install php phpmysqlnd phpfpm y

2、配置PHP:编辑PHP配置文件/etc/php.ini,取消注释以启用某些设置。

   sudo vim /etc/php.ini
   # 找到 ;cgi.fix_pathinfo=1,去掉前面的分号,改为 cgi.fix_pathinfo=1

3、配置PHPFPM:编辑PHPFPM配置文件/etc/phpfpm.d/www.conf,将用户组从nobody改为nginx

   sudo vim /etc/phpfpm.d/www.conf
   # 将 user = nobody 改为 user = nginx
   # 将 group = nobody 改为 group = nginx

4、启动PHPFPM:启动PHPFPM服务并设置为开机自启动。

   sudo systemctl start phpfpm
   sudo systemctl enable phpfpm

5、验证PHP安装:在/usr/share/nginx/html目录下创建phpinfo.php如下:

   <?php phpinfo(); ?>

然后在浏览器中访问http://your_server_ip/phpinfo.php,如果看到PHP信息页面,则说明PHP已成功安装和配置。

安装MySQL

1、添加MySQL源:下载并安装MySQL官方源。

如何在 CentOS 7 上安装和配置 PHP 和 MySQL?-图3
(图片来源网络,侵权删除)
   wget https://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm
   sudo rpm ivh mysql80communityreleaseel73.noarch.rpm

2、安装MySQL服务器:使用yum命令安装MySQL服务器。

   sudo yum install mysqlcommunityserver y

3、启动MySQL服务:启动MySQL服务并设置为开机自启动。

   sudo systemctl start mysqld
   sudo systemctl enable mysqld

4、安全配置MySQL:运行mysql_secure_installation进行安全配置,包括设置Root密码、删除匿名用户、禁止远程root登录等。

   sudo mysql_secure_installation

5、验证MySQL安装:使用mysql命令登录MySQL,创建数据库和表以验证安装是否成功。

配置Nginx支持PHP

1、编辑Nginx配置文件:编辑/etc/nginx/nginx.conf文件,在server块中添加对PHP的支持。

   sudo vim /etc/nginx/nginx.conf
   server {
       listen       80 default_server;
       listen       [::]:80 default_server;
       server_name  _;
       root         /usr/share/nginx/html;
       index        index.php index.html index.htm;
       location / {
           try_files $uri $uri/ =404;
       }
       error_page  404              /404.html;
       location = /40x.html {
       }
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
       }
       location ~ \.php$ {
           try_files $uri =404;
           fastcgi_pass unix:/run/phpfpm/phpfpm.sock;
           fastcgi_index index.php;
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           include fastcgi_params;
       }
   }

2、重启Nginx:重启Nginx服务以应用更改。

   sudo systemctl restart nginx

FAQs

1、如何卸载PHP、MySQL或Nginx?

卸载PHP:使用yum remove命令卸载PHP及其相关组件。sudo yum remove php phpmysqlnd phpfpm y

卸载MySQL:同样使用yum remove命令卸载MySQL。sudo yum remove mysqlcommunityserver y,注意,这不会删除数据目录,需要手动删除。

卸载Nginx:使用yum remove命令卸载Nginx。sudo yum remove nginx y

2、如何备份和恢复MySQL数据库?

备份数据库:使用mysqldump工具备份数据库,要备份名为mydb的数据库,可以运行:mysqldump u root p mydb > mydb_backup.sql,这将提示输入MySQL Root用户密码,并将数据库备份到当前目录下的mydb_backup.sql文件中。

恢复数据库:使用mysql命令恢复数据库,要恢复名为mydb的数据库,可以运行:mysql u root p mydb < mydb_backup.sql,这将提示输入MySQL root用户密码,并将备份文件导入到指定的数据库中,如果数据库尚不存在,则需要先创建它。

分享:
扫描分享到社交APP
上一篇
下一篇