当我向 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 tomcat:6.0.24 nginx:1.2.2。Tomcat 和 nginx 都是通过 Ubuntu 的“apt-get”方式安装的。