2011-12-01 88 views
0

我正在開發Rails v2.3.2應用程序。在Ubuntu機器上。現在命令停止和啓動nginx

,我想有兩個耙任務停止開始 * Nginx的 *分別是什麼是這個命令?

task :start_nginx do 
    puts "stop Nginx..." 
    system '...' #What is the command to stop Nginx? 
    end 

    task :stop_nginx do 
    puts "stop Nginx..." 
    system '...' #What is the command to start Nginx? 
    end 

回答

2

它依賴於系統。

如果您使用的新貴,該命令是:

start nginx 
stop nginx 

否則,它可能是一個:

/etc/init.d/nginx start 
/etc/init.d/nginx stop 

/etc/rc.d/nginx start 
/etc/rc.d/nginx stop 

甚至可能:

nginx 
killall -9 nginx 
+0

爲什麼你有兩個啓動和停止?他們都需要運行嗎?或者任何一個都沒問題? – Mellon

+0

取決於你的系統,例如debian使用'/ etc/init.d',但arch使用'/ etc/rc.d' –

5

如果您只是在Ubuntu上安裝了常規的nginx包,你已經有了一個啓動腳本,如:

/etc/init.d/nginx (start|stop) 

如果你沒有這樣的,請看看into the documentation

啓動服務器運行的/ usr /本地/ nginx的/ sbin目錄/ nginx的作爲根。

您可以通過執行

kill `cat /var/run/nginx.pid` 
2

在Debian/Ubuntu的

/etc/init.d/nginx (start|stop|reload) 

在CentOS/RHEL

service nginx (start|stop|reload) 

您必須以root身份登錄停止服務器。

2

在Ubuntu中的政治局勢,正確的方法是使用服務,而不是init.d中

sudo service nginx stop 
sudo service nginx start 
sudo service nginx restart 

Explanation on the difference