質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.12%

nginx 設定 http://localhost:8000 を http://localhost/reminiscence でもアクセスできるようにしたい

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 1,929

roswell

score 13

nginxの設定で、

http://localhost:8000 
http://XX.2.65.170:8000/

で、インストールしたweb app "reminiscense" 
の画面になるのですが、

http://localhost/reminiscence
http://xx.2.65.170/reminiscence 

でも、同様な動きをするには、nginxの設定をどのようにすればよいですか?

server {
        ...
    location / {
#             proxy_pass http://127.0.0.1:8000;
             proxy_pass http://127.0.0.1/reminiscence;

などにしてみましたが、希望の動作にはならないので、
御教示いただけますでしょうか?
設定ファイルは、下記になります。

~ $ cat /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}


#mail {
#    # See sample authentication script at:
#    # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#    # auth_http localhost/auth.php;
#    # pop3_capabilities "TOP" "USER";
#    # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#    server {
#        listen     localhost:110;
#        protocol   pop3;
#        proxy      on;
#    }
# 
#    server {
#        listen     localhost:143;
#        protocol   imap;
#        proxy      on;
#    }
#}

~ $ cat /etc/nginx/conf.d/reminiscence.conf 
#worker_processes  2;

#events {
#    worker_connections  1024;
#}

#http {
#   include       mime.types;
#   default_type  application/octet-stream;

#   sendfile        on;
#   sendfile_max_chunk 512k;
#   keepalive_timeout  65;
#   proxy_read_timeout 300s;

    server {
    listen       80;
    server_name  localhost;
    client_max_body_size 1024m;

    location /static/ {
        root /home/yama/reminiscence/venv/reminiscence; # root of project directory
        aio threads;
        }
    location = /favicon.ico { access_log off; log_not_found off; }
    location / {
             proxy_pass http://127.0.0.1:8000;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         root /home/yama/reminiscence/venv/reminiscence; #root of project directory
    }

     error_page   500 502 503 504  /50x.html;
     location = /50x.html {
         root   /usr/share/nginx/html;
     }
    }
#}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • TaichiYanagiya

    2019/01/08 22:56

    http://localhost/」だけでアクセスできるように見えますが、「/reminiscence」が必須ということでしょうか?

    キャンセル

  • roswell

    2019/01/09 10:32

    TaichiYanagiya さん
    アドドバイスありがとうございます。

    >「http://localhost/」だけでアクセスできるように見えますが、
    の場合は、"Welcome to nginx!" のページが表示されます。

    キャンセル

回答 1

checkベストアンサー

0

/etc/nginx/conf.d/, /etc/nginx/sites-enabled/ 以下のファイル (default.conf など) が有効になっているのでしょう。
バーチャルホストになっているので、server_name を適切に設定し、そのホスト名でアクセスするか、default.conf などが不要であれば、削除していいと思います。

(2019/01/09 18:11) 追記 

http://XX.2.65.170/reminiscence/ → http://127.0.0.1:8000/ にプロキシーする設定です。

location /reminiscence/ {
     proxy_pass http://127.0.0.1:8000/;    # 最後のスラッシュ(/)が必要。
     (略)
}


どうしても、http://XX.2.65.170/〜 ではなく http://localhost/〜 でアクセスしたいのであれば、既存の(default.conf などの)設定を変更するか削除するしかありません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/01/11 20:28

    動きましたーーー。

    ご教示いただいた設定を反映する前に、
    いろいろ reminiscence.conf を弄っていて

    > location /static/ {
    > root /home/yama/reminiscence/venv/reminiscence; # root of project
    の部分を

    location /reminiscence/ にして、nginx -t でエラーが出たので、
    location /reminiscence/ ここを # でコメント行にしていました。

    error_log をじっくり眺めて、/usr/share/nginx/html/static/ 
    static というキーワードを思い出し、

    location /static/ に戻し、
    コメントアウトを外して、nginx を再起動
    して確認したところ、ただしく動作しました。

    ご教示、本当にありがとうございました。

    と同時に、default を削除した結果、
    別の appli (Sitebar)が動かなくなり、共存できなくなったので、
    今、調査中です。

    キャンセル

  • 2019/01/12 17:18

    その解決方法だと、reminiscence はいいですが、他のアプリケーションを追加するときに困るのではないでしょうか。
    パスベースで分けるのではなく、ホストベース(バーチャルホスト)で分けた方が問題は少ないと思います。

    キャンセル

  • 2019/01/16 15:22

    > ホストベース(バーチャルホスト)で分けた方が問題は少ないと思います。
    https://webkaru.net/linux/nginx-default-server/
    を参考にすると、
    server_name example1.com;
    server_name example2.com;
    server_name example3.com;
    のように、server毎に、server_name を変えるということですよね。
    DNSできないので、ipベースでのURLアクセス時では、server_name を
    どのように変えればよいのでしょうか?

    後、下記の conf ファイルで、
    reminiscenceは動いているのですが、
    sitebartは、動作しないので、
    http://xx.2.65.170/sitebar
    で、sitebarが動作するようにするには、
    どのように変えればよいかご教示頂けますか?

    いろいろ試行しているのですが、なかなか動作せずで。

    yama@jpx20120007 /e/n/conf.d> ls *.conf
    -rw-r--r-- 1 yama root 617 1月 16 14:43 reminiscence.conf
    -rw-r--r-- 1 yama root 513 1月 16 14:57 sitebar.conf
    yama@jpx20120007 /e/n/conf.d> cat reminiscence.conf
    server {
    listen 80;
    server_name localhost;
    client_max_body_size 1024m;

    location /static/ {
    root /home/yama/reminiscence/venv/reminiscence; # root of project directory
    aio threads;
    }

    location = /favicon.ico { access_log off; log_not_found off; }

    location /reminiscence/ {
    proxy_pass http://127.0.0.1:8000/;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    root /home/yama/reminiscence/venv/reminiscence; #root of project directory
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }
    }

    yama@jpx20120007 /e/n/conf.d> cat sitebar.conf
    # Virtual Host configuration for example.com
    #
    # You can move that to a different file under sites-available/ and symlink that
    # to sites-enabled/ to enable it.
    #
    server {
    listen 80;
    server_name localhost;

    # pass PHP scripts to FastCGI server # 追加 Default server configuration のphp部分 php-fpmに変更済
    #
    location /sitebar/ {
    root /var/www/html;
    proxy_pass http://127.0.0.1/sitebar/;
    index index.php; # index を、index.phpに
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
    }

    yama@jpx20120007 /e/n/conf.d> ls /var/www/html/
    合計 24
    drwxr-xr-x 4 root root 4096 1月 10 10:07 ./
    drwxr-xr-x 3 root root 4096 12月 18 16:27 ../
    -rw-r--r-- 1 root root 612 12月 18 16:27 index.nginx-debian.html
    -rw-r--r-- 1 yama yama 19 12月 25 17:16 php_info.php
    drwxr-xr-x 2 root root 4096 12月 27 13:30 php_test/
    drwxr-xr-x 12 yama yama 4096 12月 27 11:27 sitebar/

    yama@jpx20120007 /e/n/conf.d> ls /var/www/html/sitebar/index.php
    -rw-r--r-- 1 yama yama 4350 12月 24 15:45 /var/www/html/sitebar/index.php

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る