Linux關閉防火墻命令
1) 永久性生效,重啟后不會復原
開啟:chkconfig iptables on
關閉:chkconfig iptables off
2) 即時生效,重啟后復原
開啟:service iptables start
關閉:service iptables stop
停止操作
停止操作是通過向nginx進程發送信號(什么是信號請參閱linux文 章)來進行的
步驟1:查詢nginx主進程號
ps -ef | grep nginx
在進程列表里 面找master進程,它的編號就是主進程號了。
步驟2:發送信號
從容停止Nginx:
kill -QUIT 主進程號
快速停止Nginx:
kill -TERM 主進程號
強制停止Nginx:
pkill -9 nginx
另外, 若在nginx.conf配置了pid文件存放路徑則該文件存放的就是Nginx主進程號,如果沒指定則放在nginx的logs目錄下。有了pid文 件,我們就不用先查詢Nginx的主進程號,而直接向Nginx發送信號了,命令如下:
kill? -信號類型 '/usr/nginx/logs/nginx.pid'
平滑重啟
如果更改了配置就要重啟Nginx,要先關閉Nginx再打開?不是的,可以向Nginx 發送信號,平滑重啟。
平滑重啟命令:
kill -HUP 住進稱號或進程號文件路徑
或者使用
/usr/nginx/sbin/nginx -s reload
注意,修改了配置文件后最好先檢查一下修改過的配置文件是否正 確,以免重啟后Nginx出現錯誤影響服務器穩定運行。判斷Nginx配置是否正確命令如下:
nginx? -t -c /usr/nginx/conf/nginx.conf
或者
/usr/nginx/sbin/nginx -t
平滑升級
如果服務器正在運行的Nginx要進行升級、添加或刪除模塊時,我們需 要停掉服務器并做相應修改,這樣服務器就要在一段時間內停止服務,Nginx可以在不停機的情況下進行各種升級動作而不影響服務器運行。
步驟1:
如 果升級Nginx程序,先用新程序替換舊程序文件,編譯安裝的話新程序直接編譯到Nginx安裝目錄中。
步 驟2:執行命令
kill -USR2 舊版程序的主進程號或進程文件名
此時舊的Nginx主進程將會把自己的進程文件改名為.oldbin,然后執行新版 Nginx。新舊Nginx會同市運行,共同處理請求。
這時要逐步停止舊版 Nginx,輸入命令:
kill -WINCH 舊版主進程號
慢慢舊的工作進程就都會隨著任務執行完畢而退出,新版的Nginx的工作進程會逐漸取代舊版 工作進程。
此 時,我們可以決定使用新版還是恢復到舊版。
不重載配置啟動新/舊工作進程
kill -HUP 舊/新版主進程號
從容關閉舊/新進程
kill -QUIT 舊/新主進程號
如果此時報錯,提示還有進程沒有結束就用下面命令先關閉舊/新工作進程,再關閉主進程號:
kill -TERM 舊/新工作進程號
這樣下來,如果要恢復到舊版本,只需要上面的幾個步 驟都是操作新版主進程號,如果要用新版本就上面的幾個步驟都操作舊版主進程號就行了。
上面就是Nginx的一些基本的操作,希望以后Nginx能有更好的方法來處理這些操作, 最好是Nginx的命令而不是向Nginx進程發送系統信號。
基本的操作方法:
本文假設你的apahce安裝目錄為/usr/local/apache2,這些方法適合任何情況
apahce啟動命令:
推薦/usr/local/apache2/bin/apachectl start apaceh啟動
apache停止命令
/usr/local/apache2/bin/apachectl stop? 停止
apache重新啟動命令:
/usr/local/apache2/bin/apachectl restart 重啟
要在重啟 Apache 服務器時不中斷當前的連接,則應運行:
/usr/local/sbin/apachectl graceful
如果apache安裝成為linux的服務的話,可以用以下命令操作:
service httpd start 啟動
service httpd restart 重新啟動
service httpd stop 停止服務
Linux系統為Ubuntu
一、Start Apache 2 Server /啟動apache服務
# /etc/init.d/apache2 start
or
$ sudo /etc/init.d/apache2 start
二、 Restart Apache 2 Server /重啟apache服務
# /etc/init.d/apache2 restart
or
$ sudo /etc/init.d/apache2 restart
三、Stop Apache 2 Server /停止apache服務
# /etc/init.d/apache2 stop
or
$ sudo /etc/init.d/apache2 stop
1、使用 service 啟動:service mysqld start
2、使用 mysqld 腳本啟動:/etc/inint.d/mysqld start
3、使用 safe_mysqld 啟動:safe_mysqld&
二、停止
1、使用 service 啟動:service mysqld stop
2、使用 mysqld 腳本啟動:/etc/inint.d/mysqld stop
三、重啟
1、 使用 service 啟動:service mysqld restart
2、使用 mysqld 腳本啟動:/etc/inint.d/mysqld restart
提問 編輯摘要
如何啟動/停止/重啟MySQL
一、 啟動方式
1、使用 service 啟動:service mysqld start
2、使用 mysqld 腳本啟動:/etc/inint.d/mysqld start
3、使用 safe_mysqld 啟動:safe_mysqld&
二、停止
1、使用 service 啟動:service mysqld stop
2、使用 mysqld 腳本啟動:/etc/inint.d/mysqld stop
3、 mysqladmin shutdown
三、重啟
1、使用 service 啟動:service mysqld restart
2、使用 mysqld 腳本啟動:/etc/inint.d/mysqld restart
剛開始學 mysql時都是用redhat自帶的。啟動是什么 /rc.d/init.d/ start
這很簡單,但是后來越學越多,系統自帶的 mysql,有的是版本太低,有的是與
自己想要裝的web服務需要的低版本的mysql
后來自己學著以tar的方式安裝 mysql,我的mysql裝在/usr/local/mysql目錄下啟
動碰到過很多問題。最常見的是:
ERROR 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (111)
解決辦法:
[root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root /
> -S /var/lib/mysql/mysql.sock password 'your.passwd'
或者做個連接
ln -s /var/lib/mysql/mysql.sock /tmp
其實提示找不到 /tmp/mysql.sock有時也并不是/tmp目錄下沒這個文件,是啟動
命令不對,我碰到過
常見的幾種啟動方式,自己也不是記得很 清楚,如果你確定tmp下有mysql.sock這
個文件不妨試試另外的幾個命令
/usr/local/mysql/bin/mysql -u root -p
/usr/local/mysql/bin/mysqld --user=mysql&
/usr/local/mysql/bin/mysqld --user=root&
/usr/local/mysql/bin/mysqld_safe --user=root&
/usr/local/mysql/bin/mysqld_safe --user=mysql&
/usr/local/mysql/bin/safe_mysqld--uer=root&(注意 safe_mysqld與mysqld_safe是不同的,&表示mysql在后臺運行)我的就會報錯了
STOPPING server from pid file
/usr/local/mysql/data/localhost.localdomain.pid
060304 11:46:21 mysqld ended
這是權限問題,我的mysql目錄屬于root用戶,也屬于root群組,改用 mysqld_safe啟動就沒問題了,
大家只要注意這幾個 mysql,safe_mysqld,mysqld_safe,mysqld,mysqladmin.多試
幾次
其實有時mysql已經正 常啟動了,查看mysql是否啟動命令
ps -aux | grep mysqld
會看到如下類似內容
mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00
/usr/local/mysql/
mysql 6395 0.0 1.5 10528 992 pts/3 S 16:16 0:00
/usr/local/mysql/
mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00
/usr/local/mysql/
root 6422 0.0 1.1 2408 732 pts/3 S 16:20 0:00 grep
mysql
查看mysql是否在監 聽端口命令
netstat -tl | grep mysql
會看到如下類似內容
tcp 0 0 *:mysql *:* LISTEN
service nginx restart
service php-fpm restart
查看php運行目錄命令:
which php
/usr/bin/php
查看php-fpm進程數:
ps aux | grep -c php-fpm
查看運行內存
/usr/bin/php? -i|grep mem
重啟php-fpm
/etc/init.d/php-fpm restart
在phpinfo()輸出內容可以看到php相關配置。
Loaded Configuration File?/etc/php.ini
==============================
首先要找到php-fpm.conf配置文件,查看pid的配置路徑(不是安裝路徑),然后把下面對應的地方改掉才能正常執行。
[root@DO-SG-H1 ~]# ps aux | grep php-fpm
root???? 11799? 0.0? 0.0 103248?? 880 pts/0??? S+?? 13:51?? 0:00 grep --color php-fpm
root???? 11973? 0.0? 0.0 417748?? 964 ???????? Ss?? Jun01?? 0:20 php-fpm: master process (/etc/php-fpm.conf)
cat /etc/php-fpm.conf
看到
pid = /var/run/php-fpm/php-fpm.pid
php-fpm 啟動:
/usr/local/php/sbin/php-fpm
php-fpm 關閉:
kill -INT `cat /var/run/php-fpm/php-fpm.pid`
php-fpm 重啟:
kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`
查看php-fpm進程數:
ps aux | grep -c php-fpm
=============================
[root@DO-SG-H1 ~]# find / -name 'php-fpm' -type d
/var/log/php-fpm
/var/run/php-fpm
用這個find命令查找出來的路徑是不對的
which php
/usr/bin/php
一、Linux 的五個重啟命令
1、shutdown
2、poweroff
3、init
4、reboot
5、halt
二、五個重啟命令的具體說明
shutdown
reboot
在linux下一些常用的關機/重啟命令有shutdown、halt、reboot、及init,它們都可以達到重啟系統的目的,但每個命令的內部工作過程是不同的,通過本文的介紹,希望你可以更加靈活的運用各種關機命令。
1.shutdown
shutdown命令安全地將系統關機。
有些用戶會使用直接斷掉電源的方式來關閉linux,這是十分危險的。因為linux與windows不同,其后臺運行著許多進程,所以強制關機可能會導致進程的數據丟失﹐使系統處于不穩定的狀態﹐甚至在有的系統中會損壞硬件設備。而在系統關機前使用shutdown命令﹐系統管理員會通知所有登錄的用戶系統將要關閉。并且login指令會被凍結﹐即新的用戶不能再登錄。直接關機或者延遲一定的時間才關機都是可能的﹐還可能重啟。這是由所有進程〔process〕都會收到系統所送達的信號〔signal〕
決定的。這讓像vi之類的程序有時間儲存目前正在編輯的文檔﹐而像處理郵件〔mail〕和新聞〔news〕的程序則可以正常地離開等等。
shutdown執行它的工作是送信號〔signal〕給init程序﹐要求它改變runlevel。
Runlevel 0被用來停機〔halt〕﹐runlevel 6是用來重新激活〔reboot〕系統﹐而runlevel
1則是被用來讓系統進入管理工作可以進行的狀態﹔這是預設的﹐假定沒有-h也沒有-r參數給shutdown。要想了解在停機〔halt〕或者重新開機〔reboot〕過程中做了哪些動作﹐你可以在這個文件/etc/inittab里看到這些runlevels相關的資料。
shutdown 參數說明:
[-t] 在改變到其它runlevel之前﹐告訴init多久以后關機。
[-r] 重啟計算器。
[-k] 并不真正關機﹐只是送警告信號給
每位登錄者〔login〕。
[-h] 關機后關閉電源〔halt〕。
[-n] 不用init﹐而是自己來關機。不鼓勵使用這個選項﹐而且該選項所產生的后果往往不總是你所預期得到的。
[-c] cancel current process取消目前正在執行的關機程序。所以這個選項當然沒有時間參數﹐但是可以輸入一個用來解釋的訊息﹐而這信息將會送到每位使用者。
[-f] 在重啟計算器〔reboot〕時忽略fsck。
[-F] 在重啟計算器〔reboot〕時強迫fsck。
[-time] 設定關機〔shutdown〕前的時間。
2.halt----最簡單的關機命令
其實halt就是調用shutdown -h。halt執行時﹐殺死應用進程﹐執行sync系統調用﹐文件系統寫操作完成后就會停止內核。
參數說明:
[-n] 防止sync系統調用﹐它用在用fsck修補根分區之后﹐以阻止內核用老版本的超級塊〔superblock〕覆蓋修補過的超級塊。
[-w] 并不是真正的重啟或關機﹐只是寫
wtmp〔/var/log/wtmp〕紀錄。
[-d] 不寫wtmp紀錄〔已包含在選項[-n]中〕。
[-f] 沒有調用shutdown而強制關機或重啟。
[-i] 關機〔或重啟〕前﹐關掉所有的網絡接口。
[-p] 該選項為缺省選項。就是關機時調用poweroff。
3.reboot
reboot的工作過程差不多跟halt一樣﹐不過它是引發主機重啟﹐而halt是關機。它 的參數與halt相差不多。
4.init
init是所有進程的祖先﹐它的進程號始終為1﹐所以發送TERM信號給init會終止所有的 用戶進程﹑守護進程等。shutdown
就是使用這種機制。init定義了8個運行級別(runlevel), init 0為關機﹐init
1為重啟。關于init可以長篇大論﹐這里就不再敘述。另外還有telinit命令可以改變init的運行級別﹐比如﹐telinit
-iS可使系統進入單用戶模式﹐ 并且得不到使用shutdown時的信息和等待時間。
以上內容部分網絡轉載、收集,未注明出處