如何通过不同的端口为不同的子域配置Nginx?

时间:2016-03-24 14:00:46

标签: nginx

我已经在这个配置上挣了几个星期。我想要实现的目标如下:

1.我不久前注册了一个域名。我在我的VPS上设置了一些网络服务,比如博客,论坛和Owncloud。现在我想配置Nginx,以便我可以在一个VPS和一个IP地址上运行所有服务。为了运行owncloud,我必须将/etc/php5/fpm/pool.d/www.conf修改为listen = 9000。在这种情况下,我只能获得一个服务(Owncloud)功能,因为如果我想运行论坛,我必须取消注释listen = /var/run/php5-fpm.sock。更重要的是,我试图取消对它们的评价,之后Nginx显示了502。

2.我正在使用Hexo作为我的博客。当我启动服务器时,我可以访问我的博客上的IP:4000。所以我想知道我是否可以在后台运行我的博客服务器并在线编辑帖子通过已重定向到端口4000的子域名。如果可能,我应该修改nginx.conf还是在sites-available中添加内容?

3.我可以在不同的子域上部署不同的Web服务吗?要修改哪个文件?它说我可以通过反向代理实现这个目的吗?

抱歉可怜的英语和表达。谢谢。

1 个答案:

答案 0 :(得分:0)

一点一点地去做:

  1. 您使用的PHP-FPM的优点是您可以在池中运行多个单独的解释器。为此,只需将 /etc/php5/fpm/pool.d/www.conf 中的文件复制到其他地方,例如 /etc/php5/fpm/pool.d/forum .conf ,更改listen指令,并且你已经运行了第二个php解释器,完全独立于第一个。这样,owncloud(www)和你的论坛(论坛)都有自己独特的php。

  2. 这称为反向代理。 nginx做得很好。您只需在 sites-available 中添加一个新的站点定义,该站点对服务器上的端口4000进行反向代理,然后将该站点定义符号链接(或复制)到 sites-enabled 并重新启动nginx。您必须设置Hexo才能自动启动以使其正常工作。

  3. 您可以在不同的子域上部署不同的Web服务。只要将dns配置为将该名称指向您的服务器,您就可以将服务器配置为使用站点定义对每个子域做出不同的响应。您需要修改 sites-enabled 中的文件,以确定nginx知道如何响应的名称。