tomcat部署服务及实现会话共享、Nexus安装及实现私有仓库

1、tomcat部署服务及实现会话共享

安装JDK

官方下载 https://www.oracle.com/java/technologies/downloads/

root@ubuntu2204:~# tar -xf jdk-8u371-linux-x64.tar.gz -C /usr/local/
root@ubuntu2204:~# cd /usr/local/
root@ubuntu2204:/usr/local# ln -s jdk1.8.0_371/ jdk
root@ubuntu2204:/usr/local# ls jdk
bin  COPYRIGHT  include  javafx-src.zip  jmc.txt  jre  jvisualvm.txt  legal  lib  LICENSE  man  README.html  release  src.zip  THIRDPARTYLICENSEREADME-JAVAFX.txt  THIRDPARTYLICENSEREADME.txt

root@ubuntu2204:/usr/local# vim /etc/profile.d/jdk.sh
root@ubuntu2204:/usr/local# cat /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export CLASSPARH=.:$JAVA_HOME/lib/:$JRE_HOME/lib/
root@ubuntu2204:/usr/local# . /etc/profile.d/jdk.sh

root@ubuntu2204:/usr/local# java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
root@ubuntu2204:/usr/local# which java
/usr/local/jdk/bin/java



安装tomcat

下载 tomcat:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/

root@ubuntu2204:~# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz
oot@ubuntu2204:~# tar -xf apache-tomcat-9.0.83.tar.gz -C /usr/local/
root@ubuntu2204:~# cd /usr/local/
root@ubuntu2204:/usr/local# ln -s apache-tomcat-9.0.83/ tomcat


root@ubuntu2204:/usr/local# echo 'PATH=/usr/local/tomcat/bin:$PATH' >/etc/profile.d/tomcat.sh
root@ubuntu2204:/usr/local# . /etc/profile.d/tomcat.sh

root@ubuntu2204:/usr/local# catalina.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Usage: catalina.sh ( commands ... )
commands:
  debug             Start Catalina in a debugger
  debug -security   Debug Catalina with a security manager
  jpda start        Start Catalina under JPDA debugger
  run               Start Catalina in the current window
  run -security     Start in the current window with security manager
  start             Start Catalina in a separate window
  start -security   Start in a separate window with security manager
  stop              Stop Catalina, waiting up to 5 seconds for the process to end
  stop n            Stop Catalina, waiting up to n seconds for the process to end
  stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
  stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running
  configtest        Run a basic syntax check on server.xml - check exit code for result
  version           What version of tomcat are you running?
Note: Waiting for the process to end and use of the -force option require that $CATALINA_PID is defined

root@ubuntu2204:/usr/local# catalina.sh version
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Server version: Apache Tomcat/9.0.83
Server built:   Nov 9 2023 20:57:42 UTC
Server number:  9.0.83.0
OS Name:        Linux
OS Version:     5.15.0-88-generic
Architecture:   amd64
JVM Version:    1.8.0_371-b11
JVM Vendor:     Oracle Corporation
#启动tomcat

root@ubuntu2204:/usr/local# startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
root@ubuntu2204:/usr/local# ss -ntl
State                       Recv-Q                      Send-Q                                                Local Address:Port                                             Peer Address:Port                      Process                      
LISTEN                      0                           128                                                       127.0.0.1:6010                                                  0.0.0.0:*                                                      
LISTEN                      0                           4096                                                  127.0.0.53%lo:53                                                    0.0.0.0:*                                                      
LISTEN                      0                           128                                                         0.0.0.0:22                                                    0.0.0.0:*                                                      
LISTEN                      0                           128                                                           [::1]:6010                                                     [::]:*                                                      
LISTEN                      0                           1                                                [::ffff:127.0.0.1]:8005                                                        *:*                                                      
LISTEN                      0                           100                                                               *:8080                                                        *:*                                                      
LISTEN                      0                           128                                                            [::]:22                                                       [::]:*  

