tomcat的管理功能,tomcat的日誌,ftp服務,測試登陸ftp

tomcat的管理功能

  • 如圖,訪問tomcat 的默認管理頁面
  • 能夠看到右邊有 三個選項,這三個選項是用來管理tomcat服務器的
  • 可是如今還不可使用,須要先配置一下
  • 首先配置 host manager
  • cd /usr/local/tomcat/conf/
  • vim tomcat-user.xml 編輯配置文件
  • 如圖,在 tomcat-users 標籤的上面一行插入代碼
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat123" roles="admin-script,admin-gui"/>
  • 如圖,代碼定義了兩個 role
  • 還定義了帳號密碼
  • 由於 host manager 功能須要用到這兩個role
  • 保存退出
  • 而後須要重啓 tomcat
  • cd /usr/local/tomcat/bin/
  • 使用命令 ./shutdown.sh 關閉tomcat
  • 而後 ./startup.sh 開啓tomcat
  • 這樣就算重啓了tomcat ,每次修改配置文件都須要這樣重啓一下tomcat
  • cd /usr/local/tomcat/webapps/host-manager/META-INF/
  • 這個目錄裏面有一個文件叫作 context.xml
  • 如圖,這裏能夠定義哪一個ip地址能夠訪問,這裏沒有定義的ip就不能夠訪問
  • 如圖,在原來的放行名單後面加上 |192.168.64.\d+
  • 由於這裏定義的時候可使用正則表達式
  • 正則表達式裏面 . 表明任意一個字符
  • 因此要被識別爲 . 而不是其它意思的話,前面要加 \ 轉義
  • 符號 \d+ 表示1個或多個數字
  • 符號 | 表明或者
  • 加在原來字符的後面表示在原來的通行條件上
  • 加上後面這一段通行條件
  • 也就是 192.168.64.xxx 這個網段的 ip 均可以放行
  • 保存退出,重啓 tomcat
  • 如今點擊 host manager 按鈕
  • 會要求輸入帳號密碼
  • 帳號密碼就是上面配置文件裏面定義的帳號密碼 tomcat 和 tomcat123
  • 如圖,輸入帳號密碼後,就能夠進入這個管理界面
  • 若是不進行上面配置的話,這裏就變成 403 了
  • 如圖,這個管理頁面能夠管理tomcat裏面的虛擬主機
  • 能夠看到 zrblog.com 是以前配置好的虛擬主機
  • 這裏若是點擊中止,那麼這個虛擬主機就會被 tomcat 中止
  • 而後就不能夠被訪問了,固然,還能夠再次點擊打開虛擬主機
  • 這樣就又能夠訪問了
  • 還能夠在這個頁面添加虛擬主機
  • 如圖,這裏添加 域名,別名,點擊添加就能夠添加一個虛擬主機
  • 如圖,這裏添加了一個 bbb 虛擬主機
  • 如圖,訪問 www.bbb.com 顯示 404
  • 這是正確的,由於這個域名下面什麼都沒有,因此是404
  • 經過這個方法添加的虛擬主機,tomcat重啓以後就會消失
  • 由於這種方法添加的虛擬主機並無保存到配置文件裏面
  • 可是 web 頁面添加的虛擬主機實際上並無消失
  • 因此重複添加同一個域名的虛擬主機是不行的
  • /usr/local/tomcat/conf/Catalina/ 這個目錄裏面有web頁面添加的虛擬主機的目錄
  • 如圖,cd /usr/local/tomcat/conf/Catalina/ 進入這個目錄
  • 能夠看到 www.aaa.com 和 www.bbb.com 目錄
  • 這兩個目錄裏面就是自動建立的
  • 在 web 頁面添加的虛擬主機都會在這裏自動建立本身的目錄
  • 這麼目錄是永久存在的,可是添加的虛擬主機重啓後就消失了
  • 要解決這個問題
  • cd /usr/local/tomcat/conf/
  • vi server.xml
  • <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
  • 上面這段代碼添加到 server.xml 裏面
  • 如圖,代碼添加到圖中的位置
  • 在 8005 的代碼塊裏面
  • 保存退出,重啓 tomcat
  • 如圖,從新添加虛擬主機,應用程序庫實際上就是網站程序的路徑
  • 隨便寫一個 /data/www.aaa.com/ 路徑,而後添加
  • 如圖,出現 403 ,看返回的信息,彷佛要用到 manager 的一個配置文件
  • 因此要想實現頁面添加虛擬主機,永久保存,還須要使用 manager
  • 因此還要配置一下 manager ,使 manager 可用才行
  • cd /usr/local/tomcat/conf/
  • vim tomcat-user.xml
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>
  • 如圖,添加 4個 manager 的role
  • 下面的 user標籤裏面的 roles 也要加上新添加的 rolename
  • 其實只添加 manager-gui 和 manager-script 也能夠
  • 若是遇到提示須要添加後面兩個 role 的狀況,再加上去也行
  • 保存退出
  • cd /usr/local/tomcat/webapps/manager/META-INF/
  • vi context.xml
  • 如圖,添加這一段
  • |192\.168\.64\.\d+
  • 這是容許 192.168.64.xxx 網段的 ip 訪問 manager
  • 這裏不設置放開的網段的話,就訪問不了
  • 這裏能夠設置容許哪一個 ip 訪問,或者哪一類ip訪問,可使用正則表達式
  • 保存退出,重啓tomcat
  • 如今就能夠訪問 manager 了,也能夠持久化保存新增的 虛擬主機
  • 能夠 vi conf/server.xml 查看虛擬主機配置文件
  • 裏面會有新增的虛擬主機的信息
  • 如圖,新增虛擬主機後,尚未保存到配置文件裏面
  • 須要點擊下面的 持久化配置 所有 那個按鍵,纔會保存到配置文件裏面
  • 保存以後,能夠到 server.xml 文件裏面查看,新增的虛擬主機信息會寫入裏面
  • 如圖,如今能夠訪問manager
  • 這裏能夠看到,webapps 根目錄,docs 目錄... 等目錄
  • 能夠對這些目錄進行管理
  • 由於這個頁面就是 manager 本身,因此在這個頁面是不能關閉 manager的
  • 若是在這個頁面 stip host-manager
  • 再訪問 host-manager 就會變成 404 沒法訪問了
  • 如圖,這裏能夠指定 war 包的路徑進行 war 包部署
  • 下面的功能是在這裏上傳 war 包,讓 tomcat 自動部署

