一、準備工作
首先你需要一台linux伺服器,知道使用者名稱和密碼,然後你需要在windows電腦上安裝兩個可以連上linux伺服器的工具,Xshell 5和Xftp 5,安裝教學不多說,補圖說明如何連上伺服器:
xshell連線介面如下,輸入好主機ip後點選確定,xshell會彈出視窗輸入使用者名稱和密碼即可連線成功!
xftp連接介面如下,填空就可以了,很簡單不多說,提一下這裡為什麼選擇SFTP而不選擇FTP呢,看就可以明白了!
二、安裝部署工作
#若要部署專案到到linux伺服器上,安裝jdk和tomcat是必不可少的,在這裡要強調的是,如果你的一個伺服器上要部署多個應用程式時,那就需要針對每個應用程式都有自己的tomcat,因為不同的應用下面,tomcat的設定肯定是不一樣的,對於這種情況,可以安裝一個tomcat安裝目錄和多個應用下的tomcat的工作目錄,對於相同的部分可以共享安裝目錄的tomcat,下面再分別詳細介紹該如何操作,如何安裝tomcat和jdk到你的伺服器上
1.目錄分割
這是很重要的一步,可以按照下圖這種方式新建目錄,該目錄下面放置與專案啟動和部署訪問相關的一些文件,大家可以看到,我在這個目錄下面放置了多個版本的jdk和多個版本的tomcat,專案部署過程中具體使用哪個tomcat和jdk都是可以透過設定實現的。
對於實際的應用,我們專門放在一個實例目錄下,建立好每個應用的名字,然後在目錄下面放置對應的war包,以及解壓縮後的文件,等著tomcat讀取該目錄部署該應用,如下:
#
##2 .修改配置
每個應用程式下面的tomcat我們也放置在一個目錄下面方便管理,如下圖,但是得注意每個tomcat的配置
/bin目錄下面,start.sh檔案和stop.sh檔案都要修改,首先要指定jdk路徑,類似於設定環境變量,其次就是要,指定tomcat工作目錄的tomcat路徑,大家可以注意到,CATALINA_HOME和CATALINA_BASE分別對應tomcat的安裝目錄和工作目錄,然後大家從最後一行可以看到專案啟動使用的是安裝目錄下面的start.sh,但是專案啟動使用的tomcat設定檔則是每個應用tomcat自己所設定的設定檔。 stop.sh也是同樣的道理。
對於使用xshell執行./start.sh和./stop.sh都是需要權限的,若出現沒有權限,咱們可以使用xftp對start.sh郵件修改權限,如圖所示,打上勾勾即可。
/conf目錄下面,需要注意修改的配置有,首先是server.xml文件,修改對應的連接埠號,每個應用的tomcat都需要修改不同的連接埠號,不然會導致啟動多個tomcat時連接埠佔用而沒辦法啟動,最好記住這個這個應用程式配置的tomcat的連接埠號,後面使用nginx做連接埠對映時會用到;
另外一個要修改的地方就是,Catalina目錄下的localhost目錄下的ROOT.xml文件,該文件用於指定tomcat啟動時,加載哪個目錄下的專案實例
其他的/logs目錄、/temp目錄、/webapps目錄、/work目錄不需要修改;從上面也可以看出來,目錄劃分非常清晰,分別劃分為,服務安裝目錄(jdk、tomcat、nginx等),應用實例目錄,以及應用部署目錄,大家在使用玩linux伺服器部署多個專案時,也可以按照這種方式劃分。
3.nginx實作80埠反向代理
按道理說,這個時候我們就可以把我們自己應用的war包傳到相應的目錄下面解壓,然後去對應的應用tomcat工作目錄下面執行./start.sh就可以啟動該專案了!大家不妨先試試看。
專案部署好後,我們配置好hosts開始訪問了,這個時候我們會發現,必須得加上上面配置好的tomcat端口號才可以訪問,我們能不能不加上連接埠號碼(使用預設的80埠)存取呢?上面也提到了,對於不同的tomcat我們配置了不同的端口號,原因就是一個端口號只能給一個tomcat去使用,這就意味著,項目訪問必須得添加端口號訪問,但是,要做到每一個應用程式都可以使用80埠存取我們也是可以做到的,這時候就要使用到nginx了,安裝好nginx後我們添加部分配置就可以做到反向代理,對不同應用使用的80端口訪問轉發到對應的埠號,在tomcat看來,外部請求還是使用了tomcat配置的埠號,這樣也就實現了我們想要的效果,具體配置如下(當然我們也得做好相應的目錄劃分工作):
nginx目錄如下:
#
我們只需要關心/conf目錄下面的nginx.conf設定檔,具體配置資訊我也打開給大家看了,注意到最後一行了麼,"include domains/*",表示該配置還沒完,包含/domains目錄下的所有配置文件,
這個時候我們把對應的每個應用的nginx配置,用不同命名的文件配置好就可以了
#
然後再來看看怎麼配置吧,監聽auction.center.jd.net:80域名訪問,然後轉發到本機的127.0.0.1的1605端口訪問,從配置中我們也可以看到,對於一些異常狀態,如http_500 http_502 http_504等會記錄下來,做不同的處理,一般情況下可以跳到網站首頁等等,然後就是記錄日誌,配置好了這個配置文件,我們一定不能忘了新日誌目錄,不然nginx找不到目錄,啟動會報錯。
做完了這些工作之後,還沒完,我們需要重啟nginx,具體怎麼重啟我就不多說了,百度上很多相關資料,如果重啟失敗,咱們乾脆來狠招,殺掉nginx進程,然後再使用nginx service start指令啟動nginx服務。
在我們做完這些工作之後,是不是就可以使用我們熟悉的方式(不添加端口號)訪問了呢,嗯對是的沒錯就是這樣的,很多人們在顧慮是不是還要重啟tomcat重新部署應用,那隻能說明你對網絡層的nginx路由轉換那一層沒有理解,我們訪問的域名首先透過我們配置的hosts做DNS解析,轉換到對應的Ip ,找到ip對應的伺服器,經過伺服器的防火牆,然後當我們對伺服器設定Nginx後,Nginx首先會攔截請求,對請求做處理和分發,最終才會打到相應的tomcat上(個人理解,可能理解的也不到位,勿噴),這時候我們就可以滿懷信心的訪問域名發送請求了! !
4.踩坑
# 額。 。不好! !空歡喜一場,跳到首頁,還是沒法訪問指定應用,當我試著加上端口號後,“奇蹟”般的能訪問,這就說明咱們配置的Nginx沒有生效,問題出在哪呢?
下面說下我的解題思路吧,首先我們得確認所有的請求都走到了Nginx,這時候就體現了日誌的好處了,當我們使用80端口訪問我們的應用程式時,盯著日誌去看,一遍兩遍三次。 。沒有日誌,這時候我們粗略的可以斷定根本就沒有經過Nginx服務,並不能確定nginx服務對於伺服器沒有生效,應為也許是咱們的日誌配置的有問題呢,這個時候我做出一個大膽的操作,那就是關掉,nginx服務訪問,還是跳到網站首頁,怎麼回事?難道跳到首頁不是透過nginx配置的?的確,公司在網路層就已經做了處理,這個時候我很迷茫,完全就是各種嘗試,不妨修改tomcat配置,把其中一個應用配置成80端口,這樣總可以訪問了吧,很快,修改完成並且部署好,就等著地址欄輸入域名訪問了,因為Nginx服務已經關閉了,這時候的請求肯定是直接打到tomcat上的,訪問一次兩次三次,“奇蹟”般的居然不能訪問,納尼? ? ?這時候靈光一閃,絕對是伺服器防火牆禁用了80端口,趕緊試著在本地telnet 192.168.108.37 80 果然不能訪問,證明了我的猜測是對的,這時候就好辦了,只要在防火牆中開通80埠存取權限即可,以下補充下如何在CentOS下設定iptables防火牆放開80埠。
1.開啟iptables的設定文件,程式碼如下:vi /etc/sysconfig/iptables
2.透過/etc/init. d/iptables status,命令查詢是否有打開80端口,如果沒有可通過兩種方式處理
# 3.第一種方式:修改vi /etc/sysconfig/iptables命令添加使防火牆開放80端口,代碼如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# 4.關閉/開啟/重啟防火牆程式碼如下:/etc/init.d/iptables stop (# start 開啟 、#restart 重啟)
5.第二種方式:透過指令去新增端口,程式碼如下:
[root@centos httpd]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT [root@centos httpd]# /etc/rc.d/init.d/iptables save [root@centos httpd]# /etc/init.d/iptables restart
# 6.查看效果:[root@centos httpd]# /etc/init.d/iptables status
7.補充一句,建議使用第二種方式,操作簡單,成功率高,就拿我來說吧,當我使用第一種方式修改防火牆配置的時候,重啟失敗,使用第二種方式,完美成功
三、總結
#最後結果也是預料之中,即使tomcat配置了1605端口,我們照樣能使用80端口訪問,這就是nginx的強大之處,不過幾兆的安裝包,居然能發揮如此多的作用,這是我剛學nginx入門,了解的很淺陋,但是透過這次實踐讓我對nginx有所好感,慢慢的我會從體認到了解熟知(雖然不能相知相愛)。
#
以上是tomcat和Nginx的伺服器部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!

