Puncte:0

Ar putea cineva să mă ghideze prin utilizarea legăturilor simbolice în nginx pentru modulele php?

drapel br

deci rulez un server ubuntu 20.04, cu Nginx pe el. După o săptămână grea, am reușit să o fac să ruleze normal, inclusiv php prin php-fpm.

Problema mea este că nu vreau sute de foldere în rădăcina site-ului meu web (setat la /var/www/www.my-domain.com/), așa că aș dori să pun toate extensiile legate de php pe care le instalez (cum ar fi ca phpmyadmin și IceCoder până acum) într-un alt folder (să spunem /var/php/) și leagă toate cererile de index php din folderul rădăcină (ca dacă aș tasta https://domeniul-meu.com/icecoder sau https://my-domain.com/phpmyadmin) pentru a mă redirecționa către folderul în care sunt fișierele lor index.php.

Problemele cu asta sunt:

  • mai întâi, nu știu cum să fac legătura simbolică să funcționeze (cunosc comanda „ln -s target destination”) dar nu funcționează niciodată.
  • în al doilea rând, că nu știu cum să configurez fișierul default.conf pentru a face acest lucru.

Am încercat să fac un simplu index.php cu <?php phpinfo();?> într-un folder /php din folderul meu rădăcină, dar când îl accesez prin browser, primesc o eroare „No file input setup”. Dacă încerc să accesez doar folderul menționat (de exemplu https://domeniul-meu.com/icecoder) Ajung pe site-ul meu, iar pentru acesta, adresa directă la acest fișier index.php funcționează... doar că primesc o stare „de lucru” pentru ore, textul dar nu css. Instrumentele de dezvoltare nici măcar nu se încarcă.

Iată fișierele mele de configurare (domeniul meu real este anonimizat sub domeniul meu):

  1. nginx.conf

     utilizator www-date;
     worker_proceses auto;
    
     error_log /var/log/nginx/error.log notificare;
     pid /var/run/nginx.pid;
    
    
     evenimente {
         conexiuni_muncitor 1024;
     }
    
    
     http {
         includ /etc/nginx/mime.types;
         #include /etc/nginx/sites-available/*.conf;
         #default_type application/octet-stream;
    
         #root /var/www;
         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;
     }
    
  2. implicit.conf

     Server {
         nume_server domeniul_meu.com;
    
         #access_log /var/log/nginx/host.access.log principal;
         root /var/www/www.my_domain.com;
         index index.html index.php;
    
         Locație / {
             try_files $uri /index.html index.php =404;
         }
    
         # 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;
         }
    
         error_page 404 /40x.html;
         locație = /40x.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_pass unix:/var/run/php/php7.4-fpm.sock;
             fastcgi_split_path_info ^(.+\.php)(/.+)$;
             fastcgi_index index.php;
             fastcgi_param PHP_VALUE open_basedir="/var/www/www.my_domain.com/:/var/www/www.my_domain.com/php/";
             include fastcgi_params;
    
         }
         # Parametrul SCRIPT_FILENAME este utilizat pentru determinarea PHP FPM
         # numele scriptului. Dacă nu este setat în fișierul fastcgi_params,
         # adică /etc/nginx/fastcgi_params sau în contextele părinte,
         # vă rugăm să comentați pe următorul rând:
         # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
         locație ~ /\.{ # le "~" indique une regex que "/" démarre, ici tout ce qui a un "." alt php sau html
             nega totul;
             access_log off;
             log_not_found off;
         }
    
         asculta 443 ssl; # gestionat de Certbot
         ssl_certificate /etc/letsencrypt/live/my_domain.com/fullchain.pem; # gestionat de Certbot
         ssl_certificate_key /etc/letsencrypt/live/my_domain.com/privkey.pem; # gestionat de Certbot
         includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
         ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
    
    
     }
    
     Server {
             asculta 80;
             nume_server www.domeniul_meu.com;
    
             returnează 301 https://$server_name$request_uri; # redirecționează solicitările http către site-ul web https
     }
    
     Server {
            asculta 80;
            asculta 443 ssl;
            nume_server domeniul_meu.com;
            returnează 301 http://www.my_domain.com$request_uri;
     }
    

aici este un ls -l al folderului rădăcină

-rw-r--r-- 1 www-data www-data 507 21 sept 20:03 40x.html
-rw-r--r-- 1 www-data www-data 507 21 sept 20:04 50x.html
drwxr-xr-x 6 www-data www-data 4096 26 august 23:45 active
-rw-r--r-- 1 www-data www-data 83243 Aug 27 02:19 favicon.ico
-rw-r--r-- 1 www-data www-data 25942 Aug 27 02:19 favicon.png
drwxr-xr-x 13 www-data www-data 4096 21 septembrie 17:34 ICE
-rw-r--r-- 1 www-data www-data 63175 21 septembrie 15:58 index.html
-rw-r--r-- 1 www-data www-data 19 sep 20 22:24 index.php
drwxr-xr-x 2 www-data www-data 4096 27 august 00:31 întreținere
drwxr-xr-x 15 www-data www-data 4096 21 septembrie 16:08 pagini
lrwxrwxrwx 1 root root 12 septembrie 21 21:36 php -> /var/www/php
drwxr-xr-x 6 www-data www-data 4096 8 septembrie 16:13 secțiuni

și a folderului /var/php

drwxr-xr-x 13 www-data www-data 4096 21 septembrie 17:34 icecoder
-rw-r--r-- 1 www-data www-data 19 sep 21 21:39 index.php
lrwxrwxrwx 1 root root 12 septembrie 21 21:48 php -> /var/www/php
drwxr-xr-x 2 www-data www-data 4096 21 septembrie 21:37 phpmyadmin

Toate folderele mele sunt în 755 și fișierele din interior în 644 mod.

Vă mulțumesc pentru orice ajutor pe care mi-l puteți oferi

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.