nginx位置指向ip而不是文件夹

时间:2017-06-15 08:13:23

标签: wordpress laravel nginx nginx-location

所以我在http://example.com server-A的{​​{1}}上有一个网站,111.111.111.111有一个server-B网址,我laravel坐在222.222.222.222上拥有http://example.com/mywordpress

我想要它,以便我可以通过# my nginx conf location /mywordpress { proxy_pass http://mywordpress.example.com/; //already set the 222.222.222.222 to server-B }

访问我的wordpress

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

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

%s/U_CC/$U_{CC}$/
%s/tplh/$t_{plh}$/
%s/U\(.*\)_\(.*\)V||\(.*\)$/$U_{\1}$|V|\3|$U_{CC}=\2 V$/

2 个答案:

答案 0 :(得分: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上的

假设您的root / 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

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

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

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

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

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

答案 1 :(得分:0)

尝试这样的事情:

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