進入Linux恢復模式的步驟是:1.重啟系統並按特定鍵進入GRUB菜單;2.選擇帶有(recoverymode)的選項;3.在恢復模式菜單中選擇操作,如fsck或root。恢復模式允許你以單用戶模式啟動系統,進行文件系統檢查和修復、編輯配置文件等操作,幫助解決系統問題。

Linux的核心組件包括內核、文件系統、Shell和常用工具。 1.內核管理硬件資源並提供基本服務。 2.文件系統組織和存儲數據。 3.Shell是用戶與系統交互的接口。 4.常用工具幫助完成日常任務。

Linux的基本結構包括內核、文件系統和Shell。 1)內核管理硬件資源,使用uname-r查看版本。 2)EXT4文件系統支持大文件和日誌,使用mkfs.ext4創建。 3)Shell如Bash提供命令行交互,使用ls-l列出文件。

Linux系統管理和維護的關鍵步驟包括:1)掌握基礎知識,如文件系統結構和用戶管理;2)進行系統監控與資源管理,使用top、htop等工具;3)利用系統日誌進行故障排查,借助journalctl等工具;4)編寫自動化腳本和任務調度,使用cron工具;5)實施安全管理與防護,通過iptables配置防火牆;6)進行性能優化與最佳實踐,調整內核參數和養成良好習慣。

