回答
这将是可能的唯一方法是如果你给你的Django应用程序根权限,这是非常不安全的。但是,假设你的应用程序以root权限运行,可以运行
import subprocess
subprocess.Popen(['/etc/init.d/apache2', 'restart'])
或者任何命令你的分布有重启动Apache。如果Django应用程序不是root用户,则可以使用pexpect python库使用sudo
运行它。
import pexpect
child = pexpect.spawn('sudo /etc/init.d/apache2 restart')
child.expect('[sudo] password for .*:')
child.sendline(password)
child.interact()
请注意,这种方式需要你给apache用户运行sudo
这也是不安全的能力。总的来说,我看不到一种安全的方法来实现这一点。
那么可以将sudo访问限制为仅运行某些应用程序或脚本。但是,总而言之,我猜测OP是在尝试使用错误的机制来解决一些潜在的挑战...... – andy
@andy同意 - 我很肯定有一种更好的方法来解决潜在的问题,而不是重新启动Apache。 –
@Zhehao:我相信你想写:“subprocess.Popen(['/ etc/init.d','apache2 restart'])” –
- 1. 必须在Apache上使用Django重新启动Apache mod_wsgi
- 2. Django Apache FastCGI重启
- 3. Apache重新启动历史
- 4. 重新启动Apache是挂
- 5. Capistrano重新启动Apache
- 6. 无法重新启动Apache
- 7. WHM - 重新启动Apache
- 8. 如何从apache服务的网页重新启动apache?
- 9. 为每个请求重新启动Apache下django的deamon进程
- 10. 重新启动Web服务器后Django/Apache代码不能重新加载
- 11. Apache Nutch重新启动抓取
- 12. Lightsail Wordpress实例重新启动Apache
- 13. Apache 2重新启动错误/ owncloud
- 14. Apache停止工作 - AH00428 - 重新启动
- 15. 的Apache httpd的重新启动失败
- 16. httpd重新启动错误:Apache
- 17. 如何重新启动apache/tomcat
- 18. SSL到期后重新启动Apache
- 19. Pubnub订阅PHP,Apache的重新启动
- 20. 的Apache重新启动错误12.04
- 21. 在Docker上重新启动Apache
- 22. Capistrano重新启动Apache服务器
- 23. Python/Django - 用mod_wsgi启动apache
- 24. 启动,停止,使用vb6重新启动apache
- 25. 重新启动后重新启动
- 26. Apache重新启动后,Python WSGI应用无法重新加载?
- 27. delayed_job从capistrano重新启动
- 28. 从Tomcat重新启动Tomcat
- 29. 从php重新启动Sphinx
- 30. 从JDBC重新启动mysql
是否因为您想重新加载应用程序源代码? –
你不应该再使用mod_python,它已经被弃用了。使用mod_wsgi。 –