当前位置:首页 > 有云笔记 > OPERATION > 正文内容

Tomcat服务器 、 Tomcat应用案例 、 Maven应用案例

小白2年前 (2022-01-14)OPERATION129840

Tomcat服务器 、 Tomcat应用案例 、 Maven应用案例

operation 05

=============================================

一,使用tomcat搭建网站服务

cd  ~/lnmp_soft/
tar  -xf  apache-tomcat-8.0.30.tar.gz     //释放tomcat软件包
cp  -r  apache-tomcat-8.0.30  /usr/local/tomcat
cd  /usr/local/tomcat/
yum -y install java-1.8.0-openjdk    //安装java程序运行环境包

tomcat目录:

bin  存放主程序

logs  存放日志

conf  配置文件

webapps  存放网站页面  

lib  存放库文件

work  存放编译后页面文件

[root@proxy tomcat]# bin/startup.sh   //开启服务

http://192.168.2.5:8080/     //使用火狐访问

netstat  -ntulp | grep  java   //检查如果有8005、8009、8080端口则正常

由于tomcat服务开启时需要大量随机字符,但系统中随机字符

不够多的话会导致tomcat服务启动失败

解决方案1:

mv  /dev/random  /dev/random.bak    //将random改名
ln  -s  /dev/urandom  /dev/random   //用urandom替换random

 解决方案2:


yum -y  install  rng-tools
systemctl  start  rngd

killall   java   //杀掉所有java程序
[root@proxy tomcat]# bin/startup.sh   //重新开启服务
netstat  -ntulp | grep  java   //检查如果有8005、8009、8080端口则正常

测试静态页面:


cd  /usr/local/tomcat
echo  "tomcat-test~~~~"  >  webapps/ROOT/test01.html

http://192.168.2.5:8080/test01.html   火狐访问测试

 测试动态页面

vim webapps/ROOT/test02.jsp

<html>

<body>

<center>

Now time is: <%=new java.util.Date()%>

</center>

</body>

</html>

http://192.168.2.5:8080/test02.jsp   火狐访问测试

-----------------------------------------------------------

二,使用tomcat创建虚拟主机

回顾,

httpd搭建虚拟主机

<virtualhost *:80>

servername www.a.com

documentroot  /var/www/html

</virtualhost>

 

nginx搭建虚拟主机

http  {

server  {

listen 80;

server_name www.a.com;

root html;

index index.html;

}

}

 

tomcat搭建虚拟主机

<Host  name=域名 appBase=网站页面位置  >

</Host>

 

vim conf/server.xml  //打开配置文件在122行添加虚拟主机配置

<Host  name="www.b.com"  appBase="web_b">      //这里顺便把下面的默认的

虚拟主机的name="localhost"改成 name="www.a.com"

</Host>


 mkdir -p web_b/ROOT    //之后创建b网站的目录
echo "tomcat-A~~~" > webapps/ROOT/index.html
echo "tomcat-B~~~" > web_b/ROOT/index.html
tail -1 /etc/hosts   //查看域名解析


192.168.2.5  www.a.com  www.b.com 

bin/shutdown.sh   //关闭tomcat
bin/startup.sh   //开启
[root@proxy tomcat]# curl www.a.com:8080   //测试
tomcat-A~~~
[root@proxy tomcat]# curl www.b.com:8080
tomcat-B~~~

再次修改虚拟主机配置

<Host name="www.b.com" appBase="web_b"

unpackWARs="true" autoDeploy="true">      //添加unpackWARs自动

war包,和autoDeploy可以自动更新开发工程师编写的网站功能代码

</Host>


 bin/shutdown.sh     //然后重启tomcat
bin/startup.sh    //开启服务
netstat  -ntulp | grep  java    //检查
yum -y install java-1.8.0-openjdk-devel  //安装可以制作war包的工具
jar  -cf  b.war  /var/log   //之后可以使用jar命令打war包
cp  b.war  web_b/  //将war包放入虚拟主机的网页目录
ls  web_b/    //检查,可以看到已经自动解开

-----------------------------------------------------------------

三,tomcat访问路径与页面位置

Context  path  匹配用户访问路径  

docBase 定义页面位置

 测试 1

<Host name="www.b.com" appBase="web_b"

unpackWARs="true" autoDeploy="true">

<Context  path=""  docBase=""  />        

</Host>

 