tomcat的日誌

  • 如圖,cd /usr/local/tomcat/logs/
  • 能夠看到目錄內的文件
  • 主要是5個類型,catalina , host-manager, localhost, localhost-access, manager
  • host-manager 記錄一些 host-manager頁面的操做
  • manager日誌記錄一些 manager頁面的操做信息
  • localhost-access 記錄訪問服務器的信息
  • localhost 記錄一些服務器自己的信息
  • catalina.2019-12-16.log 記錄的內容跟 catalina.out 是同樣的
  • 因此若是要查看最新的 catalina 日誌信息
  • 直接看 catalina.out 就好了
  • catalina.out 記錄不少信息,包括服務器運行的錯誤信息,網站運行的錯誤信息
  • 因此平時查找錯誤,主要是看 catalina.out 日誌
  • 可是 catalina.out 有一個問題
  • 這個文件只會不斷的寫入,是不會進行日誌切割的
  • 因此若是不處理,這個文件會無限變大
  • 實際使用中,應該根據須要,按期把這個文件進行清空
  • 可使用任務計劃來按期清空這個文件
  • 任務計劃就是,系統能夠在你自定義的時間內作事情
  • 使用 crontab -e 回車
  • 就會進入 vi 的界面
  • 而後再裏面寫要執行的任務,寫完保存退出
  • 系統就會按期執行裏面的內容
  • 若是格式不正確,就沒法保存退出,系統會提示
  • 如圖,這就是任務計劃的格式
  • 前面 五位 分別是 分時日月周 的意思
  • 這裏 0 3 * * * 就是天天 3點 執行的意思
  • 後面3位由於不須要設置,因此就用星號 * 代替
  • 設置了時間,後面就是要執行的命令
  • 如圖,還有不一樣的寫法,能夠表明不一樣的意義
  • 好比在 時 的位置寫 1,2,3 就表示天天的 1點,2點,3點執行
  • 若是想每5分鐘執行一次
  • 能夠在分的位置寫 */5
  • 這個寫法就表示,能夠整除 5 的分鐘數就會執行後面的命令
  • 也就至關於,每5分鐘執行一次命令了
  • 0 8-10 * * * 這表示 天天 8點,9點,10點執行後面的命令
  • 周 的位置,表示的是星期幾
  • 因此能夠寫 1-7 表示 星期一 到 星期日
  • 也能夠寫爲 0-6 也表示 星期一 到 星期日
  • 如圖,這就是 每5天 清空一次 catalina.out 的任務計劃
  • 如圖不使用任務計劃,也可使用系統的日誌切割功能來處理這個日誌文件
  • 如圖,vim /etc/logrotate.d/tomcat 在這個目錄內編輯一個叫作 tomcat 的空文件
  • 如圖,空文件內寫入圖中的內容,保存退出
  • 這樣系統的日誌切割服務,就會按照文件中設置的參數對catalina.out進行日誌切割
  • 圖中,daily 表示天天切割,size 16M 表示文件大小超過 16M 就切割日誌
  • 可是這兩個參數同時存在的時候,以 size 爲主
  • 也就是說,這個文件小於 16M 的時候,次日也不會被切割

