【问题标题】:nginx location pointing to an ip instead of a folder指向 ip 而不是文件夹的 nginx 位置
【发布时间】:2017-11-17 15:12:42
【问题描述】:

所以我有一个在laravel 上运行的网站http://example.com 坐在server-A 有一个111.111.111.111 ip,我有一个wordpress 坐在server-B 有一个222.222.222.222

我想要它,以便我可以通过 http://example.com/mywordpress 访问我的 wordpress

我怎样才能做到这一点?我尝试了谷歌搜索,但我似乎无法正确获取关键字

目前这是我能想到的最好的办法

# my nginx conf

location /mywordpress {
  proxy_pass http://mywordpress.example.com/; //already set the 222.222.222.222 to server-B
}

【问题讨论】:

    标签: wordpress laravel nginx nginx-location


    【解决方案1】:

    假设您在服务器 A 上有一个 /etc/nginx/sites-available/example.com

    打开并添加这一行:

    location /mywordpress {
        proxy_pass http://222.222.222.222/mywordpress;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    

    之后

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

    在服务器-B 上 假设您在根目录 /var/www/html 上安装了 wordpress,并且只存在 wordpress 文件

    按照本指南https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

    创建新目录 /var/www/html/mywordpress

    将所有文件从 /var/www/html 移动到 /var/www/html/mywordpress

    将 index.php 和 .htaccess 从 mywordpress 目录复制到您的 html 文件夹

    编辑 /var/www/html/index.php

    require( dirname( __FILE__ ) . '/wp-blog-header.php' );

    require( dirname( __FILE__ ) . '/mywordpress/wp-blog-header.php' );

    现在,尝试访问您的新 example.com/mywordpress

    【讨论】:

      【解决方案2】:

      试试这样的:

      http {
      
          upstream wordpress {
               server 222.222.222.222:80 max_fails=2  fail_timeout=3s;
          }
      
          server {
      
              listen 80;
      
              server_name example.com;
      
              location /mywordpress {
                   rewrite /mywordpress(.*) /$1  break;
                   proxy_pass http://wordpress
              }
          }
      }
      

      【讨论】:

      • 我确实尝试过这样的事情(并更改了 wordpress 中的站点 url 以匹配服务器-A),但它最终在访问 /mywordpress/* 中的任何内容时执行了重定向循环,有什么想法吗?跨度>
      猜你喜欢
      • 2019-02-07
      • 2020-07-27
      • 2017-07-15
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多