2017-11-13 4 views
0

Ich habe 2 Links: myserver.org und myserver.org/support Ich brauche erster Link zu /var/www/myserver.org folgen und an zweiter Stelle zu /var/www/support Meine Config jetzt: erste Datei & LinkProbleme mit zwei Standorten in nginx Config

server { 
    listen 80 default_server; 

    server_name groupmanager.org; 
    charset utf-8; 

    root /var/www/groupmanager.org; 
    index index.php; 

    location/{ 
     try_files $uri $uri/ /index.php?$query_string; 
    } 

    access_log /var/log/nginx/groupmanager.org_access.log; 
    error_log /var/log/nginx/groupmanager.org_error.log; 

    include /etc/nginx/templates/php-fpm.conf; 
} 

server { 
    listen 80; 

    server_name www.groupmanager.org; 
    rewrite ^(.*) http://groupmanager.org$1 permanent; 
} 

Zweite Datei & Link:

server { 
    listen 80; 

    server_name 163.172.88.31/support; 
    charset utf-8; 

    root /var/www/support; 
    index index.php; 

    access_log /var/log/nginx/support_access.log; 
    error_log /var/log/nginx/support_error.log; 

    include /etc/nginx/templates/php-fpm.conf; 
} 

server { 

    listen 80; 

    server_name www.163.172.88.31/support; 
    rewrite ^(.*) http://163.172.88.31/support$1 permanent; 
} 

php-fpm.conf

location ~ \.php$ { 
    try_files $uri =404; 
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

location ~ /\.ht { 
    deny all; 
} 

location ~* \.(gif|jpeg|jpg|txt|png|tif|tiff|ico|jng|bmp|doc|pdf|rtf|xls|ppt|rar|rpm|swf|zip|bin|exe|dll|deb|cur)$ { 
    expires 168h; 
} 

location ~* \.(css|js)$ { 
    expires 180m; 
} 

Erste Verbindung funktioniert, zweite - nein. Ich sehe '403 Forbidden' Was ist nicht richtig? Berechtigungen für Ordner sind die gleichen, denke ich, sie haben Recht.

Antwort

0

Dies funktioniert:

groupmanager.org.conf

server { 
    listen 80 default_server; 

    server_name groupmanager.org; 
    charset utf-8; 

    root /var/www/groupmanager.org; 
    index index.php; 

    location /support/ { 
     alias /var/www/support/; 
     index index.php; 

     access_log /var/log/nginx/support_access.log; 
     error_log /var/log/nginx/support_error.log; 

     location ~ \.php$ { 
      try_files $uri =404; 
      fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
      fastcgi_index index.php; 
      include fastcgi_params; 
      fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; 
     } 
    } 

    access_log /var/log/nginx/groupmanager.org_access.log; 
    error_log /var/log/nginx/groupmanager.org_error.log; 

    include /etc/nginx/templates/php-fpm.conf; 
} 


server { 
    listen 80; 

    server_name www.groupmanager.org; 
    rewrite ^(.*) http://groupmanager.org$1 permanent; 
} 

php-fpm.conf

location ~ \.php$ { 
    try_files $uri =404; 
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

location ~ /\.ht { 
    deny all; 
} 

location ~* \.(gif|jpeg|jpg|txt|png|tif|tiff|ico|jng|bmp|doc|pdf|rtf|xls|ppt|rar|rpm|swf|zip|bin|exe|dll|deb|cur)$ { 
    expires 168h; 
} 

location ~* \.(css|js)$ { 
    expires 180m; 
} 
1

Für beide /var/www/myserver.org und/var/www/support müssen Sie zwei separate Nginx-Konfigurationsdatei mit zwei verschiedenen Roots und Server-Namen machen.

außerdem, wenn Sie nur wollen, zwei Links zeigen Sie Setup nginx für ein und verbinden das zweite mit nur einem internen Link kann (wenn sie in der gleichen Seite)

+0

Jetzt benutze ich ip zugreifen. Zwei Dateien funktionieren nicht. Alle Anfragen folgen in der ersten Datei. –

+0

@EugeneUgozhaev Ich habe Ihren Punkt nicht verstanden –

0

wie Try this:

include /etc/nginx/default.d/*.conf; 
    server { 

     listen 80 default_server; 

     server_name myserver.org; 
     charset utf-8; 

     root /var/www/myserver.org; 
     index index.php; 

     include /etc/nginx/default.d/*.conf; 
     location/{ 
      try_files $uri $uri/ /index.php?$query_string; 
     } 

in /etc/nginx/default.d/ Verzeichnis eine Datei .config test.config:

location myserver.org { 
proxy_pass /myserver.org; 
} 
location myserver.org/support { 
proxy_pass /var/www/support; 
} 
+0

Nginx nimmt mich Fehler –

+0

Antwort aktualisiert .. – FuSsA

+0

Was ändert sich, wenn ich es zweimal schreibe? Ich sehe den gleichen Fehler. –