

CentOS7とNginx(1.14.0)で静的ページを表示させています。  
root直下にある、`index.html`などは読み込まれるのですが、サブディレクトリ以降のファイルが読み込まれません。

具体的には、`ドメイン.com`にアクセスすると正常に表示されますが、`ドメイン.com/about`にアクセスするとnginxの404エラーになってしまうのです。

どのようにすれば、サブディレクトリ以降のファイルが読み込まれるでしょうか？  
教えていただけると助かります。

nginx.confは以下のように設定しています。

[code]

    user  nginx;
    worker_processes  1;
    pid        /var/run/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        root /var/www/html;
    
        log_format  main  '$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  main;
        error_log  /var/log/nginx/error.log debug;
    
        sendfile        on;
    
        keepalive_timeout  65;
    
        # トップドメイン用の設定    
        include /etc/nginx/conf.d/top.conf;
    
        # サブドメイン用の設定
        include /etc/nginx/conf.d/サブドメイン名.conf;
    
[/code]

トップドメイン用の設定`top.conf`は以下の通りに設定しています。

[code]

    server {
        listen       80; 
        server_name  ドメイン.com;
        charset UTF-8;
    
        location / {
          root /var/www/html;
          index index.html index.html index.php;
        }
    
        error_page   500 502 503 504  /50x.html;
    
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
        location ~ \.php$ {
            root           /var/www/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
    
[/code]

サブドメイン用`サブドメイン名.conf`の設定

[code]

    error_log  /var/www/サブドメイン用ディレクトリ名/current/log/nginx.error.log;
    access_log /var/www/サブドメイン用ディレクトリ名/current/log/nginx.access.log;
    
    client_max_body_size 2G;
    upstream app_server {
      # 連携するunicornのソケットのパス
      server unix:/var/www/サブドメイン用ディレクトリ名/current/tmp/sockets/.unicorn.sock;
    }
    
    server {
      listen 443 ssl;
      server_name  サブドメイン名.ドメイン.com;
      keepalive_timeout 5;
      root /var/www/サブドメイン用ディレクトリ名/current/public;
    
    try_files $uri/index.html $uri.html $uri @app;
      location @app {
        # HTTP headers
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        #proxy_pass http://127.0.0.1:3000;
        proxy_pass http://app_server;
      }
    
      error_page 500 502 503 504 /500.html;
      location = /500.html {
        root /var/www/サブドメイン用ディレクトリ名/current/public;
      }
    }
    
[/code]


CC BY-SA 4.0
2018-05-19T15:25:33.943
44087
2018-05-20T10:12:13.593
25223
question
nginx
Nignx 404エラーになる


サーバを一から再構築することにしました。


CC BY-SA 4.0
2018-05-20T10:12:13.593
44104
2018-05-20T10:12:13.593
25223
44087
answer