2014-04-15 59 views
0

嘗試設置一個安裝腳本的Vagrant Nginx服務器,這是我的安裝腳本。一切都按預期工作,直到最後的重啓命令。Nginx的流浪者不會重新啓動

# Install Nginx 
add-apt-repository -y ppa:nginx/stable 
apt-get update 
apt-get install -y nginx 

cat > /etc/nginx/sites-available/domain << EOF 
upstream domain.local { 
    server 127.0.0.1:3000; 
} 

server { 
    listen 0.0.0.0:80; 
    server_name domain.local domain; 
    access_log /var/log/nginx/domain.local.log; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-NginX-Proxy true; 

     proxy_pass http://domain.local/; 
     proxy_redirect off; 
    } 
} 
EOF 

# Turn off sendfile to be more compatible with Windows, which can't use NFS 
sed -i 's/sendfile on;/sendfile off;/' /etc/nginx/nginx.conf 

ln -s /etc/nginx/sites-available/domain /etc/nginx/sites-enabled/domain 

sudo service nginx restart 

如果我編輯站點可用文件並更改值,我可以重新啓動Nginx而不會出現問題。但是,當流動病毒使用這個安裝文件配置虛擬機時,我無法訪問服務器,也無法讓Nginx重新啓動。我錯過了什麼嗎?

+0

如果這是使用的init.d腳本,你可能需要「開啓」的東西,如'須藤更新的rc.d nginx的defaults'。這會將啓動腳本鏈接到系統啓動列表中(假設'/ etc/init.d/nginx'腳本被正確寫入)。 –

+0

再次,這是一個Vagrant配置腳本,這是腳本的Nginx部分的整個塊。沒有其他的東西被使用,Nginx將不會在腳本的末尾重新啓動。 – user2356346

回答

1

是的,你錯過了你做sudo,沒有tty你需要配置/ etc/sudoers文件來設置你的用戶不會提示輸入密碼;)sudo!

或試試這個

sudo clean=no service nginx restart 
+0

在使用Vagrant配置VM時,是否有添加/ etc/sudoers文件的方法?我嘗試了安裝腳本中的代碼片段,Nginx仍然無法重新啓動。 – user2356346

+0

你需要了解更多關於那個抱歉,我現在不能幫你快速提示。我正在編寫一個旨在取代流浪者的新工具,可以告訴你 –