有谁知道如何修改nginx.conf文件以重定向到另一台主机?我想将http://mydomain.com/page1和http://mydomain.com/page2指向我本地网络上的主机。 mydomain.com/page1应该转到10.100.0.163,mydomain.com/page2应该转到10.100.0.164。
以下是我在Ubuntu服务器上添加到nginx.conf文件的HTML部分的内容。
location /page1/ {
rewrite ^/page1/(.*)$ http://10.100.0.163/$1 permanent;
}
location /page2/ {
rewrite ^/page2/(.*)$ http://10.100.0.164/$1 permanent;
}
我还需要添加到nginx.conf文件中吗?是否还需要修改其他配置文件?
我刚刚进行了标准的nginx安装,并没有改变任何其他内容。
答案 0 :(得分:8)
在基于Debian的发行版(包括Ubuntu)中,以下注意事项适用于nginx(apache包使用类似的布局):
/etc/nginx/nginx.conf
是主配置文件/etc/nginx/conf.d
和/etc/nginx/sites-enabled
/etc/nginx/conf.d/<some-file>
是您将添加到主配置的地方。
/etc/nginx/conf.d/<packagename>
(想想像gitweb这样的包,或者某些php-thing)。 /etc/nginx/conf.d/local
或/etc/nginx/conf.d/local_something
,并添加您需要的任何内容。/etc/nginx/sites-enabled/<some-file>
是您放置虚拟主机所需的配置添加的地方,每个虚拟主机1个文件。通过分离虚拟主机,可以更容易地知道在哪里寻找更改/修复内容(因为您知道自动忽略与该虚拟主机无关的每一个)。/etc/nginx/sites-available/
是包为他们想要添加的vhosts配置的地方。 这些不会自动生成,要启用此类网站,您可以将其链接或复制到/etc/nginx/sites-enabled/
由于您要添加的内容特定于mydomain.com
虚拟主机,因此您应将其添加到/etc/nginx/sites-enabled/mydomain.com
。其中的内容应该是这样的:
server{
server_name mydomain.com;
location /page1/ { rewrite ^/page1/(.*)$ $scheme://10.100.0.163/$1 permanent; }
location /page2/ { rewrite ^/page2/(.*)$ $scheme://10.100.0.164/$1 permanent; }
#add config needed to server whatever else on
#location / {}
}
关于该配置的说明:
rewrite
执行此操作,浏览器中显示的网址将自动更改为重写的网址。