macos - mac 配置的PHP Nginx 环境 访问php文件出现下载而不是执行php文件

WBOY
发布: 2023-03-02 12:24:01
原创
2111 人浏览过

<code>vim /usr/local/etc/nginx/sites-available/default
</code>
登录后复制
登录后复制
<code>server {
    listen       80;
    server_name  localhost;
    root         /var/www/;

    access_log  /usr/local/var/logs/nginx/default.access.log  main;

    location / {
        index  index.html index.htm index.php;
        autoindex   on;
        include     /usr/local/etc/nginx/conf.d/php-fpm;
    }

    location = /info {
        allow   127.0.0.1;
        deny    all;
        rewrite (.*) /.info.php;
    }

    error_page  404     /404.html;
    error_page  403     /403.html;
}
</code>
登录后复制
登录后复制
<code>/usr/local/etc/nginx/nginx.conf
</code>
登录后复制
登录后复制
<code>worker_processes  1;

error_log   /usr/local/var/logs/nginx/error.log debug;


pid        /usr/local/var/run/nginx.pid;


events {
    worker_connections  256;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /usr/local/var/logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;
    port_in_redirect off;

    include /usr/local/etc/nginx/sites-enabled/*;
}

</code>
登录后复制
登录后复制

/usr/local/etc/nginx/sites-available/default 这个文件配置的是80端口,为啥80端口不能访问, 但是8080 可以访问

80 端口访问都是出现404 错误找不到

回复内容:

<code>vim /usr/local/etc/nginx/sites-available/default
</code>
登录后复制
登录后复制
<code>server {
    listen       80;
    server_name  localhost;
    root         /var/www/;

    access_log  /usr/local/var/logs/nginx/default.access.log  main;

    location / {
        index  index.html index.htm index.php;
        autoindex   on;
        include     /usr/local/etc/nginx/conf.d/php-fpm;
    }

    location = /info {
        allow   127.0.0.1;
        deny    all;
        rewrite (.*) /.info.php;
    }

    error_page  404     /404.html;
    error_page  403     /403.html;
}
</code>
登录后复制
登录后复制
<code>/usr/local/etc/nginx/nginx.conf
</code>
登录后复制
登录后复制
<code>worker_processes  1;

error_log   /usr/local/var/logs/nginx/error.log debug;


pid        /usr/local/var/run/nginx.pid;


events {
    worker_connections  256;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /usr/local/var/logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;
    port_in_redirect off;

    include /usr/local/etc/nginx/sites-enabled/*;
}

</code>
登录后复制
登录后复制

/usr/local/etc/nginx/sites-available/default 这个文件配置的是80端口,为啥80端口不能访问, 但是8080 可以访问

80 端口访问都是出现404 错误找不到

首先你需要一个 php-fpm 来跑 php,然后还要把它配置到正确的位置

参考我的 conf:

<code>server {
  listen 80;

  server_name xxxxxx;

  index index.php;

  root /usr/www/web-sites/xxxxxx;

  error_log /var/log/nginx/xxxxxx.xxx.error.log;
  access_log /var/log/nginx/xxxxxx.xxx.access.log;

  location / {
      try_files $uri /index.php$is_args$args;
  }

  location ~ ^/.+\.php(/|$) {
    fastcgi_pass php_fpm:9000;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
    expires 1d;
  }
}</code>
登录后复制

有问题可以搜索关键字:nginx 连接 php-fpm
我提供的这种是 http 方式,你可以换用效率更高的 socket 方式,关键字:socket nginx php-fpm

  • 404错误你可以看看error.log日志

  • 你有没有发现php-fpm和nginx没有结合?

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!