#停止服务
root@ubuntu2204:/usr/local/tomcat# shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   



在这里插入图片描述

配置 tomcat 自启动的 service 文件

root@ubuntu2204:/usr/local/tomcat# useradd -r -s /sbin/nologin tomcat
root@ubuntu2204:/usr/local/tomcat# vim /usr/local/tomcat/conf/tomcat.conf
root@ubuntu2204:/usr/local/tomcat# cat /usr/local/tomcat/conf/tomcat.conf
JAVA_HOME=/usr/local/jdk
#创建tomcat 专用账户 
root@ubuntu2204:/usr/local/tomcat# useradd -r -s /sbin/nologin tomcat
#准备service变量
root@ubuntu2204:/usr/local/tomcat# vim /usr/local/tomcat/conf/tomcat.conf
root@ubuntu2204:/usr/local/tomcat# cat /usr/local/tomcat/conf/tomcat.conf
JAVA_HOME=/usr/local/jdk
root@ubuntu2204:/usr/local/tomcat# chown -R tomcat:tomcat /usr/local/tomcat/

#创建service文件
root@ubuntu2204:/usr/local/tomcat# vim /lib/systemd/system/tomcat.service
root@ubuntu2204:/usr/local/tomcat# cat /lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/jdk
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target

root@ubuntu2204:/usr/local/tomcat# systemctl daemon-reload
root@ubuntu2204:/usr/local/tomcat# systemctl enable --now tomcat
oot@ubuntu2204:/usr/local/tomcat# ss -ntl
State                       Recv-Q                      Send-Q                                                Local Address:Port                                             Peer Address:Port                      Process                      
LISTEN                      0                           128                                                       127.0.0.1:6010                                                  0.0.0.0:*                                                      
LISTEN                      0                           4096                                                  127.0.0.53%lo:53                                                    0.0.0.0:*                                                      
LISTEN                      0                           128                                                         0.0.0.0:22                                                    0.0.0.0:*                                                      
LISTEN                      0                           128                                                           [::1]:6010                                                     [::]:*                                                      
LISTEN                      0                           1                                                [::ffff:127.0.0.1]:8005                                                        *:*                                                      
LISTEN                      0                           100                                                               *:8080                                                        *:*                                                      
LISTEN                      0                           128                                                            [::]:22                                                       [::]:*                             


负载均衡配置

网络规划

IP主机名服务软件
10.0.0.150proxy.wang.org调度器Nginx
10.0.0.151t1.wang.org服务JDK8、Tomcat9
10.0.0.512t2.wang.org服务JDK8、Tomcat9

在调度节点配置域名解析
vim /etc/hosts
#添加以下三行
10.0.0.150 proxy.wang.org proxy
10.0.0.151 t1.wang.org t1
10.0.0.152 t2.wang.org t2

负载均衡tomcat主机准备

修改tomcat的虚拟机主机为自定义的主机名,并设为默认的虚拟主机
t1虚拟主机配置conf/server.xml

<Engine name="Catalina" defaultHost="t1.wang.org">
  <Host name="t1.wang.org" appBase="/data/webapps" autoDeploy="true" >
  </Host>
</Engine>

t2虚拟主机配置conf/server.xml

<Engine name="Catalina" defaultHost="t2.wang.org">
  <Host name="t2.wang.org" appBase="/data/webapps" autoDeploy="true" >
  </Host>
</Engine>

准备负载均衡规划测试用的 jsp文件

#项目路径配置
mkdir -pv /data/webapps/ROOT
#编写测试jsp文件,内容在下面
vim /data/webapps/ROOT/index.jsp
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>tomcat test</title>
</head>
<body>
<div>On <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>
#设置权限
chown -R tomcat.tomcat /data/webapps/
#重启tomcat 服务
systemctl restart tomcat.service

Nginx 实现后端 Tomcat 的负载均衡调度

确保防火墙 selinx 关闭

