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.
<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
<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?