Linux基础服务9——Tomcat

一、基本了解

前提背景:

  1. Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
  2. 由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。
  3. Tomcat 技术先进、性能稳定、免费开源,所以深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

作用、优点:

  1. tomcat免费开源,属于轻量级应用服务器,是开发和调试JSP 程序的首选。
  2. tomcat作为中间件,是作用在apache和后端服务中间的,具有处理HTML页面的功能。
  3. tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。
  4. Tomcat处理静态HTML的能力不如Apache服务器。

java项目部署流程:

  1. 当使用tomcat来部署程序时,需要运维修改配置文件内容后,再启动tomcat,确保对应端口和进程都是正常的,此时才可以访问项目网页。
  2. 修改配置文件的哪些参数找对应的程序开发人员即可,程序存放位置在/usr/local/tomcat/webapps目录下。

二、安装tomcat

1.安装jdk环境。

 yum -y install java-1.8.0-openjdk*

2.安装tomcat,tomcat官网

wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.0-M10/bin/apache-tomcat-10.0.0-M10.tar.gz


//解压,做软连接。
tar xf apache-tomcat-10.0.0-M10.tar.gz -C /usr/local/
ln -s /usr/local/apache-tomcat-10.0.0-M10 /usr/local/tomcat


//自定义前端文件。
mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
                out.println("Hellow World");
        %>
</body>
</html>

//关闭防火墙和selinux。
systemctl  stop firewalld
systemctl  disable firewalld
setenforce 0

//启动服务。
/usr/local/tomcat/bin/catalina.sh start

在这里插入图片描述
3.访问网页。
在这里插入图片描述

三、 常用文件

  • 常用文件目录分别为bin目录、confi目录、webapps目录。
  • webapps目录是存放程序代码的。

3.1 bin目录文件

  • bin目录下都是启动、停止脚本。

在这里插入图片描述

3.2 conf目录文件

在这里插入图片描述

3.2.1 server.xml文件

  • 一般只修改该文件里的端口配置。若要在一台主机上部署多个Tomcat,需要多个端口号,这个时候就需要修改端口号,比如8081,8082,8083等等。
[root@localhost conf]# vim server.xml 
......
<Server port="8005" shutdown="SHUTDOWN">       //8005端口是用来关闭的。

......
  <Connector port="8080" protocol="HTTP/1.1"    //8080端口是用来访问网页的。
               connectionTimeout="20000"
               redirectPort="8443" />                  //8443是https访问端口。
......

3.2.2 tomcat-users.xml 文件

  • 该文件是用来配置验证登陆的。
[root@localhost conf]# vim tomcat-users.xml 
......
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">                      //如果要添加东西,则在此行开始添加
<!--
......

1.访问Server Status网页。

//修改配置文件内容,在文件最后添加。
[root@localhost conf]# vim tomcat-users.xml 
......
-->
<role rolename="manager-gui"/>                 //粘贴这2行,自定义账号密码。
<user username="tomcat" password="123456" roles="manager-gui"/>
</tomcat-users>  //文件最后一行显示内容。


//修改配置文件内容,指定本机ip。
vim ../webapps/manager/META-INF/context.xml 

allow="192\.168\.130\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />     //在127前面加个管道符再添加主机IP才能访问,需要用分隔符
......

//重启服务。
/usr/local/tomcat/bin/catalina.sh  stop
/usr/local/tomcat/bin/catalina.sh  start

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

2.访问Host Manager网页

//添加配置文件内容
[root@localhost conf]# vim tomcat-users.xml 
......
<role rolename="admin-gui"/>            添加这2行内容。
<user username="tomcat" password="s3cret" roles="admin-gui"/>


//修改配置文件,指定本机ip。
vim ../webapps/host-manager/META-INF/context.xml
......
 allow="192\.168\.50\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />    添加本机IP

//重启服务
/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start

在这里插入图片描述
3.访问Manager App网页,关闭Host Manager网页访问。
在这里插入图片描述

在这里插入图片描述

四、分离部署lamt架构

环境说明:

操作系统主机名IP需要安装的服务
CentOS7Tomcat192.168.130.162tomcat
CentOS7httpd192.168.130.160httpd
CentOS7mysql192.168.130.161mysql

4.1 安装httpd

1.配置yum源。

//配置CentOS源。
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