[root@rocky8 ~]# yum install nginx -y
创建单独配置文件放到主配置文件 关联的路径中  include /etc/nginx/conf.d/*.conf;

[root@rocky8 ~]# vim /etc/nginx/conf.d/tomcat.conf
#在http块中加以下内容
upstream tomcat-server {
    ip_hash;     # 先禁用看看轮询,之后开启开黏性,只根据客户端IP的前三位十进制数字
    #hash $remote_addr consistent;    # 根据客户端IP的全部位
    #hash $cookie_JSESSIONID consistent; # 先禁用看看轮询,之后开启开黏性,JSESSIONID可以小写
    server t1.wang.org:8080;
    server t2.wang.org:8080;
}
 
server {
    listen 80;
    server_name 10.0.0.150;
    location / {
         proxy_pass http://tomcat-server;
      #proxy_set_header Host $http_host; #转发主机头至后端服务器
   }
}



浏览器访问验证http://10.0.0.150/
打开 ip_hash指令 前后对比,发现打开前 主机和session 一直变化,打开后,主机和session 都不在变化
在这里插入图片描述

2、Nexus 安装及实现私有仓库

Nexus 下载安装

安装JDK

root@ubuntu2204:~# apt install openjdk-8-jdk -y
root@ubuntu2204:~# java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-8u382-ga-1~22.04.1-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)


在这里插入图片描述

下载Nexus 软件包

#官网下载软件包 
https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3

wget https://download.sonatype.com/nexus/3/nexus-3.54.1-01-unix.tar.gz

在这里插入图片描述

root@ubuntu2204:~# ll nexus-3.54.1-01-unix.tar.gz
-rw-r--r-- 1 zheng zheng 210531214 Nov 26 14:21 nexus-3.54.1-01-unix.tar.gz

root@ubuntu2204:~# tar -xf nexus-3.54.1-01-unix.tar.gz -C /usr/local/
root@ubuntu2204:~# ln -s /usr/local/nexus-3.54.1-01/ /usr/local/nexus
root@ubuntu2204:~# ls /usr/local/nexus
bin  deploy  etc  lib  NOTICE.txt  OSS-LICENSE.txt  PRO-LICENSE.txt  public  replicator  system
root@ubuntu2204:~# ln -s /usr/local/nexus/bin/nexus /usr/bin/
root@ubuntu2204:~# ll /usr/local/nexus/bin/nexus
root@ubuntu2204:~# file /usr/local/nexus/bin/nexus
/usr/local/nexus/bin/nexus: POSIX shell script, ASCII text executable, with very long lines (862)
#指定运行者身份
root@ubuntu2204:~# vim /usr/local/nexus/bin/nexus.rc
run_as_user="root"

#查看配置文件,可以在此文件中修改端口等信息
root@ubuntu2204:~# cat /usr/local/nexus/etc/nexus-default.properties
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

nexus.hazelcast.discovery.isEnabled=true

# 查看JVM 配置信息
root@ubuntu2204:~# cat /usr/local/nexus/bin/nexus.vmoptions

-Xms2703m
-Xmx2703m

#前台运行
root@ubuntu2204:~# nexus run
# 后台运行
root@ubuntu2204:~# nexus start
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Starting nexus
#查看状态
root@ubuntu2204:~# nexus status
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
nexus is running.
# 停止服务
root@ubuntu2204:~# nexus stop
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Shutting down nexus

Stopped.
#配置service 文件
root@ubuntu2204:~# vim /lib/systemd/system/nexus.service
root@ubuntu2204:~# cat /lib/systemd/system/nexus.service
[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/nexus/bin/nexus start
ExecStop=/usr/local/nexus/bin/nexus stop
User=root
#User=nexus
Restart=on-abort
[Install]
WantedBy=multi-user.target

root@ubuntu2204:~# systemctl daemon-reload
root@ubuntu2204:~# systemctl enable --now  nexus.service
Created symlink /etc/systemd/system/multi-user.target.wants/nexus.service → /lib/systemd/system/nexus.service.

root@ubuntu2204:~#
root@ubuntu2204:~# tail -f /var/log/syslog
Nov 26 14:47:17 ubuntu2204 systemd[1]: Starting nexus service...
Nov 26 14:47:17 ubuntu2204 nexus[19470]: WARNING: ************************************************************
Nov 26 14:47:17 ubuntu2204 nexus[19470]: WARNING: Detected execution as "root" user.  This is NOT recommended!
Nov 26 14:47:17 ubuntu2204 nexus[19470]: WARNING: ************************************************************
Nov 26 14:47:17 ubuntu2204 nexus[19470]: Starting nexus


root@ubuntu2204:~# ss -ntlp  |grep java
LISTEN 0      50           0.0.0.0:8081       0.0.0.0:*    users:(("java",pid=19653,fd=788))
LISTEN 0      1          127.0.0.1:36159      0.0.0.0:*    users:(("java",pid=19653,fd=125))
root@ubuntu2204:~#



http://10.0.0.152:8081/

登录web网页初始化

http://10.0.0.152:8081/

需要在右上角点Sign in 进行登录才能进行管理
在这里插入图片描述
查看初始密码

root@ubuntu2204:~# cat  /usr/local/sonatype-work/nexus3/admin.password
e8dddce8-b273-4832-9a5d-468e4dd04b65

在这里插入图片描述
安装提示重设密码
在这里插入图片描述
启用匿名访问将默认允许未经授权的下载,浏览和搜索存储库内容,可以通过编辑分配给匿名用户的角
色来更改匿名用户的权限。
生产建议打开匿名访问功能,无需登录就可以下载资源
在这里插入图片描述
在这里插入图片描述

验证默认仓库

在这里插入图片描述

Maven的仓库优化配置

默认仓库maven-central使用国外仓库地址,可修改为如下的国内镜像地址进行加速
http://maven.aliyun.com/nexus/content/groups/public

在这里插入图片描述
在这里插入图片描述
修改为国内镜像,参考阿里云

http://maven.aliyun.com/nexus/content/groups/public

在这里插入图片描述

在这里插入图片描述

maven项目仓库获取

在这里插入图片描述

maven 安装配置

节点确保已经安装jdk

root@ubuntu2204:~# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz
root@ubuntu2204:~# tar -xf apache-maven-3.9.4-bin.tar.gz -C /usr/local/
root@ubuntu2204:~# ln -s /usr/local/apache-maven-3.9.4/ /usr/local/maven
root@ubuntu2204:~# echo 'PATH=/usr/local/maven/bin:$PATH' >/etc/profile.d/maven.sh
root@ubuntu2204:~# echo 'export MAVEN_HOME=/usr/local/maven' >> /etc/profile.d/maven.sh
root@ubuntu2204:~# . /etc/profile.d/maven.sh
root@ubuntu2204:~# echo $PATH
/usr/local/maven/bin:/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/jdk/bin:/usr/local/jdk/bin:/usr/local/jdk/bin

root@ubuntu2204:~# mvn -v
Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
Maven home: /usr/local/maven
Java version: 1.8.0_371, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_371/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-88-generic", arch: "amd64", family: "unix"




maven仓库加速

root@ubuntu2204:~# vim /usr/local/maven/conf/settings.xml
 <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus</name>
      <url>http://10.0.0.152:8081/repository/maven-central/</url>
      <!--
      <blocked>true</blocked>
      -->
    </mirror>

编译 java 程序 Jpress 验证nexus

root@ubuntu2204:~/data# git clone https://gitee.com/JPressProjects/jpress.git
root@ubuntu2204:~/data# cd jpress/
root@ubuntu2204:~/data/jpress# mvn clean install package -Dmaven.test.skip=true

root@ubuntu2204:~/data/jpress# ls starter-tomcat/target/
classes  maven-archiver  starter-tomcat-5.0  starter-tomcat-5.0-classes.jar  starter-tomcat-5.0.war

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值