2014-04-15 4 views
0

설치 스크립트로 방랑자 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를 다시 시작할 수 있습니다. 그러나 Vagrant가 VM을이 설치 파일로 프로비저닝 할 때 서버를 공격 할 수 없으며 Nginx를 다시 시작할 수 없습니다. 내가 놓친 게 있니?

+0

을 시도합니다. '/ etc/init.d/nginx' 스크립트가 제대로 작성되었다고 가정하면, 시작 스크립트를 시스템 시작 목록에 연결합니다. –

+0

다시 이것은 Vagrant provisioning 스크립트입니다. 이것은 스크립트의 Nginx 부분 전체입니다. Nginx는 스크립트가 끝나면 다시 시작하지 않습니다. – user2356346

답변

1

예 sudo에서 빠진 내용이 누락되어 tty가 없으면 sudo에서 암호를 묻지 않도록 사용자를 설정하도록/etc/sudoers 파일을 구성해야합니다.

또는이있는 init.d 스크립트를 사용하는 경우, 당신은 같은과`sudo를 갱신-rc.d의 nginx defaults` "컴퓨터를 켭니다"해야 할 수도 있습니다

sudo clean=no service nginx restart 
+0

Vagrant와 함께 VM을 프로비저닝 할 때/etc/sudoers 파일을 추가 할 수 있습니까? 설치 스크립트에서 코드 스 니펫을 시도했지만 Nginx는 여전히 다시 시작하지 못합니다. – user2356346

+0

당신은 그것에 관해 더 많은 것을 배울 필요가 있습니다. 죄송합니다. 저는 그것에 관해서 현재 당신에게 빠른 팁을 줄 수 없습니다. 난 방랑을 대체 할 새로운 도구를 코딩하고 있습니다. –

관련 문제