echo "web_b/ROOT/index.html" > web_b/ROOT/index.html   //默认页面路径
echo "web_b/index.html" > web_b/index.html   //创建素材,定义新路径

curl  www.b.com:8080   //测试可以看到的是默认的页面路径

web_b/ROOT/index.html

之后重启tomcat

curl  www.b.com:8080    //重启后测试可以看到新路径

web_b/index.html

 测试 2

<Host name="www.b.com" appBase="web_b"

unpackWARs="true" autoDeploy="true">

<Context  path=""  docBase="abc"  />   //修改成abc

</Host>

 


mkdir  web_b/abc    //创建测试目录
echo "web_b/abc/index.html"  >  web_b/abc/index.html  //测试页面

重启tomcat

[root@proxy tomcat]# curl www.b.com:8080//查看,见到新路径

web_b/abc/index.html

 测试 3:

<Host name="www.b.com" appBase="web_b"

unpackWARs="true" autoDeploy="true">

<Context  path=""  docBase="/abc"  />   //修改成/abc

</Host>

 


mkdir  /abc  //创建测试目录
echo  "/abc/index.html"  > /abc/index.html    //创建测试文件

重启tomcat

[root@proxy tomcat]# curl www.b.com:8080//得到新路径

/abc/index.html

 测试 4:

<Host name="www.b.com" appBase="web_b"

unpackWARs="true" autoDeploy="true">

<Context  path="/test"  docBase="/abc"  />   //path后面添加内容可以匹配

用户访问路径,当用户访问www.b.com:8080/test/时,看到的是/abc的内容,如果

访问www.b.com:8080就看到web_b/ROOT的内容

</Host>

重启tomcat


[root@proxy tomcat]# curl www.b.com:8080/test/
/abc/index.html
[root@proxy tomcat]# curl www.b.com:8080
web_b/ROOT/index.html

测试 5

<Host name="www.b.com" appBase="web_b"

unpackWARs="true" autoDeploy="true">

<Context  path="/test"  docBase="abc"  />     ///abc改成abc

当用户访问www.b.com:8080/test/时,可以看到web_b/abc里的内容

当用户访问www.b.com:8080时就看到web_b/ROOT的内容

重启tomcat


[root@proxy tomcat]# curl www.b.com:8080/test/  
web_b/abc/index.html
[root@proxy tomcat]# curl www.b.com:8080
web_b/ROOT/index.html

如何实现?

访问www.b.com:8080   看到的是    /usr/local/tomcat/dc/dcc目录里面的内容

访问www.b.com:8080/abc/  看到的是   /var/www/html 目录里面的内容

<Host name="www.b.com" appBase="dc"

    unpackWARs="true" autoDeploy="true">

<Context path="/abc" docBase="/var/www/html" />

<Context path="" docBase="dcc" />

</Host>

---------------------------------------------------------------------------------

四,给新创建的虚拟主机添加日志功能

vim conf/server.xml   //修改配置文件,复制最后一页默认虚拟主机的日志配置

其中prefix是日志名称suffix是日志后缀名

<Host name="www.b.com" appBase="test01"

unpackWARs="true" autoDeploy="true">

<Context path="" docBase="abc" />

     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="www_b_com" suffix=".log"

               pattern="%h %l %u %t "%r" %s %b" />

</Host>

配置好之后开启或者重启tomcat服务

curl  www.b.com:8080   //访问一次网站,可以产生日志记录

[root@proxy tomcat]# ls logs/    查看日志目录可以看到b网站的日志名称

--------------------------------------------------------------------------

五,通过maven构建项目 

maven是一个项目管理工具

1, 将三个文件传入虚拟机root的家目录,原地释放

apache-maven-3.6.3-bin.tar.gz     //maven工具包

cms.tar.gz    //网站项目,代码已经都编写完毕

m2.tar.gz   //依赖程序,释放之后是隐藏目录.m2

如果有软件包无法释放可以尝试安装bzip2软件包

 

2,配置maven

mv  apache-maven-3.6.3  /usr/local/maven   //maven移动到/usr/local

yum -y install  java-1.8.0-openjdk

yum -y install  java-devel

vim  /usr/local/maven/conf/settings.xml   //打开配置文件在第158下面添加

公网服务器地址

<mirror>

          <id>nexus-aliyun</id>

          <mirrorOf>*</mirrorOf>

          <name>Nexus aliyun</name>

          <url>http://maven.aliyun.com/nexus/content/groups/public</url>

</mirror>

 

3,配置数据库

yum -y  install  mariadb  mariadb-server

systemctl  start  mariadb

[root@proxy ~]# cd  ~/CMS/

cp  src/main/resources/shishuocms.properties  .  //拷贝网站数据库

配置文件到当前目录,该文件定义了数据的用户名和密码等信息

mysql  -uroot  -p  <  sql/install.sql    //导入网站相关数据库文件

Enter password:    直接回车

mysqladmin password    //修改数据库密码

New password:      //接下来输入12345678

Confirm new password:     //在输入一次12345678

 

---------------------------------------------------------

如果密码输入错误

mysqladmin password -uroot -p

先输入旧密码,然后输入两次新密码

 

如果密码忘记

systemctl stop mariadb    //停服务

yum -y remove mariadb-server   //删除

rm -rf /var/lib/mysql/    //删除数据库文件,这样密码就没了

yum -y install mariadb-server   //重装

systemctl start mariadb   //启动数据库

-------------------------------------------------------------

 

4,利用maven打包项目

/usr/local/maven/bin/mvn  clean  package    //按照之前定义的

公网服务器地址、数据库配置等内容打包项目注意该命令要在CMS目录进行

 

rm  -rf  /usr/local/tomcat/webapps/ROOT   //删除原有默认页面目录

cp  target/shishuocms-2.0.1.war  /usr/local/tomcat/webapps/ROOT.war  

 //将新项目移动到tomcat中,然后会自动解包

打开浏览器  访问 www.a.com:8080   看到“师说”页面则成功

 

如果真机无法解析www.a.com,或者tomcat配置文件有误,则按以下方式恢复

cp  ~/lnmp_soft/apache-tomcat-8.0.30/conf/server.xml  /usr/local/tomcat/conf/

cp: 是否覆盖 "/usr/local/tomcat/conf/server.xml"?  y      //tomcat的配置

文件恢复默认

重启tomcat  

然后真机打开浏览器访问192.168.2.5:8080看到“师说”页面则成功

 

六,使用tomcat搭建https网站

1,准备工作,先还原环境

killall  java
cd  ~/lnmp_soft
rm  -rf  /usr/local/tomcat/
cp  -r  apache-tomcat-8.0.30  /usr/local/tomcat
yum -y install  java-1.8.0-openjdk
cd  /usr/local/tomcat/
bin/startup.sh    //开启服务
netstat -ntulp | grep java   //检查端口,需要看到8005、


80098080端口

 

vim conf/server.xml   //修改配置文件,打开找到85行,将前后的注释删除 <!--   -->

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"

keystoreFile="/usr/local/tomcat/keystore"

keystorePass="123456"  />   //这里

添加keystoreFile(指定公钥私钥文件)keystorePass(公钥私钥文件密码)

keytool  -genkeypair  -alias  tomcat  -keyalg RSA  
-keystore  /usr/local/tomcat/keystore  //创建密钥对,别名是tomcat,加密算法是RSA,最后是存储位置

输入密钥库口令: 输入123456

再次输入新口令: 再次输入123456

您的名字与姓氏是什么?

  [Unknown]:  dc

。。。。。

CN=dc, OU=dc, O=dc, L=dc, ST=dc, C=dc是否正确?  

  []:  y

输入 <tomcat> 的密钥口令

        (如果和密钥库口令相同, 按回车):   直接回车

Warning:

ls  /usr/local/tomcat//检查下下面会产生keystore则成功


bin/shutdown.sh    //重启tomcat
bin/startup.sh
netstat -ntulp | grep java    //检查可以看到8443端口
echo  "tomcat-https~~"  >  webapps/ROOT/index.html   //准备测试页面
curl  -k  https://192.168.2.5:8443   //访问安全加密网站

------------------------------------------------------------


 




Tomcat服务器 、 Tomcat应用案例 、 Maven应用案例  您阅读本篇文章共花了: 

分享到:

    扫描二维码推送至手机访问。

    版权声明:本文由有云转晴发布,如需转载请注明出处。

    本文链接:https://www.yyzq.cf/?id=81

    分享给朋友:

    相关文章

    发表评论

    访客

    ◎欢迎参与讨论,请在这里发表您的看法和观点。