nginx配置之php路径配置,nginx 配置路径

发布时间:2022-11-21

本文目录一览:

  1. [如何正确配置Nginx + PHP](#如何正确配置Nginx + PHP)
  2. 如何正确配置Nginx+PHP
  3. [如何正确配置 Nginx 和 PHP](#如何正确配置 Nginx 和 PHP)
  4. linux下nginx 需要配置php路径吗
  5. nginx配置支持php

如何正确配置Nginx + PHP

2.在nginx.conf中加入下面一段配置

location ~ \.php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
    include fastcgi_params;
}

/usr/local/nginx/html/$fastcgi_script_name; 这里我写的是php的绝对路径,你可以修改成相应的。

如何正确配置Nginx+PHP

其实没多复杂

  1. 将nginx和php都装好了
  2. 然后配置nginx,将php请求分发给php-fpm处理
  3. linux下的配置文件一般在/usr/local/nginx/conf/nginx.conf
  4. 找到下面字样,并取消注释,且注意这个$document_root这个地方(原本应为$script***的,改成$document_root
location ~ \.php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

3.启动nginx和php-fpm,然后写个phpinfo脚本测试下成功与否就可以了

如何正确配置 Nginx 和 PHP

直接贴上代码逐行进行讲解,此处贴出一个能正常启动php脚本的最简nginx vhost配置:

server {
    listen 8011;
    server_name test.cn;
    location ~ \.php?.*$ {
        root /share/test;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
  1. 第一个大括号 server{ }:不必多说,代表一个独立的server
  2. listen 8011:代表该server监听8011端口
  3. location ~ \.php?.*$ { }:代表一个能匹配对应uri的location,用于匹配一类uri,并对所匹配的uri请求做自定义的逻辑、配置。这里的location,匹配了所有带.php的uri请求,例如:
  4. root /share/test:请求资源根目录,告诉匹配到该location下的uri到/share/test文件夹下去寻找同名资源。
  5. fastcgi_pass 127.0.0.1:9000:这行开始是本文的重点:这行代码的意思是,将进入到该location内的uri请求看做是cgi程序,并将请求发送到9000端口,交由php-fpm处理。
  6. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;:这行配置意思是:动态添加了一行fastcgi配置,配置内容为SCRIPT_FILENAME,告知管理进程,cgi脚本名称。由于我的nginx中只有fastcgi_params文件,没有fastcgi.conf文件,所以要使php-fpm知道SCRIPT_FILENAME的具体值,就必须要动态的添加这行配置。
  7. include fastcgi_params; 引入fastcgi配置文件 以上就是最简洁版的nginx启动php脚本的最简配置,当重启nginx之后,在/share/test目录下创建一个xx.php文件,输入:
<?php
echo "hello world";
?>

保存,然后在浏览器中访问localhost:8011/xx.php就可以在网页上显示hello world了。

linux下nginx 需要配置php路径吗

需要。 如果是nginx+php配置,也可以通过查找php执行路径

ps aux | grep php

如,路径为:

/usr/local/nginx/sbin/php-fpm

然后执行以下命令:

/usr/local/nginx/sbin/php-fpm -i | grep "Loaded Configuration File"

即可看到php加载的配置文件。

nginx配置支持php

nginx本身不支持php解析,需要配合php-fpm来配置。

location ~ \.php$ {
    root /var/www; #指定php的根目录
    fastcgi_pass 127.0.0.1:9000; #php-fpm的默认端口是9000
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

centos下安装php-fpm(php及其它组件已经安装过的情况):

yum install php-fpm

启动php-fpm 并设置开机启动(centos 7):

systemctl start php-fpm
systemctl enable php-fpm