【发布时间】:2012-08-01 13:02:29
【问题描述】:
当我向 Web 应用程序发送 http 请求时,我想重新加载 nginx。所以在 web 应用程序的 servlet 中,我执行了 nginx reload 命令。 Java代码是: "Runtime.getRuntime().exec("/etc/init.d/nginx reload").waitFor();"。我试过了,但没有用。但是如果我以 root 用户身份登录服务器,然后执行上面的 Java 代码,它就可以工作了! 所以我猜测原因是tomcat用户没有权限重新加载nginx。 tomcat 进程以用户tomcat6 运行。 nginx 主进程以 root 用户身份运行,nginx 工作进程以用户 www-data 身份运行。我该如何解决这个问题?谢谢。
我的环境: 操作系统:Ubuntu 10.04 雄猫:6.0.24 nginx:1.2.2。 Tomcat和nginx都是通过Ubuntu的“apt-get”方式安装的。
【问题讨论】: