Le principal site Web statique (miroir) est situé dans: /home/mirrors/mirror
service PHP à partir d'un sous-répertoire en utilisant nginx + php-fpm
Je suis en train de site PHP configuration que dans le sous-répertoire /home/mirrors/mirror/phpweb/
. Jusqu'à présent, il charge PHP, mais toutes les images, liens css et url pointer vers /home/mirrors/mirror/filename*
au lieu de /home/mirrors/mirror/phpweb/filename*
J'ai essayé avec:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Mais que les résultats dans les journaux d'erreur démontrant:
FastCGI sent in stderr: "Unable to open primary script: /home/mirrors/mirror/phpweb/phpweb/index.php
le plus proche de config de travail est la mauvaise façon de définir le chemin avec:
fastcgi_param SCRIPT_FILENAME /home/mirrors/mirror$fastcgi_script_name;
Qu'est-ce que je néglige? Voici la config entière. Fondamentalement cela fonctionne sauf que les images/css/js ne sont pas pointées vers le répertoire phpweb /. Ma config semble manquer certaines lignes qui vont permettre la statique à l'intérieur de root/home/mirrors/mirror/phpweb; pour pointer vers ce dossier.
server {
listen 80;
listen 443 ssl http2;
server_name mirrors.domain.com;
if ($scheme = http) {
return 301 https://$http_host$request_uri;
}
location/{
root /home/mirrors/mirror;
index index.html index.htm;
include /home/mirrors/Nginx-Fancyindex-Theme/fancyindex.conf;
}
location /phpweb {
root /home/mirrors/mirror/phpweb;
index /phpweb/index.php;
}
location ~ /phpweb/.*\.php$ {
root /home/mirrors/mirror/phpweb;
# try_files $uri =404;
# try_files $uri $uri/ =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/mirrors/mirror$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Here's where I found a config example.
MISE À JOUR: config est ici mise à jour:
server {
listen 80;
listen 443 ssl http2;
server_name mirrors.domain.com;
root /home/mirrors/mirror;
if ($scheme = http) {
return 301 https://$http_host$request_uri;
}
location/{
index index.html index.htm;
include /home/mirrors/Nginx-Fancyindex-Theme/fancyindex.conf;
}
location /phpweb {
index /phpweb/index.php;
}
location ~ /phpweb/.*\.php$ {
try_files $uri =404;
# try_files $uri $uri/ =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_param SCRIPT_FILENAME /home/mirrors/mirror/phpweb$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
qui se traduit par:
Warning: include(/home/mirrors/mirror/include/site.inc): failed to open stream: No such file or directory in /home/mirrors/mirror/phpweb/include/prepend.inc on line 78
Warning: include(): Failed opening '/home/mirrors/mirror/include/site.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mirrors/mirror/phpweb/include/prepend.inc on line 78
Warning: include(/home/mirrors/mirror/include/langchooser.inc): failed to open stream: No such file or directory in /home/mirrors/mirror/phpweb/include/prepend.inc on line 81
Warning: include(): Failed opening '/home/mirrors/mirror/include/langchooser.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mirrors/mirror/phpweb/include/prepend.inc on line 81
Warning: include(/home/mirrors/mirror/include/ip-to-country.inc): failed to open stream: No such file or directory in /home/mirrors/mirror/phpweb/include/prepend.inc on line 84
Warning: include(): Failed opening '/home/mirrors/mirror/include/ip-to-country.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mirrors/mirror/phpweb/include/prepend.inc on line 84
Warning: include(/home/mirrors/mirror/include/layout.inc): failed to open stream: No such file or directory in /home/mirrors/mirror/phpweb/include/prepend.inc on line 87
Warning: include(): Failed opening '/home/mirrors/mirror/include/layout.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mirrors/mirror/phpweb/include/prepend.inc on line 87
Warning: include(/home/mirrors/mirror/include/last_updated.inc): failed to open stream: No such file or directory in /home/mirrors/mirror/phpweb/include/prepend.inc on line 92
Warning: include(): Failed opening '/home/mirrors/mirror/include/last_updated.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mirrors/mirror/phpweb/include/prepend.inc on line 92
Warning: include_once(/home/mirrors/mirror/include/releases.inc): failed to open stream: No such file or directory in /home/mirrors/mirror/phpweb/include/branches.inc on line 2
Warning: include_once(): Failed opening '/home/mirrors/mirror/include/releases.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mirrors/mirror/phpweb/include/branches.inc on line 2
Warning: include_once(/home/mirrors/mirror/include/version.inc): failed to open stream: No such file or directory in /home/mirrors/mirror/phpweb/include/branches.inc on line 3
Warning: include_once(): Failed opening '/home/mirrors/mirror/include/version.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mirrors/mirror/phpweb/include/branches.inc on line 3
Fatal error: Call to undefined function mirror_setcookie() in /home/mirrors/mirror/phpweb/index.php on line 44
précédemment (config d'origine collé dans ce post) il nous ne les erreurs PHP et les charges de la page. Mais les images/statiques ont été brisées comme décrit ci-dessus.
Merci. C'est ce que j'ai eu au début, mais il en résulte: Attention: include (/home/mirrors/mirror/include/site.inc): impossible d'ouvrir le flux: Aucun fichier ou répertoire dans/home/mirrors/mirror/phpweb/include/prepend.inc Environ 20 de ces lignes. Ce qui signifierait que je devrais définir manuellement le chemin dans le code fourni par PHP (http://php.net/mirroring.php). Espérons qu'il y a un moyen de configurer Nginx pour que le/phpweb/ne soit pas omis? Juste retourné à votre suggestion de configuration, mais seulement les erreurs PHP montrent, où comme avec la config originale au-dessus de la page charge mais toutes les statistiques et les liens omettent/phpweb /. : / – Hayden