不管是單獨的Linux,還是虛擬機上的Linux,預設都是使用DHCP動態分配ip: 機器啟動時,DHCP從指定的ip地址範圍內,分配一個ip。每次啟動分配的ip可能不同。 tomcat、nginx、mysql、redis等伺服器的ip會變化,這肯定不行,伺服器的ip地址是死了的: 在nginx的負 ...
不管是單獨的Linux,還是虛擬機上的Linux,預設都是使用DHCP動態分配ip:
機器啟動時,DHCP從指定的ip地址範圍內,分配一個ip。每次啟動分配的ip可能不同。
tomcat、nginx、mysql、redis等伺服器的ip會變化,這肯定不行,伺服器的ip地址是死了的:
- 在nginx的負載均衡器中寫死了tomcat節點的ip
- 在項目的配置文件中寫死了nginx、mysql、redis伺服器的ip
伺服器ip會變化肯定不行,需要修改為靜態ip。
配置靜態IP
(1)先切換到網路管理的目錄
cd /etc/sysconfig/network-scripts
看一下網路配置的文件:
ls -l
看一下配置文件的文件名,這個文件名和網卡型號相關,-後面是網卡型號,每個人的可能不一樣,所以要先cd到指定目錄,ls看一下文件名。
還要註意一下當前登錄的賬戶有沒有此文件的寫許可權,沒有的話切換有w許可權的用戶,或者chmod修改下文件許可權。
(2)編輯該文件
vim ifcfg-ens160
BOOTPROTO預設是dhcp,改為static,使用靜態ip。在最後面配置ip、子網掩碼、網關、dns伺服器即可。
前面那些值引不引都可以,後面那幾個ip地址一定不要打引號。dns伺服器可以配置2個:DNS1、DNS2,1是首選,2是備胎。
(3)重啟網卡生效
CentOS 8之前的版本,下麵2條指令任一條都可以,都是重啟network服務:
service network restart
systemctl restart network.service
CentOS 8棄用了network.service,使用NetworkManager代替,使用上面2個指令會報錯:Failed to restart network.service: Unit network.service not found.
要使用NetworkManager的命令:
nmcli c reload
nm即NetworkManager,cli即client。
此種方式只是重新載入網卡配置,並非重啟網卡,若ifconfig看到ip還沒改(沒生效),可使用下麵的方式重啟網卡。
下麵2種方式直接操作硬體,通用的,哪個版本都可以用:
ifconfig ens160 down #卸載ens160網卡
ifconfig ens160 up #啟用ens160網卡
ifdown ens160 #卸載ens160網卡
ifup ens160 #啟用ens160網卡
網卡型號要換為自己的。
當然,最簡單粗暴的方法是重啟Linux。
如何查看網卡型號?
1、剛纔我們編輯的那個文件ifcfg-ens160,-後面就是網卡型號
2、ifconfig
如果是在VMware中使用Linux,並且使用的是橋接網路,還需要進行一些設置:
預設只開啟了僅主機、NAT,點擊“更改設置”,把橋接加進去。
使用動態ip不需要在這裡面添加,使用靜態ip才需要添加。
選擇VMnet0
如果機器(主要是筆記本)一會兒連公司的網、一會連家裡的網、一會兒連學校的網,一會兒連自己的手機熱點,一會兒連這個網,一會兒連那個網,
連接的網路變了,需要重新配置上面那些地址,否則連不上網。
靜態ip適合一直使用某個網路的情況,比如伺服器,一直使用機房的網。