文章目录
1.单节点Tomcat部署Zrlog
1.获取war包,或者 ( 源码包 -->编译-->war包--部署 )
war包:直接部署
源码包:编译生成war包在部署
1.定义虚拟主机
[root@web01 ~]# vim /soft/tomcat/conf/server.xml
#找到host段添加进去
<!--站点zrlog.wyk.com-->
<Host name="zrlog.wyk.com" appBase="/zrlog"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="zrlog_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
2.上传war包至指定目录
[root@web01 conf]# mkdir /zrlog
[root@web01 conf]# ll /zrlog/
总用量 11316
-rw-r--r-- 1 root root 11585583 5月 11 11:32 ROOT.war
3.重启tomcat应用(不需要手动创建ROOT目录会自动生成)
1.自动加压.war包
2.自动部署,war包
[root@web01 conf]# /soft/tomcat/bin/shutdown.sh #关闭
[root@web01 conf]# /soft/tomcat/bin/startup.sh #重启
4.检查是否部署ok
#日志文件
[root@web01 conf]# tail -f /soft/tomcat/logs/catalina.out
11-May-2020 11:33:32.577 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"]
11-May-2020 11:33:32.681 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in [4,035] milliseconds
5.访问zrlog站点
51数据库主机
配置远程数据库连接信息
MariaDB [(none)]> create database zrlog charset utf8; #创建库名
MariaDB [(none)]> grant all privileges on *.* to 'all'@'%' identified by 'wyk.com'; #创建远程连接数据库用户
浏览器访问连接:
2.多个web节点部署
多个web节点。
172.16.1.7
172.16.1.8
1.将配置文件推送到另外一台服务器
1.安装tomcat
[root@web02 ~]# yum install java -y
3.拷贝代码 (注意是在web01节点操作的)
[root@web01 ~]# scp -rp /soft root@10.0.0.8:/
[root@web01 ~]# scp -rp /zrlog root@10.0.0.8:/
注意:配置文件里面创建的站点要配置才能启动tomcat,用不到的配置站点删掉
4.web02操作如下
#删除传过来的软连接重新创建
[root@web02 ~]# rm -rf /soft/tomcat/
[root@web02 ~]# ln -s /soft/apache-tomcat-9.0.34/ /soft/tomcat
2.共享静态资源。
172.16.1.31 服务器
yum install nfs-utils -y #nfs软件下载
#配置nfs共享
[root@nfs ~]# cat /etc/exports
/data/blog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/zrlog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
#创建共享目录修改权限
[root@nfs ~]# mkdir /data/zrlog
[root@nfs ~]# chown -R www.www /data/zrlog/
[root@nfs ~]# systemctl restart nfs
#找到图片存放文章进行挂载所有web节点都需要挂载
mount -t nfs 172.16.1.31:/data/zrlog /zrlog/ROOT/attached/
3.配置负载均衡加HTTPS访问
[root@lb ~]# cat /etc/nginx/conf.d/proxy_zrlog.wyk.com.conf
upstream zrlog {
server 172.16.1.7:8080;
server 172.16.1.8:8080;
}
server {
listen 443 ssl;
server_name zrlog.wyk.com;
ssl_certificate ssl_key/server.crt;
ssl_certificate_key ssl_key/server.key;
location / {
proxy_pass http://zrlog;
include proxy_params;
}
}
server {
listen 80;
server_name zrlog.wyk.com;
return 302 https://$server_name$request_uri;
}
3.tomcat自带的base的基础认证。 ( nginx basic auth)
- 对默认站点的认证
1.配置conf/tomcat-users.xml
#添加到最后一段;认证用户密码设置了两个用户
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="wyksyc" password="123456" roles="manager-gui,admin-gui"/>
2.还需要配置该项目的访问权限,因为Tomcat默认管理页面仅允许本机访问,如果希望其他网段能正常访问,需要配置允许规则。
找到webapps/项目/META-INF/context.xml
#修改下面两个配置文件
[root@web01 ~]# vim /soft/tomcat/webapps/
docs/ examples/ host-manager/ manager/ ROOT/
[root@web01 ~]# vim /soft/tomcat/webapps/manager/META-INF/context.xml
[root@web01 ~]# vim /soft/tomcat/webapps/host-manager/META-INF/context.xml
[root@es-node1 tomcat]# vim 项目目录下/META-INF/context.xml
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
#修改为10.0.0.* (\转译)
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10\.0\.0\.\d+" />
项目如何引入base基础认证。
1.为zrblog添加/admin/添加base认证,需要找到项目下的WEB-INF/web.xml进行配置。(了解)
#将下面配置添加到文件结尾
[root@es-node1 tomcat]# vim /zrlog/ROOT/WEB-INF/web.xml
<web-app>
...
<security-constraint>
<!--定义资源名称以及需要认证的url-->
<web-resource-collection>
<web-resource-name>zrlog</web-resource-name>
<url-pattern>/admin/*</url-pattern> #访问admin进行认证
</web-resource-collection>
<!--给对应资源关联角色名-->
<auth-constraint>
<role-name>zrlog_role</role-name>
</auth-constraint>
</security-constraint>
<!--调用BASIC方法来实现认证-->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Default</realm-name>
</login-config>
...
</web-app>
#配置用户名密码,关联对应的角色(多个role不要使用相同用户)
[root@es-node1 tomcat]# vim /soft/tomcat/conf/tomcat-users.xml
<role rolename="zrlog_role"/>
<user username="tomcat" password="123456" roles="zrlog_role"/>
#重启tomcat
[root@es-node1 ~]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh
- 完成!!!
3.java源码包、jar包、war包的关系、联系、区别? 扩展知识
1.什么是源码包?
由java工程师编写的java代码,称职为java源码包。
编译 ( maven 方式去编译java的源代码 )
编译之后会得到一个包裹:
war
jar
2.什么是war包?
由源码编译后生成的产物,可以直接放入 tomcat运行起来。( 比较广泛 )
3.什么是jar包?
由源码编译后生成的产物。
1.不能独立运行起来,它可能被某个java程序依赖运行。或者war包运行所依赖。
2.可独立运行起来的, java -jar xxx.jar 直接启动运行,无需tomcat
4.源码包、jar、war:
1.源码包编译后会产生war包、jar包
2.war通常是直接由tomcat运行启动,启动加载项目时会依赖一些jar包。
3.jar包,
分为不可独立运行(被java程序依赖运行、或者是被war包依赖运行)
分为可独立运行:可以直接对外提供服务。只需要有java环境即可。启动命令: java -jar xx.jar