Linux維護模式通過在啟動時添加init=/bin/bash或single參數進入。 1.進入維護模式:編輯GRUB菜單,添加啟動參數。 2.重新掛載文件系統為讀寫模式:mount-oremount,rw/。 3.修復文件系統:使用fsck命令,如fsck/dev/sda1。4.備份數據並謹慎操作,避免數據丟失。

本文探討如何在Debian系統上提升Hadoop數據處理效率。優化策略涵蓋硬件升級、操作系統參數調整、Hadoop配置修改以及高效算法和工具的運用。一、硬件資源強化確保所有節點硬件配置一致,尤其關注CPU、內存和網絡設備性能。選擇高性能硬件組件對於提升整體處理速度至關重要。二、操作系統調優文件描述符和網絡連接數:修改/etc/security/limits.conf文件,增加系統允許同時打開的文件描述符和網絡連接數上限。 JVM參數調整:在hadoop-env.sh文件中調整

本指南將指導您學習如何在Debian系統中使用Syslog。 Syslog是Linux系統中用於記錄系統和應用程序日誌消息的關鍵服務,它幫助管理員監控和分析系統活動,從而快速識別並解決問題。一、Syslog基礎知識Syslog的核心功能包括:集中收集和管理日誌消息;支持多種日誌輸出格式和目標位置(例如文件或網絡);提供實時日誌查看和過濾功能。二、安裝和配置Syslog(使用Rsyslog)Debian系統默認使用Rsyslog。您可以通過以下命令安裝:sudoaptupdatesud

選擇適合Debian系統的Hadoop版本,需要綜合考慮以下幾個關鍵因素:一、穩定性與長期支持:對於追求穩定性和安全性的用戶,建議選擇Debian穩定版,例如Debian11(Bullseye)。該版本經過充分測試,擁有長達五年的支持週期,能夠確保系統穩定運行。二、軟件包更新速度:如果您需要使用最新的Hadoop功能和特性,則可以考慮Debian的不穩定版(Sid)。但需注意,不穩定版可能存在兼容性問題和穩定性風險。三、社區支持與資源:Debian擁有龐大的社區支持,可以提供豐富的文檔和


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。