[gelöst] nginx und php

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

[gelöst] nginx und php

Beitrag von paulderfinne » 09.09.2020 15:15:43

Hallo liebe Gemeinde,

Ich habe einen ubuntu Server 16.04 im Netz mit nginx laufen und wollte, dass die Maschine auch php Files lesen und ausgeben kann.

Ich habe mich an die Anleitung von https://www.howtoforge.com/tutorial/ins ... -lts-lemp/ gehalten, ich habe also php7.0-fpm installiert. nginx war bereits auf dem Server drauf. Meine
/etc/nginx/sites-available/default sieht so aus:

Code: Alles auswählen

        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php7.0-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php7.0-fpm:
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #       
                location ~ /\.ht {
                deny all;
        }
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#       listen 80;
#       listen [::]:80;
#
#       server_name example.com;
#
#       root /var/www/example.com;
#       index index.html;
#
#       location / {
#               try_files $uri $uri/ =404;
#       }
#}

und die Zeile in /etc/php/7.0/fpm/php.ini ist auch nach Anleitung gesetzt:

Code: Alles auswählen

cgi.fix_pathinfo=0
Und ich habe sowohl nginx als auch php7 neu gestartet. Wenn ich nun ein php File öffne, zeigt mir firefox das in einem vim-Fenster. Und zwar so, wie ich es geschrieben habe, in php. Die php-Datei selbst ist simpelst:

Code: Alles auswählen

<?php phpinfo();

?>
Hat jemand eine Ahnung, wo ich da hinlangen soll?
Zuletzt geändert von paulderfinne am 10.09.2020 11:33:42, insgesamt 1-mal geändert.

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: nginx und php

Beitrag von schwedenmann » 09.09.2020 15:19:36

Hallo

php7 neu gestartet.

Meinst damit: php7.0-fpm.service ?

Wenn nicht, starte den entsprechenden Service.


mfg
schwedenmann

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: nginx und php

Beitrag von Lord_Carlos » 09.09.2020 15:24:49

paulderfinne hat geschrieben: ↑ zum Beitrag ↑
09.09.2020 15:15:43

Code: Alles auswählen

/run/php/php7.0-fpm.sock;
Stell mal sicher das der Pfad und die Datei existiert.

Das hier kann vielleicht helfen: https://stackoverflow.com/a/44757460/2001062

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: nginx und php

Beitrag von paulderfinne » 09.09.2020 15:31:58

Stell mal sicher das der Pfad und die Datei existiert.
tun sie:

Code: Alles auswählen

-rw-r--r--  1 root     root       5 Sep  9 14:02 php7.0-fpm.pid
srw-rw----  1 www-data www-data   0 Sep  9 13:46 php7.0-fpm.sock
/run/php# 

Code: Alles auswählen

Meinst damit: php7.0-fpm.service ?
Ja, meine ich

Leider bringt auch der Link nix.

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: nginx und php

Beitrag von paulderfinne » 09.09.2020 15:35:52

:hail: :hail: :hail: schwedenmann
ich hatte nur den php7.0-fpm gestartet ohe .service dahinter
Jetzt klappt das

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: nginx und php

Beitrag von paulderfinne » 09.09.2020 15:47:45

Und jetzt geht es wieder nicht mehr. Ich begreife das gar nicht. Gerade als ich

Code: Alles auswählen

systemctl start php7.0-fpm.service 
eigegeben habe hat die php Datei die richtige info ausgegeben. Und jetzt bekomme ich wieder das vim-Fenster.

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: nginx und php

Beitrag von schwedenmann » 09.09.2020 16:11:02

Hallo
eigegeben habe hat die php Datei die richtige info ausgegeben. Und jetzt bekomme ich wieder das vim-Fenster.
Ev. Browser cache.

bende mal den Browser und starte den Browser dann neu und dann ruf mal im Brwoser die php.info Datei auf.

mfg
schwedenmann

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: nginx und php

Beitrag von schwedenmann » 09.09.2020 16:15:22

Hallo


versuch mal
anstatt
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

mfg
schwedenmann

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: nginx und php

Beitrag von paulderfinne » 09.09.2020 17:15:43

Leider auch nicht.

Ich habe mittlerweile diese Seite gefunden:
https://www.it-swarm.dev/de/php/nginx-s ... 047735596/
Dort hat man genau mein Problem. Es gibt x Lösungsvorschläge, aber bisher verwirren die mich nur.

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: nginx und php

Beitrag von schwedenmann » 09.09.2020 17:41:04

Hallo


so siht bei mir die nginx deafult für /var/www/html aus, habs gerade gestestet und http://localhost/info.php liefert die netsprechende systeminfos zu php + nginx


server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
mfg
schwedenmann

P.S.
ich tippe auf Pfadfehler für php
/var/run...
mfg
schwedenmann

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: nginx und php

Beitrag von paulderfinne » 09.09.2020 18:02:55

Im prinzip sieht so meine default datei auch aus. Nur statt 7.4 eben 7.0.

Meine php-datei ist in einem per .htpasswd gesichreten Unterverzeichnis. Ob da was schiefgeht?

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: nginx und php

Beitrag von paulderfinne » 10.09.2020 11:32:56

Nun bin ich selber drauf gekommen. Die Zeilen aus default:

Code: Alles auswählen

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
müssen auch in der Konfigurationsdatei der Site hinein
:roll:

Antworten