搜索
首页运维Nginxlinux服务器部署tomcat和Nginx的方法

一、准备工作

  首先你得有一台可以玩的linux服务器,知道用户名和密码,然后你需要在windows电脑上安装两个可以连上linux服务器的工具,xshell 5和xftp 5,安装教程不多说,补图说明如何连上服务器:

  xshell连接界面如下,输入好主机ip后点击确定,xshell会弹出窗口输入用户名和密码即可连接成功!

linux服务器部署tomcat和Nginx的方法

  xftp连接界面如下,填空就可以了,很简单不多说,提一下这里为什么选择sftp而不选择ftp呢,看ftp与sftp的区别 知多少就可以明白了!

linux服务器部署tomcat和Nginx的方法

二、安装部署工作

  若要部署项目到到linux服务器上,安装jdk和tomcat是必不可少的,在这里要强调的是,如果你的一个服务器上要部署多个应用时,那就需要针对每一个应用都有自己的tomcat,因为不同的应用下面,tomcat的配置肯定是不一样的,对于这种情况,可以安装一个tomcat安装目录和多个应用下的tomcat的工作目录,对于相同的部分可以共享安装目录的tomcat,下面再分别详细介绍该如何操作,如何安装tomcat和jdk到你的服务器上

1.目录划分   

  这是很重要的一步,可以按照下图这种方式新建目录,该目录下面放置与项目启动和部署访问相关的一些文件,大家可以看到,我在这个目录下面放置了多个版本的jdk和多个版本的tomcat,项目部署过程中具体使用哪个tomcat和jdk都是可以通过配置实现的。

linux服务器部署tomcat和Nginx的方法

  对于实际的应用,我们专门放在一个实例目录下,建立好每个应用的名字,然后该目录下面放置相应的war包,以及解压后的文件,等着tomcat读取该目录部署该应用,如下:

linux服务器部署tomcat和Nginx的方法 linux服务器部署tomcat和Nginx的方法

2.修改配置  

  每个应用下面的tomcat我们也放置在一个目录下面方便管理,如下图,但是得注意每个tomcat的配置

linux服务器部署tomcat和Nginx的方法 linux服务器部署tomcat和Nginx的方法

  /bin目录下面,start.sh文件和stop.sh文件都要修改,首先要指定jdk路径,类似于配置环境变量,其次就是要,指定tomcat工作目录的tomcat路径,大家可以注意到,catalina_home和catalina_base分别对应tomcat的安装目录和工作目录,然后大家从最后一行可以看到项目启动使用的是安装目录下面的start.sh,但是项目启动使用的tomcat配置文件则是每个应用tomcat自己所配置的配置文件。stop.sh也是同样的道理。

linux服务器部署tomcat和Nginx的方法

  对于使用xshell执行./start.sh和./stop.sh都是需要权限的,若出现没有权限,咱们可以使用xftp对start.sh邮件修改权限,按如图所示,打上勾勾即可。

linux服务器部署tomcat和Nginx的方法

  /conf目录下面,需要注意修改的配置有,首先是server.xml文件,修改对应的端口号,每个应用的tomcat都需要修改不同的端口号,不然会导致启动多个tomcat时端口占用而没法启动,最好记住这个这个应用配置的tomcat的端口号,后面使用nginx做端口映射时会用到; 

linux服务器部署tomcat和Nginx的方法

  另外一个要修改的地方就是,catalina目录下的localhost目录下的root.xml文件,该文件用于指定tomcat启动时,加载哪个目录下的项目实例

linux服务器部署tomcat和Nginx的方法

  其他的/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目录如下:

linux服务器部署tomcat和Nginx的方法

  我们只需要关心/conf目录下面的nginx.conf配置文件,具体配置信息我也打开给大家看了,注意到最后一行了么,"include domains/*",表示该配置还没有完,包含/domains目录下的所有配置文件,

linux服务器部署tomcat和Nginx的方法

  这个时候我们把相应的每个应用的nginx配置,用不同命名的文件配置好就可以了

linux服务器部署tomcat和Nginx的方法

  然后再来看看怎么配置吧,监听auction.center.jd.net:80域名访问,然后转发到本机的127.0.0.1的1605端口访问,从配置中我们也可以看到,对于一些异常状态,如http_500 http_502 http_504等会记录下来,做不同的处理,一般情况下可以跳转到网站首页等等,然后就是记录日志,配置好了这个配置文件,我们一定不能忘了新建日志目录,不然nginx找不到目录,启动会报错。

linux服务器部署tomcat和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.补充一句,推荐使用第二种方式,操作简单,成功率高,就拿我来说吧,当我使用第一种方式修改防火墙配置的时候,重启失败,使用第二种方式,完美成功

以上是linux服务器部署tomcat和Nginx的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
雷军分享新年愿望:交付30万辆车、健身房打卡100次雷军分享新年愿望:交付30万辆车、健身房打卡100次Apr 13, 2025 pm 11:54 PM

新年伊始,雷军抖音跨年直播分享了2025年的三个新年愿望,这场长达四个半小时的直播吸引了众多关注。雷军的三大愿望分别是:第一,实现30万辆汽车交付目标,缓解压力,不再被进度追赶。第二,拥有更多旅行时间,欣赏各地美景、品尝特色美食,并结合工作进行汽车测试。第三,坚持健身,计划在健身房打卡100次,强身健体。雷军在直播中坦言,2024年奔波于各地,行程安排紧凑,往往只能短暂停留,难以深入体验当地文化。例如,在德国纽北赛道,他仅停留了8个小时。因此,在新的一年里,他希望能够更好地平衡工作与生活,在旅行

