新手问题 [已解决] nginx 中子域名如何部署?

chairy11 · 2015年01月06日 · 最后由 blacktulip 回复于 2015年01月06日 · 2366 次阅读

问题描述

主域名 a.com 是在别的机器上的,我也不知道具体情况。现在目标是要弄个子域名 week.a.com。 按道理我的配置应该可以了吧

server {
        listen       8888;
        server_name  week.a.com;
        passenger_enabled on;
        charset utf-8;
        root /var/www/a_project/current/public;
        rails_env production;

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

可是,打开却会显示 是哪里少了什么吗? 如果用 IP+ 端口,即 xxx.xxx.xxx.xxx:8888 是可以正常打开的……

解决方案

还是决定监听 80 端口了……

你的子域名指过来没有?

#1 楼 @blacktulip 他们说已经把“week.a.com 指向了这个 IP , xxx.xxx.xxx.xxx,没带端口的。我这个会少什么吗?

#2 楼 @chairy11 恩,nginx 重启过没?

#3 楼 @blacktulip 重启过了。要不我再试一次看看。

用 IP 能打开,用域名打不开,这个还是先排除一下域名配置问题,你在本机的 hosts 文件里面把 week.a.com 指向服务器 IP,然后再在浏览器里面用域名打开看看是否正常。如果正常了,就是域名那边没配好,如果还是不正常,就是你的 nginx 配置有误。

#5 楼 @blacktulip 不啊,IP 的话还是要用端口啊……

#6 楼 @chairy11 啥意思?你监听 8888 端口,当然是要端口,用域名访问也一样要带端口啊,你不会访问的是 http://weeker.a.com 吧?这是不对的,用域名也是要用 http://weeker.a.com:8888 这样访问的。

#7 楼 @blacktulip 我监听的是 8888 端口,但我希望我输入的时候只输入 week.a.com 就能跳到我的这个 8888 端口,不可以的么?

#8 楼 @chairy11 可以是可以,但是你这个 nginx 没有配置跳转啊,而且你这样跳转有什么意义呢?除非你 8888 端口已经有个服务了,你可以用 proxy_pass 跳过去,现在你 8888 端口也是 nginx 服务,你为啥要从 80 跳到 8888 而不是直接监听 80 端口呢?

#9 楼 @blacktulip 因为 80 好像有别的很多服务在用……要不我改回 80 试试?

#10 楼 @chairy11 你想输入网址不用输入端口,那就只能是 80 或者 443。http 就只能 80。你改回 80 吧。

#11 楼 @blacktulip 哦,那我改回 80 算了。我以为新开个端口会更好……

需要 登录 后方可回复, 如果你还没有账号请 注册新账号