繁体   English   中英

Nginx位置指向一个IP而不是一个文件夹

[英]nginx location pointing to an ip instead of a folder

所以,我有上运行的网站laravelhttp://example.com坐在server-A111.111.111.111 ip和我有一个WordPress的坐在server-B222.222.222.222

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

我该如何实现? 我尝试使用Google搜索,但似乎无法正确设置关键字

现在这是我能想到的最好的事情

# my nginx conf

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

假设您在服务器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

尝试这样的事情:

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
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM