jar包相关
-
.war:WebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如jsp,html,配置文件等
-
.jar:EJB类文件的打包压缩类zip格式文件,,包括很多的class文件, 网景公司发明
-
.rar:资源适配器类打包文件,目前已不常用
-
.ear:企业级WebApp打包,目前已不常用
传统应用开发测试后,通常打包为war格式,这种文件部署到Tomcat的webapps目录下,并默认会自动解压
#conf/server.xml中文件配置
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
状态页
点击进去是无法查看的,需要再配置文件中进行修改
打开该文件
将改成复制的内容贴进去
此时仍然不能打开,因为只能本地打开,虚拟机内是可以看到的
开启远程登陆,便可以访问
cd /usr/local/tomcat/webapps/manager/META-INF
vim context.xml
重启一下 systemctl restart tomcat
这个是看jvm内存使用情况
这能控制项目的状态
这个仍需要配置
依旧是 /usr/local/tomcat/conf/tomcat-users.xml
还需要在修改配置文件
切换到 /usr/local/tomcat/webapps/host-manager/META-INF
修改 context.xml 文件
systemctl restart tomcat
将8005端口修改
注意:0代表随机端口 -1代表无效端口
防止别人通过远程连接关闭tomcat 8005端口
配置虚拟主机
Context配置
Context作用:
-
路径映射:将url映射至指定路径,而非使用appBase下的物理目录,实现虚拟目录功能
-
应用独立配置,例如单独配置应用日志、单独配置应用访问控制
#映射指定路径
<Context path="/test" docBase="/data/test" reloadable="true" />
#映射站点的根目录
<Context path="/" docBase="/data/website" reloadable="true" />
#还可以添加日志等独立的配置
<Context path="/test" docBase="/data/test" reloadable="true" >
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_test_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Context>
说明:
-
path:指的是访问的URL路径,如果path与appBase下面的子目录同名,context的docBase路径优先更高
-
docBase:可以是磁盘文件的绝对路径,也可以是相对路径(相对于Host的appBase)
-
reloadable:true表示如果WEB-INF/classes或META-INF/lib目录下.class文件有改动,就会将WEB应用重新加载。生产环境中,建议使用false来禁用。
例子
[root@localhost data]#mkdir test
[root@localhost data]#echo test > test/index.html
[root@localhost test]#vim /usr/local/tomcat/conf/server.xml
<Host name="www.a.com" appBase="/data/web1"
unpackWARs="true" autoDeploy="true">
<Context path="/test" docBase="/data/test" reloadable="false" />
#如果 访问 www.a.com/test/ 那么 就替换成"/data/test
</Host>
[root@node2 ~]#curl www.a.com:8080/test/
test
tomcat搭建个人博客
将war包放在tomcat/webapps下
搭建一个repo源,用来下载数据库
vim /etc/yum.repo.d/mysql.repo
yum install mysql-community-server -y
yum 安装的数据库,需要修改密码
先启动数据库
这时候我们不知道密码
grep password /var/log/mysqld.log
复制,登录
修改密码 由于是yum安装,安全级别比较高,需要稍作修改
set global validate_password_policy=0; 复杂性没有要求
set global validate_password_length=1; 长度没有要求
修改密码 alter user root@'localhost' identified by 'abc123';
修改完成
创建数据库
192.168.94.7/jpress
搭建完成
jvm虚拟机
参数 | 说明 | 举例 |
---|---|---|
-Xms | 设置应用程序初始使用的堆内存大小(年轻代+老年代) | -Xms2g |
-Xmx | 设置应用程序能获得的最大堆内存早期JVM不建议超过32G,内存管理效率下降 | -Xms4g |
-XX:NewSize | 设置初始新生代大小 | -XX:NewSize=128m |
-XX:MaxNewSize | 设置最大新生代内存空间 | -XX:MaxNewSize=256m |
-Xmnsize | 同时设置-XX:NewSize 和 -XX:MaxNewSize,代 | -Xmn1g |
-XX:NewRatio | 以比例方式设置新生代和老年代 | -XX:NewRatio=2new/old=1/2 |
-XX:SurvivorRatio | 以比例方式设置eden和survivor(S0或S1) | -XX:SurvivorRatio=6eden/survivor=6/1new/survivor=8/1 |
-Xss | 设置每个线程私有的栈空间大小,依据具体线程 | -Xss256k |
实现动静分离
记得每台机子都要把防火墙关闭,关闭核心防护
(systemctl stop firewalld setenforce 0)
准备三台设备
linux1 做反向代理机器 linux2 和 3做 web服务端
linux1 nginx已装好,如果不会装,查看本人往期有关nginx的博客
linux 2 和3安装 jdk和tomcat(tomcat需要jdk)2和3步骤一样
首先先准备tomcat和jdk 的压缩包
tar xf jdk-8u291-linux-x64.tar.gz -C /usr/local/
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/
jdk安装完成
安装tomcat
tomcat安装完成
将tomcat 加入自启动
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
完成
配置 linux1 端 进入配置文件 nginx.conf (yum安装的路径/etc/nginx/nginx.conf 编译安装看你自己放哪就在哪)
记得 nginx -t 检查语法 nginx -s reload 重新加载配置文件
前往 /data下建立相关文件 ,记得先在根下建立 data ( mkdir /data)
图片的话 ,随便找一个 改名成 a.jpg即可
配置 linux2 和linux3
linux2
echo tomcat1 > test.jsp
linux 3 配置基本相同
配置完成
测试
新增设备linux4 linux5 做nginx静态服务器 (yum 安装nginx )
将 /usr/share/nginx/html/index.html 页面进行修改 linux 4 和 5 都是
修改linux1 修改nginx 1的配置文件
修改 linux4 和 5 的配置 双方配置相同
测试
完成