Heim >Backend-Entwicklung >PHP-Tutorial >macos – Auf dem Mac konfigurierte PHP-Nginx-Umgebung. Beim Zugriff auf PHP-Dateien erfolgt der Download statt der Ausführung von PHP-Dateien.

macos – Auf dem Mac konfigurierte PHP-Nginx-Umgebung. Beim Zugriff auf PHP-Dateien erfolgt der Download statt der Ausführung von PHP-Dateien.

WBOY
WBOYOriginal
2016-12-01 01:27:392127Durchsuche

<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 Diese Datei konfiguriert Port 80. Warum ist Port 80 nicht zugänglich, aber auf Port 8080 kann zugegriffen werden

404-Fehler kann beim Zugriff auf Port 80 nicht gefunden werden

Antwortinhalt:

<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 Diese Datei konfiguriert Port 80. Warum ist Port 80 nicht zugänglich, aber auf Port 8080 kann zugegriffen werden

404-Fehler kann beim Zugriff auf Port 80 nicht gefunden werden

Zuerst benötigen Sie ein PHP-FPM, um PHP auszuführen, und konfigurieren es dann am richtigen Speicherort

Siehe meine 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>

Wenn Sie Fragen haben, können Sie nach Schlüsselwörtern suchen: nginx 连接 php-fpm
Die von mir bereitgestellte Methode ist die http-Methode. Sie können zur effizienteren Socket-Methode wechseln: socket nginx php-fpm

  • 404-Fehler, Sie können das error.log überprüfen

  • Haben Sie festgestellt, dass PHP-FPM und Nginx nicht kombiniert werden?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn