在CentOS 7上安装和配置PHP、MySQL以及Nginx,可以按照以下步骤进行:
准备工作
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
)。
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官方源。
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用户密码,并将备份文件导入到指定的数据库中,如果数据库尚不存在,则需要先创建它。