尝试使用安装脚本设置Vagrant 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 :(得分:4)
是的,你错过了你做sudo并没有tty你需要配置/ etc / sudoers文件来设置你的用户不要提示输入密码;)在sudo上!
或试试这个
sudo clean=no service nginx restart
答案 1 :(得分:0)
在 nginx 机器部分的 vagrant 文件中添加以下内容:
config.vm.provision "shell", run: "always", inline: "service nginx restart"