如何更改Chef Nginx默认的HTTP端口80?

5
我尝试在已安装chef-server的机器上安装apache。由于chef nginx占用了80端口,导致Apache无法启动。如果我想让Apache使用80端口作为默认端口,是否可以将chef nginx默认的HTTP端口更改为其他端口?
我在互联网上找到了一种解决方案,在Apache和nginx上设置虚拟主机,但它们需要一个不同的FQDN作为服务器名称different FQDN。我的机器使用IP而不是FQDN,因此我需要更改chef nginx的默认HTTP端口。
我尝试向/etc/chef-server/chef-server.rb中添加以下内容:
nginx['non_ssl_port'] = 9898

然后我运行了 'chef-server-ctl reconfigure',但是它没有起作用。

有人可以帮忙吗?谢谢。

更新

关于更改chef服务器设置的信息是错误的。

对于Chef12,应将设置添加到/etc/opscode/chef-server.rb中。在运行chef-server-ctl reconfigure之后,nginx的HTTP端口更改为9898。


听起来很奇怪,因为它应该可以工作。我在我的chef-server.rb上有完全相同的配置,并且它可以工作。也许尝试一下 chef-server-ctl restart nginx。(你应该能够通过阅读 /etc/chef-server/chef-server-running.json 来确保使用了什么) - Tensibai
根据你的knife.rb内容,chef_server_url是否以https开头?我怀疑你现在访问的是apache,并且它重定向到了apache的ssl端口,而不是chef的端口。 - Tensibai
是的。我的 chef_server_urlhttps://ip/organizations/xxx。1)如果我仍然想使用 SSL,应该如何将请求重定向到 Chef Nginx?2)如果我禁用 SSL,chef_server_url 应该更改为 http://ip:9898/organizations/xxx 吗?谢谢。 - talihsu
我怀疑还有其他问题,chef-server-ctl status 是否显示所有服务都在运行?(在进行任何其他修改之前,我会确保服务器端一切正常)也许对80端口的争夺使其不稳定,尝试 chef-server-ctl restart,另外一个 chef-server-ctl reconfigure,如果没有全部启动,则进行最后一次重启以使所有服务都正常运行。(chef-server-ctl tail 也可以帮助查看错误)。听起来我们需要一个聊天室:p - Tensibai
chef-server-ctl restart 之后,bookself、nginx、oc_bifrost、oc_id、opscode-erchef、opscode-expander、opscode-expander-reindexer、opscode-solr4、postgresql、rabbitmq 和 rdis_lb 等程序似乎都正常运行。 - talihsu
显示剩余9条评论
2个回答

8

以下是如何更改端口的步骤。请编辑/etc/opscode/chef-server.rb文件。

nginx['non_ssl_port'] = 10080
nginx['ssl_port'] = 10443
nginx['url'] = "https://<YOUR URL>:10443/"

并调整您本地的~/.chef/knife.rb文件以读取

chef_server_url 'https://<YOUR URL>:10443/organizations/<YOUR ORG>'

但是目前 Chef 存在一个 bug,阻止嵌入式 nginx 在非标准端口上运行:https://github.com/chef/chef-server/issues/50


1

对于Chef12,应该将设置添加到/etc/opscode/chef-server.rb中。

chef-server-ctl reconfigure之后,nginx的HTTP端口更改为9898。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接