文章目錄
一、Linux網絡環境配置
1.1 修改虛擬網卡的IP
這裏介紹的是Linux網絡(含虛擬機),採用NAT形式的網絡配置。
第一步:查看網絡IP和網關
第二步:修改虛擬網卡的IP
1.2 自動獲取IP
可以通過圖形化界面設置自動連接,但自動獲取IP的缺點
是自動獲取的ip地址可能不一樣。
自動獲取IP雖然可以使用,但我們的服務器需要ip固定,因此應該使用下面修改配置文件指定IP的方式。
1.3 修改配置文件指定IP(推薦)
直接修改配置文件來指定IP,並可以連接到外網,編輯vim /etc/sysconfig/network-scripts/ifcfg-eth0
這要求ip地址配置是靜態的。
ifcfg-eth0文件說明
DEVICE=eth0 #接口名(設備,網卡)
HWADDR=00:0C:2x:6x:0x:xx #MAC地址
TYPE=Ethernet #網絡類型(通常是Ethemet)
UUID=926a57ba-92c6-4231-bacb-f27e5e6a9f44 #隨機id
#系統啓動的時候網絡接口是否有效(yes/no)
ONBOOT=yes
# IP的配置方法[none|static|bootp|dhcp](引導時不使用協議|靜態分配IP|BOOTP協議|DHCP協議)
BOOTPROTO=static
#IP地址
IPADDR=固定地址
#網關
GATEWAY=輸入自己的網關
#域名解析器
DNS1=與網關保持一致
我的設置如下:
配置後重啓網絡服務:service network restart
生效。
二、進程管理
2.1 進程管理介紹
- 在Linux中,每個執行的程序(代碼)都稱爲一個進程。每一個進程都分配一個ID號。
- 每一個進程,都會對應一個父進程,而這個父進程可以複製多個子進程。例
如www服務器。 - 每個進程都可能以兩種方式存在的。前臺與後臺(守護進程),前臺進程就是用戶目前的屏幕上可以進行操作的;後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行。
- 一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中。直到關機才結束。
使用ps -aux
可以顯示系統執行的進程(類比windows的任務管理器)
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
用戶名 | 進程id | 佔用的cpu | 佔用內存 | 使用虛擬內存情況 | 使用物理內存情況 | 使用的終端 | 進程的狀態s:休眠;r:運行 | 啓動時間 | 佔用cpu總時間 | 進程執行時的命令行 |
使用
ps -aux
時,如果只希望查看某些服務,可以配合grep進行過濾。
使用ps -ef
可以查看當前進程的父進程。
UID | PID | PPID | C | STIME | TTY | TIME | CMD |
---|---|---|---|---|---|---|---|
用戶ID | 進程ID | PPID父進程ID | CPU用於計算執行優先級的因子。越小優先級越高 | 進程啓動的時間 | 完整的終端名稱 | CPU時間 | 啓動程序所用的命令和參數 |
使用pstree查看進程樹
-p
顯示進程的PID
-u
顯示進程的所屬用戶
案例 | 命令 | 演示 |
---|---|---|
以樹狀形式顯示進程的pid | pstree -p |
|
以樹狀形式顯示進程的用戶id | pstree -u |
2.2 終止進程
基本語法:kill [選項] 進程號or進程名稱
功能描述:通過進程號或進程名稱殺死進程。
常用選項-9:表示強制進程立即停止。
實踐 | 命令 |
---|---|
強制下線某個非法登錄用戶 | ps -aux |grep sshd 查看到進程後,使用kill 進程號 關閉 |
終止遠程登錄服務sshd,適當時候再次重啓 | kill 進程號 即可關閉遠程登錄,再使用service sshd start 可以開啓 |
終止多個gedit編輯器 | killall gedit |
強制殺掉一個終端 | ps -aux |grep bash 查看進程後,使用kill -9 進程號 |
三、服務管理
服務本質就是進程,但是是運行在後臺的,通常都會監聽某個端口,等待其它程序的請求,比如(mysql的3306端口, sshd的22端口等),因此又稱爲守護進程。
- 基本語法:
service 服務名 [start | stop | restart | reload | status]
。
使用案例:
案例 | 指令 |
---|---|
①查看當前防火牆的狀況,關閉防火牆後重啓防火牆。 | 使用service iptables status 查看狀態後,使用service iptables stop 停止,使用service iptables start 啓動 |
注意:可以在windows使用
telnet IP地址 端口號
指令,檢查Linux的某個端口是否在監聽,並且可以訪問。
通過sercice指令開啓或關閉防火牆的方式只是臨時生效,系統重啓後無效;永久生效需要使用chkconfig指令。
在CentOS7.0後 不再使用service ,而是systemctl
。
查看服務名
兩種方式 | 指令 | 演示 |
---|---|---|
方式1 | setup 後選中系統設置 |
|
方式2 | 使用ls -l /etc/init.d/ 命令 |
4.1 服務的運行級別(runlevel)
級別 | 說明 |
---|---|
級別0 | 關機 |
級別1 | 單用戶(找回丟失密碼) |
級別2 | 多用戶無網絡服務 |
級別3 |
多用戶有網絡服務 |
級別4 | 保留 |
級別5 |
圖形界面 |
級別6 | 系統重啓 |
開機流程:開機—>BIOS—>/boot—>init進程1—>運行級別—>運行級對應的服務。
每個服務的端口在不同的運行級別下都可以設置是否自啓動,使用chkconfig
指令可以完成這些操作。
chkconfig的基本語法:
查看所有的(或者某個) | chkconfig --list |grep xxx |
|
---|---|---|
指定查看某個服務 | chkconfig 服務名 --list |
|
某個服務的某個運行級別 | chkconfig --level 5 服務名 on/off |
服務管理綜合案例
需求 | 命令 | 演示 |
---|---|---|
顯示當前系統所有服務的各個運行級別的運行狀態 | chkconfig --list |
|
查看sshd服務的運行狀態 | service sshd status |
|
將sshd 服務在運行級別5下設置爲不自動啓動,看看有什麼效果? | chkconfig --level 5 sshd off |
|
當運行級別爲5時,關閉防火牆 | chkconfig --level 5 iptables off |
|
在所有運行級別下,關閉防火牆 | chkconfig iptables off |
|
在所有運行級別下,開啓防火牆 | chkconfig iptables on |
使用細節:chkconfig重新設置服務自啓動或關閉後,需要重啓reboot才能生效。
4.2 監控服務
動態監控top
top與ps相似,都是用來顯示正在執行的程序。兩者最大不同之處在於,top在執行一段時間後可以更新正在運行的程序。
基本語法:top [選項]
案例 | 操作 | 演示 |
---|---|---|
案例1:監視特定用戶 | 輸入top 命令,然後輸入u 回車,再輸入用戶名 |
|
案例2:終止指定的進程 | 輸入top 命令,然後輸入k 回車,再輸入要結束的進程ID號 |
|
案例3:指定系統狀態更新的時間(每10秒自動更新) | top -d 10 |
|
進入
top
頁面後,可以按P
表示以CPU使用率排序;按M
以內存的使用率排序;按N
以PID排序;按q
退出top;
監控網絡狀態netstat
基本語法:netstat [選項]
-an
:按一定順序排列輸出-p
:顯示哪個進程在調用
查看服務名爲sshd的服務信息 | netstat -anp | grep sshd |
---|
檢測主機連接命令ping:
ping 對方ip地址
,注意用來檢測遠程主機是否正常,或兩部主機之間的介質是否爲斷線、網線是否脫落或網卡故障。