如何在tomcat web应用程序中重新加载Nginx



我想在向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数据用户身份运行。我该如何解决这个问题?谢谢

我的环境:操作系统:Ubuntu 10.04tomcat:6.0.24nginx:1.2.2。Tomcat和nginx都是通过Ubuntu的"apt-get"方式安装的。

您可以使用sudo命令。您还可以向tomcat用户授予相应的权限。您还可以执行su将用户更改为具有相应权限的用户,然后执行nginx重载。事实上,解决这个问题有很多不同的方法
我认为最好编写和测试一些脚本,这些脚本可以从tomcat用户会话重新加载nginx,并使用它来重新加载,而不是/etc/init.d/nginx reload命令。

最新更新