一、題目要求
1.配置ssh實現A,B主機互相免密登錄
2.配置nginx服務,通過多ip區分多網站
二、實驗
實驗開始前需準備兩臺 linux 主機便于充當服務端以及客戶端,兩臺主機 IP 如下圖:
實驗1:配置 ssh 實現 A,B 主機互相免密登錄
第一種情況:192.168.96.142 為服務端,192.168.96.132 為客戶端
1. 首先關閉服務端 142 的防火墻以及 selinux,我們可以通過查看防火墻以及 selinux 的狀態來判斷我們是否成功關閉這兩個程序
[root@server ~]# systemctl stop firewalld # 此次主機運行期間關閉防火墻
[root@server ~]# setenforce 0 # 關閉 selinux
2.在客戶端 132 利用非對稱算法 RSA 生成密鑰
[root@client ~]# ssh-keygen -t RSA
[root@client ~]# ll /root/.ssh/
3.將當前主機公鑰發送到目標主機 root 用戶的家目錄下的 .ssh/authorized_keys
[root@client ~]# ssh-copy-id root@192.168.96.142
4.客戶端 132 登錄服務端142主機實現免密登錄
第二種情況:192.168.96.142 為客戶端,192.168.96.132 為服務端
注:第一種情況做法寫的很清楚,第二種情況將第一種情況的主機客戶端與服務端交換即可
1.我們還是先將服務端 132 的防火墻以及 selinux 關閉
2.在客戶端 142 利用非對稱算法 RSA 生成密鑰
3.將當前主機公鑰發送到目標主機 root 用戶的家目錄下的 .ssh/authorized_keys
4.客戶端 142 登錄服務端 132 主機實現免密登錄
至此,咱們實現了兩臺 linux 主機之間的免密互聯!
實驗2:配置nginx服務,通過多ip區分多網站
1.關閉服務器 142 的防火墻以及 selinux
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
2.通過 mount 將光盤掛載,如若失敗可檢查 CD/DVD 光盤是否正常連接
[root@server ~]# mount /dev/sr0 /mnt
3.通過 ll 命令查看 yum 源倉庫配置文件,之后利用 vim 編輯該文件
① 查看文件
[root@server ~]# ll /etc/yum.repos.d/base.repo
② 編輯文件
[root@server ~]# vim /etc/yum.repos.d/base.repo
[BaseOS] # 路徑的標識名
name=BaseOS # 描述名
baseurl=file:///mnt/BaseOS # 定義yum源的統一資源定位符,路徑
gpgcheck=0 # 關閉軟件包的 GPG 簽名驗證
enabled=1 # 是否開啟該倉庫 1為開啟,0為關閉
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
4.dnf 安裝軟件包,這里因為已經下載過,所以顯示已安裝
[root@server ~]# dnf install nginx -y
5.安裝完成后啟動 nginx 程序并查看該程序狀態,顯示 Active: active (running) 則表示程序啟動成? ? ?功
[root@server ~]# systemctl start nginx
[root@server ~]# systemctl status nginx
6.在 Windows 系統下任意瀏覽器進行網址訪問(http://192.168.96.142,網址為 linux 服務端 IP)
7.利用 nmtui 圖形化的命令來配置多個 IP 地址
? ?① 首先進入到選項中選擇編輯連接
[root@server ~]# nmtui
? ?② 選擇欲編輯的以太網點擊編輯
? ?③ 這里需要強調的都在圖中說明,編輯完成即可退出;如果網關未顯示,可在 linux 終端查詢本機默認網關,這里默認網關為 192.168.96.2;還有一點為記得將 IPV4 配置從自動改為手動
[root@server ~]# ip route show default
? ?④ 確認退出后需激活網卡信息,可以看到我們添加的多個 IP 都已經成功激活
[root@server ~]# nmcli connection up ens33 # 激活網卡
[root@server ~]# ip a # 查看當前所有網絡接口的詳細信息
8.?通過多 IP 區分多網站,需要注意的是每行代碼寫完都要加分號!
[root@server ~]# vim /etc/nginx/conf.d/ip.conf # 進入nginx配置文件
server {listen 80;server_name 192.168.96.142;root /www;location / {index index.html;}
}
server {listen 80;server_name 192.168.96.100;root /www/100;location / {index index.html;}
}
server {listen 80;server_name 192.168.96.200;root /www/200;location / {index index.html;}
}
9. 修改配置文件后需重啟程序,重啟后什么都不顯示說明配置沒有問題,但不一定能訪問成功
[root@server ~]# systemctl restart nginx
10.配置后訪問網頁發現403錯誤,此時我們雖然配置了 /www 路徑以及 index.html 文件,但是我們沒有創建該路徑和文件
11.創建 /www 路徑以及 index.html 文件,創建好后可刷新頁面即可看到我們寫入的內容
[root@server ~]# mkdir -pv /www/{100,200}
mkdir: 已創建目錄 '/www'
mkdir: 已創建目錄 '/www/100'
mkdir: 已創建目錄 '/www/200'
[root@server ~]# echo this is 142 > /www/index.html
[root@server ~]# echo this is 100 > /www/100/index.html
[root@server ~]# echo this is 200 > /www/200/index.html
12.訪問這三個網頁可以看到對應寫入的內容
http://192.168.96.142
http://192.168.96.100
http://192.168.96.200
注:查看哪里出問題了可以查看我們的 nginx 服務狀態
[root@server ~]# systemctl status nginx.service
查找文件多少行出現問題,可以在命令模式下輸入“:set nu”
查看日志信息排錯,最新日志在最后
[root@server ~]# journalctl -xeu nginx.service