ftp服務

  • ftp服務能夠在兩臺電腦之間進行上傳下載的操做
  • 大公司比較少用,由於ftp協議安全性不夠好
  • 可是中小型公司會可能會用到,安全性要求不那麼高
  • 並且電腦之間傳輸文件也很方便
  • 首先安裝一個擴展的源
  • yum install -y epel-release
  • 要先安裝這個擴展源,才能安裝 pure-ftpd 服務
  • 而後 yum install -y pure-ftpd
  • 這裏使用的是 pure-ftpd 來提供 ftp 服務
  • vi /etc/pure-ftpd/pure-ftpd.conf 編輯pure-ftpd 的配置文件
  • 如圖,配置文件裏面這個 MinUID 是定義使用這個服務的用戶的最小uid
  • 這裏設置的是 1000
  • 意思就是 只有 uid >= 1000 的用戶,纔可使用這個ftp服務
  • 小於1000的就會報錯
  • 出於安全的緣由,uid 小的都是系統用戶,權限都比較高
  • 限制uid 大於1000 能夠防止權限太大的用戶使用ftp服務,增長安全性
  • 如圖,找到 PureDB 這一行
  • 把前面的井號 # 去掉,這裏井號的做用是註釋
  • 前面有井號的行是不起做用的
  • 因此把這一行前面井號去掉,讓這一行產生做用
  • PureDB 的做用是指定一個文件路徑
  • 之後用戶名密碼之類的信息就會被保存到這個文件裏面
  • 上面的mysql和postgreSQL 也能夠設置保存這些信息
  • 可是設置數據庫太麻煩,直接用 puredb本身的文件保存就行了,這樣最簡單
  • 而後保存退出
  • 如圖,建立一個用戶 ftpuser
  • id ftpuser 查看用戶的 uid
  • 能夠看到是 1013 大於1000
  • 這樣就能夠正常使用 ftp 服務,若是小於1000就不能正常使用ftp服務
  • 如圖,建立一個測試目錄 /data/ftp/
  • 使用這個目錄進行文件的傳輸
  • 而後把這個目錄的全部者所屬組修改成 ftpuser
  • 由於原本是root建立的,可是 ftpuser要使用這個目錄傳輸文件權限不夠
  • 因此修改成 ftpuser ,這樣權限就夠了
  • 如圖,使用這個命令建立一個 ftp服務的虛擬用戶 user1
  • user1 並非系統真實存在的用戶,可是又須要系統用戶權限來進行一些操做
  • 因此這個 user1 須要映射到一個系統真實存在的用戶上去
  • ftpuser 就是系統真實存在的用戶,這裏把user1映射到ftpuser上去
  • 這樣user1的權限就等於ftpuser了,後面是指定 /data/ftp/ 目錄爲文件傳輸目錄
  • 意思就是 user1 使用這個目錄進行文件傳輸
  • 而後回車,下面還要輸入兩次自定義密碼
  • 這樣就設置了一個ftp服務內部的 用戶名跟密碼了
  • 可是如今這個用戶名跟密碼尚未被保存
  • 如圖,還須要使用 pure-pw mkdb 建立保存用戶名密碼的數據庫文件
  • 使用這個命令後,就會建立剛纔在配置文件裏面指定的路徑的文件
  • 也就是 /etc/purt-ftpd/pureftpd.pdb 這個文件
  • 這個文件是 ftp服務本身的文件格式,沒法使用 cat 查看
  • 如圖,使用 systemctl 啓動 ftp 服務
  • netstat 查看監聽的端口,這裏是 21 端口
  • 因此係統防火牆還須要放開 21 端口,服務才能正常運做
  • 如圖,firewall-cmd --add-port=21/tcp --permanent
  • 開放21端口
  • 而後 firewall-cmd --reload 重載配置文件
  • 這樣21端口就放開了
  • 這樣 ftp服務就能夠正常運行了

