Apache仍然存在于chef实例中

Apache仍然存在于chef实例中,apache,nginx,chef-infra,chef-recipe,aws-opsworks,Apache,Nginx,Chef Infra,Chef Recipe,Aws Opsworks,我目前正在运行chef kitchen on vagrant,以测试我的定制食谱,供以后在AWS OpsWorks中使用 出于某种原因,nginx在启动时遇到问题((98:地址已在使用)),因为在我的配方中nginx启动之前,apache2服务就开始运行了。令人困惑的是,我没有指定要安装的apache2。然而,在我的nginx开始配方之前,我尝试过添加这个。但是没有用。 我曾多次试图摧毁我的流浪机器,但apache2仍然存在 我真的被这种行为弄糊涂了,如果有人知道为什么会发生这种情况,我会非常感

我目前正在运行chef kitchen on vagrant,以测试我的定制食谱,供以后在AWS OpsWorks中使用

出于某种原因,nginx在启动时遇到问题((98:地址已在使用)),因为在我的配方中nginx启动之前,apache2服务就开始运行了。令人困惑的是,我没有指定要安装的apache2。然而,在我的nginx开始配方之前,我尝试过添加这个。但是没有用。 我曾多次试图摧毁我的流浪机器,但apache2仍然存在

我真的被这种行为弄糊涂了,如果有人知道为什么会发生这种情况,我会非常感激

流浪者机器正在运行ubuntu 16.04

配方/设置.rb

...
package "apache2" do
    action :purge
end
service "apache2" do
    supports :status => true
    action :stop
    action :disable
    retries 5
end
# enable the server block we just created
    nginx_site 'api' do
    action :enable
    notifies :reload, 'service[nginx]'
end
...
version '0.1.0'
depends 'apt', '~> 6.0'
depends 'locale', '~> 2.0.0'
depends 'php', '~> 2.2.0'
depends 'chef_nginx', '~> 5.0.7'
depends 'application', '~> 5.1.0'
元数据.rb

...
package "apache2" do
    action :purge
end
service "apache2" do
    supports :status => true
    action :stop
    action :disable
    retries 5
end
# enable the server block we just created
    nginx_site 'api' do
    action :enable
    notifies :reload, 'service[nginx]'
end
...
version '0.1.0'
depends 'apt', '~> 6.0'
depends 'locale', '~> 2.0.0'
depends 'php', '~> 2.2.0'
depends 'chef_nginx', '~> 5.0.7'
depends 'application', '~> 5.1.0'
Berksfile.lock

DEPENDENCIES
  api
    path: .
    metadata: true

GRAPH
  application (5.1.0)
    poise (~> 2.4)
    poise-service (~> 1.0)
  apt (6.0.0)
  build-essential (8.0.0)
    mingw (>= 1.1)
    seven_zip (>= 0.0.0)
  chef_nginx (5.0.7)
    build-essential (>= 0.0.0)
    compat_resource (>= 12.16.3)
    ohai (>= 4.1.0)
    runit (>= 1.6.0)
    yum-epel (>= 0.0.0)
    zypper (>= 0.0.0)
  compat_resource (12.16.3)
  iis (5.0.5)
    windows (>= 1.34.6)
  locale (2.0.0)
  mingw (1.2.5)
    compat_resource (>= 12.16.3)
    seven_zip (>= 0.0.0)
  api (0.1.0)
    application (~> 5.1.0)
    apt (~> 6.0)
    chef_nginx (~> 5.0.7)
    locale (~> 2.0.0)
    php (~> 2.2.0)
  mysql (8.2.0)
  ohai (4.2.3)
    compat_resource (>= 12.14.7)
  packagecloud (0.2.5)
  php (2.2.0)
    build-essential (>= 0.0.0)
    iis (>= 0.0.0)
    mysql (>= 6.0.0)
    xml (>= 0.0.0)
    yum-epel (>= 0.0.0)
  poise (2.7.2)
  poise-service (1.4.2)
    poise (~> 2.0)
  runit (3.0.5)
    packagecloud (>= 0.0.0)
    yum-epel (>= 0.0.0)
  seven_zip (2.0.2)
    windows (>= 1.2.2)
  windows (2.1.1)
    ohai (>= 4.0.0)
  xml (3.1.1)
    build-essential (>= 0.0.0)
  yum-epel (2.1.1)
    compat_resource (>= 12.16.3)
  zypper (0.3.0)

在@Tensibai的评论线程中,他建议在PHP包之前安装nginx。这似乎是解决这个问题的办法


我认为您应该在php之前安装nginx,以避免降低依赖性。这听起来像是apt关闭了默认的http服务器和php。但这只是一个猜测


有运行日志吗?@Tensibai以下是输出:我认为您应该在php之前安装nginx,以避免产生依赖关系。这听起来像是apt关闭了默认的http服务器和php。但这只是一个猜测。@Tensibai,当我在php之前添加nginx安装时,它似乎做到了这一点。我以前也有过同样的怀疑,我查看了php包的依赖关系。apache/httpd不见踪影。但是,由于依赖项有自己的依赖项等等。。我猜它藏在那里的某个深处。