在 CentOS 上安装 Nginx 和 PHP 是一种常见的设置,用于搭建动态网站和应用程序。以下是一个详细的步骤指南,教你如何在 CentOS 7 或 CentOS 8 上安装和配置 Nginx 和 PHP。
步骤 1:更新系统
首先,确保你的系统是最新的。
sudo yum update -y
步骤 2:安装 EPEL 仓库
EPEL(Extra Packages for Enterprise Linux)仓库提供了许多额外的软件包,包括 Nginx。
sudo yum install epel-release -y
步骤 3:安装 Nginx
现在你可以安装 Nginx 了。
sudo yum install nginx -y
安装完成后,启动 Nginx 并设置开机自启。
sudo systemctl start nginx
sudo systemctl enable nginx
你可以通过访问服务器的 IP 地址来验证 Nginx 是否成功安装并运行。
步骤 4:安装 PHP 和 PHP-FPM
PHP-FPM(FastCGI Process Manager)是一个用于处理 PHP 请求的 FastCGI 实现,与 Nginx 配合得很好。
sudo yum install php php-fpm php-mysqlnd -y
你可以根据需要安装其他 PHP 模块。例如,要安装常用的 PHP 模块,可以使用以下命令:
sudo yum install php-xml php-mbstring php-json php-gd php-ldap php-zip -y
步骤 5:配置 PHP-FPM
编辑 PHP-FPM 的配置文件,确保它监听在 Nginx 可以访问的地址上。
sudo vi /etc/php-fpm.d/www.conf
找到 listen
指令,并确认它设置为:
listen = 127.0.0.1:9000
步骤 6:配置 Nginx 以使用 PHP-FPM
编辑 Nginx 的默认配置文件,以便它能够处理 PHP 请求。
sudo vi /etc/nginx/nginx.conf
在 http
块中,添加或修改以下指令,以确保 Nginx 可以处理 PHP 文件:
server {
listen 80;
server_name localhost;
# 设置根目录
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# 处理 PHP 文件
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 禁止访问 .htaccess 和 .htpasswd 文件
location ~ /\.ht {
deny all;
}
}
步骤 7:测试配置并重启服务
在重启服务之前,测试 Nginx 配置是否正确。
sudo nginx -t
如果测试通过,重启 Nginx 和 PHP-FPM 服务。
sudo systemctl restart nginx
sudo systemctl restart php-fpm
步骤 8:验证安装
创建一个简单的 PHP 文件来验证 PHP 是否可以正确运行。
sudo vi /usr/share/nginx/html/info.php
在文件中添加以下内容:
<?php
phpinfo();
?>
现在,通过访问 http://your_server_ip/info.php
,你应该能看到 PHP 配置页面。
完成
至此,你已经成功在 CentOS 上安装了 Nginx 和 PHP,并进行了基本的配置。你可以根据需要进一步自定义和扩展你的服务器设置。