首先确保系统是最新的:
sudo yum update -y
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
在浏览器中访问服务器的IP地址,应该能看到Nginx欢迎页面。
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php74w php74w-fpm php74w-cli php74w-common php74w-mysqlnd php74w-mbstring php74w-gd php74w-xml -y
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo vi /etc/php-fpm.d/www.conf
找到并修改以下行:
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
sudo systemctl restart php-fpm
编辑默认的 Nginx 配置文件:
sudo vi /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$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
sudo nginx -t
sudo systemctl restart nginx
创建测试 PHP 文件:
sudo vi /usr/share/nginx/html/info.php
添加以下内容:
<?php phpinfo(); ?>
在浏览器中访问 http://your_server_ip/info.php
,应该能看到 PHP 信息页面。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
sudo setsebool -P httpd_can_network_connect 1
502 Bad Gateway 错误:
systemctl status php-fpm
/var/run/php-fpm/
目录存在且有正确权限PHP 文件被下载而不是执行:
location ~ \.php$
块是否正确配置权限问题:
通过以上步骤,您应该已经成功在 CentOS 7 上安装并配置了 Nginx 和 PHP。