Puncte:0

Browserul descarcă fișierul în loc să deschidă fișierele php

drapel br

Așadar, postez un răspuns, pentru că după reinstalarea de două ori curată, am setat lucrurile în mod diferit (după punctul meu de vedere). După cum am spus mai sus, mă confrunt cu o dilemă, deoarece niciuna dintre configurațiile pe care le am nu este aceeași cu orice alte răspunsuri pe care le-am putut găsi. De exemplu :

Dosarul meu /etc/nginx este în principiu alcătuit după cum urmează:

|- /etc/nginx/
| |- conf.d/
| | |- default.conf
| |
| |- fastcgi_params
| |- mime.tipuri
| |- modules/ -> /usr/lib/nginx/modules
| |- nginx.conf
| |- scgi_params
| |- uwsgi_params

Nu există /sites-available sau /sites-enabled așa cum se vede peste tot, fastcgi-php.conf menționat este de fapt un fastcgi_params în folderul rădăcină, implicit, prin urmare, nu este în folderul site-available.

Iată cele două fișiere de configurare pe care le am acum (domeniul ascuns sub my_domain.com): În primul rând: nginx.conf (aproape neatins)

    utilizator nginx;

worker_proceses auto;

notificare error_log /var/log/nginx/error.log;

pid /var/run/nginx.pid;


evenimente {
    conexiuni_muncitor 1024;

}

http {
    includ /etc/nginx/mime.types;
    includ /etc/nginx/sites-available/*.conf;
    aplicație de tip_default/octet-stream;


    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';



    access_log /var/log/nginx/access.log principal;
    sendfile activat;
    #tcp_nopush on;
    keepalive_timeout 65;
    #gzip activat;
    includ /etc/nginx/conf.d/*.conf;

}

În al doilea rând, /etc/nginx/conf.d/default.conf

    Server {
    asculta 80;
    nume_server domeniul_meu.com www.domeniul_meu.com;

    Locație / {
        root /var/www/www.my_domain.com;
        index index.php index.html index.htm;
    }

    #error_page 404 /404.html;

    # redirecționează paginile de eroare ale serverului către pagina statică /50x.html
    #
    pagina_eroare 500 502 503 504 /50x.html;
    locație = /50x.html {
        root /var/www/www.my_domain.com;
    }

    # proxy scripturile PHP către Apache care ascultă pe 127.0.0.1:80
    #
    #locație ~ \.php$ {
    # proxy_pass http://127.0.0.1;
    #}

    # treceți scripturile PHP către serverul FastCGI care ascultă pe 127.0.0.1:9000
    #
    locație ~ \.php$ {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        #if (!-f $document_root$fastcgi_script_name) {
        # return 404;
        #}
        root /var/www/www.my_domain.com;
    # fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
    

}

Am adăugat și o linie

text/php php;

la mim.tipuri De asemenea, îmi amintesc să șterg cache-ul my_domain din browserele pe care le folosesc (Firefox, Opera și Chrome).

Dar totuși, fișierul este descărcat.

Ce am făcut greșit ?

Edit: deoarece aș dori să fac un blog.my_domain.com, shop.my_domain.com și forum._mydomain.com, am creat folderul /site-available și /site-enabled, intenționez să creez un blog/forum/shop .my_domain.com.conf în fiecare folder cu același nume situat în /sites-available, dar aștept o configurație de lucru care să le facă vizibile în nginx.conf (cu o linie include, nu?).

Deci nu înțeleg cum funcționează aceste două foldere. Subdomeniile au înregistrarea CNAME setată la my_domain.com. Am citit și despre crearea unui link simbolic pentru aceste sub-site-uri web, dar nu prea știu de unde până unde? Multumesc din nou

Jurnalul de erori îmi spune că conexiunea la /var/run/php/ este refuzată. utilizatorul implicit este www-data www-data, dar utilizatorul meu implicit nginx este nginx (dacă îl schimb, nici măcar nu pornește.) Ar trebui să fac un

chown nginx:nginx /var/run/php/

?

Puncte:0
drapel th

Pentru a configura php trebuie să aveți o versiune de php-fpm instalată pe sistemul dumneavoastră. Și adăugați acest fragment la conf. nginx în fișierul Server bloc.

Trebuie să te schimbi php5-fpm la versiunea pe care ați instalat-o pe sistemul dvs.

  locație ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
Kl3m Michard avatar
drapel br
Mulțumesc, o voi încerca într-un minut. Scuze pentru întârziere, a trebuit să reinstalez de două ori înainte de a ajunge din nou acolo. Pot să vă deranjez pentru mai multe explicații? Le voi posta mai jos ca răspuns pentru mai mult practic.
Puncte:0
drapel gu

Îți lipsește un interpret PHP, NGINX are un articol pe wiki-ul său despre FPM.

Kl3m Michard avatar
drapel br
Mulțumesc, dar le-am urmat instrucțiunile de pe pagina respectivă. Încă nicio schimbare. Nu sunt un programator experimentat, majoritatea a ceea ce spun ei este ca o farfurie pentru mine. Ar vrea cineva să explice un pic mai mult? Mulțumesc mult.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.