在 Nginx 中配置 PHP,通常需要使用 PHP-FPM来处理 PHP 文件的请求。以下是一步步配置 Nginx 以支持 PHP 的方法:
确定已经安装 PHP 和 PHP-FPM。如果还没有安装,可以通过包管理器进行安装。例如:
sudo yum install epel-release sudo yum install php php-fpm
确保 PHP-FPM 服务已经启用并正在运行:
sudo systemctl start php-fpm sudo systemctl enable php-fpm
编辑你的 Nginx 配置文件,通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/default.conf
。
在 server
块内添加如下配置,以处理 PHP 文件:
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$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
确保 fastcgi_params
文件中包含以下配置(通常在 /etc/nginx/
中):
fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param REDIRECT_STATUS 200;
在对配置文件进行修改后,重启 Nginx 和 PHP-FPM 服务以使更改生效:
sudo systemctl restart nginx sudo systemctl restart php-fpm
创建一个 info.php
文件以验证 PHP 是否正常工作:
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php
访问 http://your_domain_or_IP/info.php
。如果看到关于 PHP 的详细信息页面,说明 PHP 已成功配置。
通过上面的步骤,Nginx 能够正确处理 PHP 文件。如果遇到问题,请检查 Nginx 和 PHP-FPM 的错误日志获取更多诊断信息。
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。