Рейтинг:0

Может ли кто-нибудь помочь мне с использованием символических ссылок в модулях nginx для php?

флаг br

поэтому я использую сервер Ubuntu 20.04 с Nginx. После трудной недели мне удалось заставить его нормально работать, включая php через php-fpm.

Моя проблема в том, что мне не нужны сотни папок в корневом каталоге моего веб-сайта (установленном в /var/www/www.my-domain.com/), поэтому я хотел бы поместить все расширения, связанные с php, которые я устанавливаю (например, как phpmyadmin и IceCoder) в другой папке (скажем, /var/php/) и связать все запросы индекса php из корневой папки (например, если я наберу https://мой-домен.com/icecoder или же https://мой-домен.com/phpmyadmin), чтобы перенаправить меня в папку, где находятся их файлы index.php.

Проблемы с этим следующие:

  • во-первых, я не знаю, как заставить работать символическую ссылку (я знаю команду «ln -s target target»), но она никогда не работает.
  • во-вторых, я не знаю, как настроить файл default.conf, чтобы это произошло.

Я попытался надуть простой index.php с <?php phpinfo();?> внутри в папке /php в моей корневой папке, но когда я получаю к ней доступ через браузер, я получаю сообщение об ошибке «Нет настройки ввода файла». Если я попытаюсь просто получить доступ к указанной папке (например, https://мой-домен.com/icecoder) Я оказываюсь на своем веб-сайте, и для этого работает прямой адрес к этому файлу index.php ... за исключением того, что я получаю только «рабочее» состояние в течение нескольких часов, текст, но не css. Инструменты разработчика даже не загружаются.

Вот мои файлы конфигурации (мой реальный домен анонимизирован под моим доменом):

  1. nginx.conf

     www-данные пользователя;
     рабочие_процессы авто;
    
     error_log /var/log/nginx/error.log уведомление;
     pid /var/run/nginx.pid;
    
    
     События {
         worker_connections 1024;
     }
    
    
     http {
         включить /etc/nginx/mime.types;
         #include /etc/nginx/sites-available/*.conf;
         #default_type приложение/октет-поток;
    
         #корень /var/www;
         log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                           '$статус $body_bytes_sent "$http_referer" '
                           '"$http_user_agent" "$http_x_forwarded_for"';
    
         журнал_доступа /var/log/nginx/access.log основной;
    
         отправить файл включен;
         #tcp_npush включен;
    
         keepalive_timeout 65;
    
         #gzip включен;
    
         включить /etc/nginx/conf.d/*.conf;
     }
    
  2. default.conf

     сервер {
         имя_сервера мой_домен.com;
    
         #access_log /var/log/nginx/host.access.log main;
         корень /var/www/www.мой_домен.com;
         индекс index.html index.php;
    
         место расположения / {
             try_files $uri /index.html index.php =404;
         }
    
         # перенаправить страницы ошибок сервера на статическую страницу /50x.html
         #
         error_page 500 502 503 504 /50x.html;
         местоположение = /50x.html {
             корень /var/www/www.мой_домен.com;
         }
    
         страница_ошибки 404 /40x.html;
         местоположение = /40x.html {
             корень /var/www/www.мой_домен.com;
         }
    
    
         # проксировать PHP-скрипты для Apache, прослушивающего 127.0.0.1:80
         #
         #местоположение ~ \.php$ {
         # proxy_pass http://127.0.0.1;
         #}
    
         # передать PHP-скрипты серверу FastCGI, прослушивающему 127.0.0.1:9000
         #
         расположение ~ [^/]\.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/";
             включить fastcgi_params;
    
         }
         # Параметр SCRIPT_FILENAME используется для определения PHP FPM
         # имя скрипта. Если он не установлен в файле fastcgi_params,
         # т.е. /etc/nginx/fastcgi_params или в родительских контекстах,
         # прокомментируйте следующую строку:
         # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
         расположение ~/\.{ # le "~" indique une regex que "/" démarre, ici tout ce qui a un "." другой php или html
             отрицать все;
             доступ_лог выключен;
             log_not_found выключен;
         }
    
         слушать 443 ssl; # под управлением Certbot
         ssl_certificate /etc/letsencrypt/live/my_domain.com/fullchain.pem; # под управлением Certbot
         ssl_certificate_key /etc/letsencrypt/live/my_domain.com/privkey.pem; # под управлением Certbot
         включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
         ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
    
    
     }
    
     сервер {
             слушать 80;
             имя_сервера www.мой_домен.com;
    
             вернуть 301 https://$server_name$request_uri; # перенаправляет http запросы на сайт https
     }
    
     сервер {
            слушать 80;
            слушать 443 ssl;
            имя_сервера мой_домен.com;
            вернуть 301 http://www.my_domain.com$request_uri;
     }
    

вот ls -l корневой папки

-rw-r--r-- 1 www-data www-data 507 21 сен 20:03 40x.html
-rw-r--r-- 1 www-data www-data 507 21 сен 20:04 50x.html
drwxr-xr-x 6 www-data www-data 4096 26 августа 23:45 ресурсы
-rw-r--r-- 1 www-data www-data 83243 27 августа 02:19 favicon.ico
-rw-r--r-- 1 www-data www-data 25942 27 августа 02:19 favicon.png
drwxr-xr-x 13 www-data www-data 4096 21 сентября 17:34 ICE
-rw-r--r-- 1 www-data www-data 63175 21 сентября 15:58 index.html
-rw-r--r-- 1 www-data www-data 19 сен 20 22:24 index.php
drwxr-xr-x 2 www-data www-data 4096 27 августа 00:31 обслуживание
drwxr-xr-x 15 www-data www-data 4096 21 сентября 16:08 страницы
lrwxrwxrwx 1 root root 12 сен 21 21:36 php -> /var/www/php
drwxr-xr-x 6 www-data www-data 4096 8 сентября 16:13 разделы

и папки /var/php

drwxr-xr-x 13 www-data www-data 4096 21 сентября 17:34 icecoder
-rw-r--r-- 1 www-data www-data 19 сен 21 21:39 index.php
lrwxrwxrwx 1 root root 12 21 сентября 21:48 php -> /var/www/php
drwxr-xr-x 2 www-данные www-данные 4096 21 сентября 21:37 phpmyadmin

Все мои папки в 755 и файлы внутри в 644 моде.

Спасибо за любую помощь, которую вы можете мне дать

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.