2016-08-31 11 views
0

同じサーバー上に複数のサイトをホストできるnginxサーバーを作成しようとしています。私はindex.htmlファイルを含む2つの異なるディレクトリを/ var/www /ディレクトリに保存しています。同じサーバー上の複数のサイトのnginx設定

1番目のディレクトリ:dir1 フォルダstrucutureを次のように含む:dir1/Folder/app; アプリディレクトリには、サイトのindex.htmlが含まれています。

第2ディレクトリ:dir2 フォルダstrucutureを次のように含む:dir2/Folder/app; アプリディレクトリには、サイトのindex.htmlが含まれています。

server { 
    listen 80 default_server; 
    server_name mydomain.net; 
    location /dir2/ { 
     root /var/www/dir2/PharmacyAdminApp1/app; 
     index index.html index.htm; 
     try_files $uri $uri/ =404; 
    } 
} 
dev.conf

server { 
    listen 80 default_server; 
    server_name mydomain.net; 
    location /dir1/ { 
     root /var/www/dir1/PharmacyAdminApp/app; 
     index index.html index.htm; 
     try_files $uri $uri/ =404; 
    } 
} 

は今/etc/nginx/conf.d内、Test.confをとdev.conf

Test.confをと2つの.confファイルを作成しました

これ以降、nginxサーバーを再起動し、ブラウザの「mydomain.net:80/dir1」にアクセスしますが、404が表示されます。

+0

ブラウザで「mydomain.net:80/dir1/」と入力すると、同じこと? (URLの末尾にスラッシュがあることに注意してください) –

+0

はい、dir1とdir2の両方で同じことが起こります。 –

+0

設定が読み込まれていますか? 'nginx -t'を試してみてください。 2つの同一のサーバーブロックがあります(無効です)。必要なのは、2つのロケーションブロックを含む1つのサーバーブロックです。 –

答えて

0

あなたは2 default_serverを定義したような構成はまた、同じドメインのための2つのサーバー・ブロックを定義するにはポイントがありません、エラーを発生させる必要があり、

これは、あなたがそれを達成することができますどのように

map $request_uri $rot { 
    "~dir1" /var/www/dir1/Folder/app/; 
    default /var/www/dir2/Folder/app/; 
} 
server { 
    listen 80 default_server; 
    server_name mydomain.net; 
    root $rot; 
    index index.html; 

    location/{ 
     try_files $uri $uri/ index.html =404; 
    } 
} 
です

他の方法は、それはまだエラーをスローした場合、

server { 
    listen 80 default_server; 
    server_name mydomain.net; 

    location /dir2/ { 
     root /var/www/dir2/PharmacyAdminApp1/app; 
     index index.html index.htm; 
     try_files $uri $uri/ /index.html =404; 
    } 
    location /dir1/ { 
     root /var/www/dir1/PharmacyAdminApp1/app; 
     index index.html index.htm; 
     try_files $uri $uri/ /index.html =404; 
    } 
} 

ことであなたのerror_logを切り替えて、アクセスされているファイルを確認することができますそこから修正してください。

+0

それがあなたの問題を解決したなら、あなたもアップアップしていただけますか? :) – Satys

+0

ありがとうSatys、それは私の問題を解決しましたが、今私はこれと別の問題を抱えています...私はブラウザ上のWebサイトを訪問しようとしているとき、次のようなことが起こります...フォルダのアプリケーションは、 jsおよび.cssファイルがありますが、ブラウザまたはnginxは、http://server_name/components/order/orderCntrl.jsのようにserver_nameで検索しようとしますが、http:// server_name/$ root/components/order/orderCntrlとして実行する必要があります。あなたはなぜこれが起こっているのか知っていますか? –

+0

あなたのjsファイルはどこに/ dirごとに保存されていますか?どのようにURLにアクセスしますか?あなたは現在404を手に入れていますか? – Satys

関連する問題