我尝试从我的服务器启动bash脚本,通过单击HTML按钮和用户输入从我的django应用程序调用该脚本。该脚本创建了一个新的django站点,其中包含Gunicorn和Nginx等附加配置。
当我通过./manage.py runserver 172.16.10.10:8080
运行服务器并调用bash脚本时,脚本会创建一个新的网站,其中包含正确的gunicorn conf和Nginx。但是当我使用gunicorn Nginx从我的“生产服务器”运行bash脚本时,脚本运行不正常。我会在文字前面加上 u 来收到此错误:
异常类型:CalledProcessError 例外值:命令[“sudo”,“ - u”,“user”, “/home/user/mksite.sh",u"newsite”,你“newsite.braghnuz”]返回非零退出状态1
这是我的views.py配置:
def user_input(request):
if request.method == 'GET':
form = ContactForm()
else:
form = ContactForm(request.POST)
if form.is_valid():
from_email = form.cleaned_data['from_email']
domain = form.cleaned_data['domain']
project = form.cleaned_data['project']
subprocess.check_output(["sudo", "-u", "user", "/home/user/mksite.sh", project, domain])
return redirect('thanks')
return render(request, "name.html", {'form': form})
def thanks(request):
return HttpResponse('Thank you!')
我还为Nginx和gunicorn添加了额外的超时值,以便嘿不会超时。我不知道了,所以我转向你,一个以前经历过并可以帮助我的人?正如我在./manage.py runserver
中提到的那样,bash脚本可以完成它的工作,但是使用Nginx和Gunicorn bash脚本运行的生产服务器不起作用。