2014-05-09 1 views
0

다음 Vagrantfile을 사용하여 nginx를 설치하고 있습니다. 방랑자를 실행 한 후 http://192.168.33.14/에 대한 요청은 nginx에서 404를 반환합니다. 'wagrant reload'를 실행 한 후 http://192.168.33.14/에게 요청하면 예상 된 프록시 결과가 반환됩니다.vagrant/chef-solo로 nginx를 설치 한 후 방랑자 재방송이 필요합니다.

나는 프록시가 예상대로 작동한다고 예상한다. 나는 구성 파일을 작성한 후 nginx를 다시로드해야한다고 생각하기 때문에 nginx 요리 책을 실행 한 후 구성 변경을 작성합니다. sudo /usr/sbin/nginx -s reload을 실행하는 셸 프로비저닝을 시도했지만 nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)과 함께 실패합니다.

Vagrant.configure("2") do |config| 

    config.vm.box = "opscode-ubuntu-14.04" 
    config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box" 

    config.omnibus.chef_version = :latest 

    config.vm.provision "shell", inline: "echo 'set nocp' > /home/vagrant/.vimrc" 

    config.vm.define "nginx" do |nginx| 

     nginx.vm.network "private_network", ip: "192.168.33.14" 

     nginx.vm.provision :chef_solo do |chef| 
      chef.cookbooks_path = "cookbooks" 
      chef.add_recipe "nginx" 

      chef.json = { 
       :nginx => { 
        dir: '/etc/nginx' # this is the default value, sample only 
       } 
      } 
     end 

     nginx.vm.provision "shell", 
      inline: "echo -e $1 > /etc/nginx/conf.d/nginx.conf", 
      args: [<<-EOS 
       server { 
        listen *:80; 

        location ~ ^/ { 
         proxy_pass http://192.168.33.11:8080; 
        } 
       } 
      EOS 
      ] 
    end 
+0

이 질문은 스택 교환 네트워크에있는 다른 사이트에 속하는 것으로 보인다 그것 때문에하지에 대한 프로그램 작성. 아마도 [Super User] (https://www.superuser.com/) 또는 [Server Fault] (http://serverfault.com/). – jww

+0

나는이 요리 책 http://community.opscode.com/cookbooks/nginx를 시도해야한다고 생각하고 nginx 서비스를 시작하거나 중지 할 때 명령을 다음과 같이 시도해보십시오. service nginx start – Makio

답변

1

우분투 14.04를 기본 상자로 사용하여 같은 문제가 발생했습니다.

이 게시물이

내게 도움 : 즉 http://www.rollnorocks.com/2014/05/fear-and-loathing-with-chef-and-nginx/

을 초기 설치에 대한 PID 위치는 설정에 설정되어 것과 다르다. 요리사 제조법은 config PID (기본 /var/run/nginx.pid)를 설정하지만 초기 설치에서는 기본 우분투 설정 (/run/nginx.pid)을 사용합니다.

이 문제는 속성 파일이 광고를 추가 해결하는 빠른 방법 : [ '의 nginx'] [ 'PID'= '/run/nginx.pid' 오버라이드

이 요리사 PID 수단 위치는 Ubuntu가 초기 설치시 사용하는 것과 동일한 위치로 설정됩니다.

조리법을 개선하여 초기 설치시 요리사가 지정한 PID를 사용하도록 수정하는 것이 더 좋을 것입니다. 추가 할 위치를 찾을 수 없으므로 위의 빠른 수정을 사용하고 있습니다. 여기 해결 방법을 찾을

vm.provision :chef_solo do |chef| 
    chef.cookbooks_path = "cookbooks" 
    chef.add_recipe "nginx" 

    chef.json = { 
     :nginx => { 
      install_method: "source" 
     } 
    } 
end 

:

+0

고마워, 나는 이것에 SO 스레드를 만들었습니다. . –

관련 문제