Каждый раз перенаправлять на Welcome to nginx

Не могу понять, почему nginx продолжает перенаправлять на страницу «Добро пожаловать в nginx». Я пытаюсь установить и запустить приложение с открытым исходным кодом (ответ на вопрос 2). Просто пытаюсь сначала запустить его локально на моей виртуальной машине.

Я нахожусь на бродячей машине vm. Убунту под управлением 16.04. Я отредактировал файлы /etc/hosts на своем локальном компьютере, чтобы они соответствовали файлам в моем бродячем ящике. Я пробовал разные учебники, а также SO, но все равно перенаправлял на страницу приветствия.

Это мой серверный файл

server {

    #Nginx should listen on port 80 for requests to yoursite.com
    listen 80;
    listen [::]:80;              

    #Create access and error logs in /var/log/nginx
    access_log /var/log/nginx/yoursite.access_log main;
    error_log /var/log/nginx/yoursite.error_log info;

    #Nginx should look in /var/www/q2a for website
    root /var/www/q2a.org/q2a/;


    #The homepage of your website is a file called index.php
     index.php;

    server_name local-q2a.org;         

    #Specifies that Nginx is looking for .php files
    location ~ \.php$ {
            #If a file isn’t found, 404
            try_files $uri =404;

            #Include Nginx’s fastcgi configuration
            include /etc/nginx/fastcgi.conf;

            #Look for the FastCGI Process Manager at this location
            fastcgi_pass unix:/run/php/php7.1-fpm.sock;

            fastcgi_param HTTP_X_FORWARDED_FOR 
$http_x_forwarded_for;                                      
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
        }
}

Я пытаюсь заставить приложение работать хотя бы локально.


person Community    schedule 18.04.2019    source источник
comment
Используйте nginx -t для проверки файла конфигурации. Утверждение index.php; подозрительно, вы, вероятно, хотели написать index index.php;   -  person Richard Smith    schedule 19.04.2019


Ответы (2)


Ставьте server_name local-q2a.org; после директивы listen. Удалить файл /etc/nginx/sites-enabled/default. А потом перезагрузить nginx: sudo nginx -t && sudo nginx -s reload.

Я думаю, nginx просто не распознает ваше имя хоста и отправляет вас в конфигурацию по умолчанию.

person metallic    schedule 20.04.2019
comment
нет, это не сработало. Не думайте, что порядок имеет значение для nginx - person ; 25.04.2019

Думал, что опубликую ответ на случай, если кто-то боролся с подобной проблемой. Ниже мой код. Мне также пришлось создать симлинк с моих сайтов, доступных для включения моих сайтов. Кроме того, я редактирую свои файлы etc с помощью моего бродячего окна частной сети по указанному URL-адресу, который я хотел. Затем я воодушевился и связал это с ngrok и разместил в Интернете для демонстрационных целей.

server {
    listen 80;
    listen [::]:80;
    root /var/www/html/question2answer;
    index  index.php index.html index.htm;
    server_name local-q2a.org www.local-q2a.org;

    client_max_body_size 100M;

    autoindex off;

    location / {
        try_files $uri @question2answer;
         }

    location @question2answer {
        rewrite  /index.php$uri last;
        }

    location ~* "^/index\.php(/|$)" {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
     }

    location ~* "\.php(/|$)" {
        rewrite ^ /index.php$uri last;
         }
}
person Community    schedule 25.04.2019