繁体   English   中英

如何在ubuntu上停止apache服务器

[英]How to stop an apache server on ubuntu

我正在尝试设置我的django项目,以便在http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html之后的EC2 Ubuntu实例上使用nginx作为其网络服务器。 作为其中的一部分,我需要安装/测试nginx是否处于活动状态:

sudo apt-get install nginx
sudo /etc/init.d/nginx start    # start nginx

然后在80号港口冲浪我的亚马逊dns。

当我这样做并导致错误时,我看到:

mod_wsgi.listener_port      

'80'    

mod_wsgi.listener_host      

''    

CONTEXT_DOCUMENT_ROOT       

'/var/www/html'    

SERVER_SOFTWARE       

'Apache/2.4.7 (Ubuntu)'    

SCRIPT_NAME       

u''    

mod_wsgi.enable_sendfile      

'0'    

mod_wsgi.handler_script       

''    

SERVER_SIGNATURE      

'<address>Apache/2.4.7 (Ubuntu) Server at ec2-**-**.us-west-2.compute.amazonaws.com Port 80</address>\n'    

REQUEST_METHOD      

'GET'    

PATH_INFO       

u'/index'    

SERVER_PROTOCOL       

'HTTP/1.1'    

QUERY_STRING      

''    

HTTP_USER_AGENT       

'Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0'    

HTTP_CONNECTION       

'keep-alive'    

SERVER_NAME       

'ec2-**-**.us-west-2.compute.amazonaws.com'    

REMOTE_ADDR       

'107.0.193.131'    

mod_wsgi.request_handler      

'wsgi-script'    

wsgi.url_scheme       

'http'    

PATH_TRANSLATED       

'/home/ubuntu/tproxy/tp/tp/wsgi.py/index'    

SERVER_PORT       

'80'    

wsgi.multiprocess       

True    

mod_wsgi.input_chunked      

'0'    

SERVER_ADDR       

'172.31.28.196'    

DOCUMENT_ROOT       

'/var/www/html'    

mod_wsgi.process_group      

''    

SCRIPT_FILENAME       

'/home/ubuntu/tproxy/tp/tp/wsgi.py'    

SERVER_ADMIN      

'webmaster@localhost'    

wsgi.input      

<mod_wsgi.Input object at 0x7fdd5e046af0>    

HTTP_HOST       

'ec2-**-**.us-west-2.compute.amazonaws.com'

所以很明显是一个运行的apache 2服务器。 http://httpd.apache.org/docs/2.2/stopping.html之后 ,我试过:

(env1)ubuntu@ip-172-31-28-196:~/tproxy/tp$ apachectl -k stop
httpd (pid 1132?) not running

这没用。 如何关闭apache服务器?

我一直都是这样做的

sudo apachectl stop

但是,这不会阻止它在启动时再次启动。 此外,可能存在某种管理程序脚本,如果它注意到它已被停止,它将重新启动该服务。

你应该看几件事。 首先使用这样的命令找出端口80上实际运行的内容。

lsof -i -P | grep :80

无论在端口80上运行什么,都会返回一个看起来像这样的PID

httpd  1046  apache2 10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:80 (LISTEN)

这就是你要杀的东西。

最后,如果所有其他方法都失败了,您可以尝试使用pidFile方法向父节点发送Kill TERM sig,如下所示。

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

这将杀死所有孩子,然后家长将退出。 如果您终止子httpd进程,您将看到新的httpd进程返回,因为父进程仍处于活动状态。

sudo service apache2 stop

请再次参考此链接 ,谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM