如何在 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 处于活动状态,我需要 install/test:
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 方法向 Parent 发送 Kill TERM 信号,如下所示。
kill -TERM `cat /usr/local/apache2/logs/httpd.pid`
这将杀死所有 children 然后 Parent 将退出。如果您关闭 child 个 httpd 进程,您将看到新的 httpd 进程回来,因为 parent 仍然处于活动状态。
sudo service apache2 stop
另请参考此link 了解更多
谢谢
我正在尝试设置我的 django 项目以在 http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html 之后的 EC2 Ubuntu 实例上使用 nginx 作为其网络服务器。作为其中的一部分,如果 nginx 处于活动状态,我需要 install/test:
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 方法向 Parent 发送 Kill TERM 信号,如下所示。
kill -TERM `cat /usr/local/apache2/logs/httpd.pid`
这将杀死所有 children 然后 Parent 将退出。如果您关闭 child 个 httpd 进程,您将看到新的 httpd 进程回来,因为 parent 仍然处于活动状态。
sudo service apache2 stop
另请参考此link 了解更多 谢谢