測試登陸 ftp

  • 如今服務器的 ftp 服務已經裝好了
  • 要測試這個 ftp 服務是否正常運轉
  • 須要下載一個ftp客戶端工具
  • yum install -y lftp
  • 咱們安裝的ftp服務是服務端的
  • 因此須要一個客戶端才能夠測試服務端的ftp是否正常
  • 這個 lftp 就是一個客戶端工具,能夠模擬客戶端與服務端進行交互
  • 如圖,安裝 lftp以後
  • 使用 lftp user1@127.0.0.1 登陸 user1
  • 口令輸入剛纔設置的user1密碼 123
  • 回車進入 user1 的命令界面
  • 使用 ls 命令查看默認目錄裏面有什麼文件
  • 這個默認目錄就是剛纔設置的 /data/ftp 目錄
  • 能夠看到有 . 和 .. 分別表明目錄自己和上一級目錄
  • 這樣就表示 user1 目錄正常
  • 如圖,使用 exit 退出user1用戶界面
  • cd /data/ftp 而後建立 1.txt 文件
  • 使用 echo 輸入一些數據進入這個文件
  • 如圖,再使用 lftp 登陸 user1 用戶
  • 使用 ls 查看,能夠看到多了一個 1.txt文件
  • 可是這個文件的全部者跟所屬組是 root 用戶
  • pureftp 的特色,這裏能夠看到 ,全部者顯示爲 uid 數字
  • 所屬組則是顯示爲 文字,也就是具體的所屬組,而不是 gid
  • 這樣本地命令行測試就算成功了
  • 還須要進行遠程測試看是否成功
  • 如圖,可使用 fillzilla 做爲客戶端進行測試
  • 因此,咱們下載 客戶端的版本,不要下載服務端的
  • 如圖,filezilla 打開的界面
  • 如圖,點擊這裏,設置鏈接
  • 如圖,這裏要設置一個新站點
  • 而後右邊填寫信息
  • ip是服務器的ip地址,端口是 21
  • 用戶名是 user1 密碼是 123
  • 如圖,ftp 分爲主動和被動模式,有時候 默認的模式可能沒法鏈接
  • 這裏選擇 主動模式
  • 如圖,選擇鏈接,能夠看到鏈接成功
  • 服務器目錄裏面的文件 1.txt 也顯示出來了
  • 如圖,左邊選擇一個目錄 desktop 也就是桌面
  • 右邊雙擊服務器目錄裏面的 1.txt
  • 這樣 1.txt 文件就被下載回來了
  • 如圖,能夠看到桌面文件已經有 1.txt了
  • 一樣的,在左邊的文件上面雙擊,就能夠把文件上傳到服務器上的目錄裏
  • 如圖,若是出現這個錯誤
  • 要勾選這裏限制併發鏈接數
  • 端口那裏再輸入 21

  • 還有另一種傳輸協議叫作 SFTP
  • 這個協議是使用 ssh 協議進行文件的傳輸,而不是 ftp協議
  • 因此使用 SFTP 協議傳輸文件使用的端口是 ssh 服務的 22 端口
  • filezilla 和 xftp 這兩個軟件均可以使用 SFTP 協議傳輸文件
  • filezilla 是開源免費的,xftp 和 xshell 是同一個公司的,須要付費使用
  • 如圖,新建一個站點 tom02
  • 右邊協議,選擇 SFTP 協議
  • 主機是服務器 ip ,端口使用 22
  • 下面用戶名是 root ,密碼就是 root 密碼
  • 而後鏈接
  • 如圖,上面方框能夠輸入任意路徑
  • 下面能夠顯示訪問的目錄
  • 由於是 root 身份登陸的,因此能夠訪問服務器內全部的目錄
  • 權限很大,因此很是不安全,好處是比較方便
  • 除了使用用戶名密碼登陸外,也可使用密鑰登陸
  • 設置會麻煩一些
相關文章
相關標籤/搜索