年度口碑佳作!九号公司微电影《记忆奇旅》荣膺多项权威大奖年度口碑佳作!九号公司微电影《记忆奇旅》荣膺多项权威大奖Apr 13, 2025 pm 11:51 PM

九号公司携手品牌代言人易烊千玺打造的微电影《记忆奇旅》,在2024年荣获多项权威媒体大奖,成为年度口碑佳作。这部作品以独特的叙事风格、精湛的制作和真挚的情感,赢得了业界的高度赞誉。2024年度获奖荣誉:2024金触点全球商业创新大奖-年度影视广告2024中国广告营销大奖-娱乐营销组银奖2024TopDigital创新营销奖-影视制作类金奖2024上海国际广告节-微电影银奖2024第十一届中国创新传播大奖-整合营销类银奖WISE2024商业之王-年度案例第31届中国国际广告节2024数字营销实战大

创新引领,再获殊荣!AGON斩获PConline2024智臻科技奖创新引领,再获殊荣!AGON斩获PConline2024智臻科技奖Apr 13, 2025 pm 11:48 PM

近日,PConline2024智臻科技奖正式揭晓,AGON爱攻QD-OLED电竞显示器AG326UD荣获“年度技术创新”奖项。此项殊荣不仅代表了业界对其技术优势与市场表现的高度认可,更充分体现了AGON爱攻在电竞显示器技术领域的创新能力和卓越成就。01.瞰科技未来,品技术革命PConline智臻科技奖的权威含金量作为科技行业的风向标,PConline智臻科技奖凭借其严谨的评审体系和深度的行业分析,成功赢得广泛的行业认可。该奖项始终致力于表彰推动科技行业发展的优秀产品和品牌,涵盖从技

索尼证实PS5 Pro使用特制GPU 与AMD合作研发AI可能性索尼证实PS5 Pro使用特制GPU 与AMD合作研发AI可能性Apr 13, 2025 pm 11:45 PM

SonyInteractiveEntertainment(SIE,索尼互动娱乐)首席架构师MarkCerny公开更多次世代主机PlayStation5Pro(PS5Pro)硬体细节,包括性能升级的AMDRDNA2.x架构GPU,以及与AMD合作代号「Amethyst」的机器学习/人工智慧计划。 PS5Pro性能提升的重点仍集中在更强大的GPU、先进的光线追踪与AI驱动的PSSR超解析度功能等3大支柱上。 GPU采用客制化的AMDRDNA2架构,索尼将其命名为RDNA2.x,它拥有部分RDNA3架构才

终于改了!微软Windows搜索功能将迎来全新更新终于改了!微软Windows搜索功能将迎来全新更新Apr 13, 2025 pm 11:42 PM

微软针对Windows搜索功能的改进,目前已在欧盟地区部分WindowsInsider频道展开测试。此前,整合后的Windows搜索功能饱受用户诟病,体验欠佳。此次更新将搜索功能拆分为本地搜索和基于Bing的网络搜索两部分,以提升用户体验。新版搜索界面默认进行本地文件搜索,如需进行网络搜索,需点击“MicrosoftBingWebSearch”标签进行切换。切换后,搜索栏将显示“MicrosoftBingWebSearch:”,用户可在此输入关键词。此举有效避免了本地搜索结果与Bing搜索结果混

熟练地烤好了!怪物猎人推出20周年烤肉计时器与暖水壶熟练地烤好了!怪物猎人推出20周年烤肉计时器与暖水壶Apr 13, 2025 pm 11:39 PM

为庆祝卡普空《怪物猎人》系列20周年,宝岛社推出了一款别具匠心的杂志套装——《怪物猎人》主题烧烤计时器及随行杯。该套装将于12月27日在日本全国全家便利店发售,售价3498日元。这款杂志套装最大的亮点在于其互动式烧烤计时器,完美复刻了系列游戏中的经典烧烤场景。计时器采用旧版烤肉工具的设计,配有LED火焰灯效和游戏BGM,让您在实际烧烤过程中也能体验到狩猎的乐趣。旋转手柄模拟翻转烤肉,成功烤熟后更会播放“烤好了!”的语音提示。计时器尺寸约为9.5cm(高)x10.7cm(宽)x8cm(深),内置L

太懂用户了!小米SU7车主可免费领Are U OK气门芯帽太懂用户了!小米SU7车主可免费领Are U OK气门芯帽Apr 13, 2025 pm 11:36 PM

小米汽车一周年庆典,为车主送上新年大礼!继去年交付量突破13万辆后,小米汽车官方微博宣布,将为每位小米SU7车主及准车主赠送雷军经典语录“AreyouOK?”主题气门芯帽,数量有限,免费领取!活动时间:2024年12月28日下午4点至2025年1月20日23:59:59。在2024年12月31日23:59:59前购车或完成订单的用户,即可免费获得一套四件套“AreyouOK?”气门芯帽。这款气门芯帽于今年9月首发,采用亮黄色PVC和黄铜材质制成,黄铜芯直接嵌入,确保行驶安全,不易脱落。用途广泛,

HDMI 2.2标准有望2025前夕公布!8K分辨率即将到来HDMI 2.2标准有望2025前夕公布!8K分辨率即将到来Apr 13, 2025 pm 11:33 PM

据报道,HDMI2.2标准有望在2025年CES展会前夕正式发布,HDMIForum计划于1月6日公布这一新一代视频信号传输协议规范。2017年发布的HDMI2.1标准,最大带宽为48Gbps,支持4K144Hz和8K30Hz视频传输,结合DSC技术最高可达10K120Hz。预计HDMI2.2将大幅提升带宽,支持更高分辨率和刷新率,并采用新型线材。虽然具体规格尚未公开,但HDMI2.2势必超越HDMI2.1的48Gbps带宽和10240*4320分辨率限制。鉴于DisplayPort2.1在20

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境