//配置epel源。
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

2.安装开发工具包和依赖包。

yum groups mark -y install 'Development Tools'
yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make

3.创建用户。

useradd -r -M -s /sbin/nologin apache

4.下载和安装apr以及apr-util。

cd /usr/src/
wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz
wget https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz
wget https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz

5.解压安装包,修改配置文件,开始编译安装。

//解压安装包。
tar zxf apr-1.7.4.tar.gz 
tar zxf apr-util-1.6.3.tar.gz 
tar zxf httpd-2.4.57.tar.gz 

//修改配置文件,编译安装apr。
cd apr-1.7.4
sed -i '/$RM "$cfgfile"/d' configure
./configure --prefix=/usr/local/apr
make
make install

//编译安装apr-util。
cd ../apr-util-1.6.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install

//编译安装httpd。
cd ../httpd-2.4.57
./configure --prefix=/usr/local/apache \
 --sysconfdir=/etc/httpd24 \
 --enable-so \
 --enable-ssl \
 --enable-cgi \
 --enable-rewrite \
 --with-zlib \
 --with-pcre \
 --with-apr=/usr/local/apr \
 --with-apr-util=/usr/local/apr-util/ \
 --enable-modules=most \
 --enable-mpms-shared=all \
 --with-mpm=prefork
make
make install

6.设置环境变量

echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
source /etc//profile.d/httpd.sh 

7.做软连接。


ln -s /usr/local/apache/include /usr/include/apache

8.取消配置文件注释,避免出现提示信息。

sed -i '/#ServerName/s/#//g' /etc/httpd24/httpd.conf

9.关闭防火墙和selinux,启动服务,访问网页。

apachectl start

systemctl  stop firewalld
systemctl  disable firewalld
setenforce 0

10.访问网页。
在这里插入图片描述

4.2 安装mysql

1.安装依赖包。

yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel libncurses.so.5*

2.创建系统用户。

useradd -r -M -s /sbin/nologin mysql

3.官网下载安装包,上传服务器解压,官网。

wget  https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz --no-check-certificate
tar xf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

4.做软连接,修改属主属组,设置环境变量。

cd /usr/local/
ln -s mysql-5.7.41-linux-glibc2.12-x86_64 mysql

echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh 

5.建立数据存放目录。

mkdir /opt/data
chown -R mysql.mysql /opt/data

6.初始化数据库,编辑生成的配置文件内容。

mysqld --initialize-insecure --datadir=/opt/data --user=mysql 

//先备份配置文件。
mv /etc/my.cnf{,-bak}

//配置文件内容。
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve

7.做软连接。

//include做软连接。
ln -s /usr/local/mysql/include /usr/include/mysql

//lib做软连接。
echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
ldconfig 

8.配置服务启动脚本。

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld

cat >> /etc/init.d/mysqld << EOF
basedir=/usr/local/mysql  
datadir=/opt/data 
EOF

9.启动服务,设置密码。

service mysqld start
mysql -e 'set password=password("qingjun");'

10.关闭防火墙。

systemctl  stop firewalld
systemctl  disable firewalld
setenforce 0

4.3 部署tomcat

1.参考上文。
在这里插入图片描述

4.4 配置apache

1.启用代理模块。

sed -i '/proxy_module/s/#//g' /etc/httpd24/httpd.conf
sed -i '/proxy_http_module/s/#//g' /etc/httpd24/httpd.conf

2.配置虚拟机

//取消注释,指定读取虚拟主机的配置文件。
vim /etc/httpd24/httpd.conf 
......
Include /etc/httpd24/extra/httpd-vhosts.conf


//配置虚拟主机。
vim /etc/httpd24/extra/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/usr/local/apache/htdocs"
    ServerName www.example.com
    ErrorLog "logs/www.example.com-error_log"
    CustomLog "logs/www.example.com-access_log" common
     ProxyRequests Off
     ProxyPass / http://192.168.130.162:8080/            //指定tomcat主机地址。
     ProxyPassReverse / http://192.168.130.162:8080/    //指定tomcat主机地址。
    <Directory "/usr/local/apache/htdocs">
        Require all granted
    </Directory>
</VirtualHost>

3.重启服务,访问httpd的IP,得到tomcat的网页画面。

apachectl restart

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百慕卿君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值