前提背景:
- Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
- 由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。
- Tomcat 技术先进、性能稳定、免费开源,所以深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
作用、优点:
- tomcat免费开源,属于轻量级应用服务器,是开发和调试JSP 程序的首选。
- tomcat作为中间件,是作用在apache和后端服务中间的,具有处理HTML页面的功能。
- tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。
- Tomcat处理静态HTML的能力不如Apache服务器。
java项目部署流程:
- 当使用tomcat来部署程序时,需要运维修改配置文件内容后,再启动tomcat,确保对应端口和进程都是正常的,此时才可以访问项目网页。
- 修改配置文件的哪些参数找对应的程序开发人员即可,程序存放位置在/usr/local/tomcat/webapps目录下。
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
test page
<%
out.println("Hellow World");
%>
//关闭防火墙和selinux。
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
//启动服务。
/usr/local/tomcat/bin/catalina.sh start
- 常用文件目录分别为bin目录、confi目录、webapps目录。
- webapps目录是存放程序代码的。
- bin目录下都是启动、停止脚本。
- 一般只修改该文件里的端口配置。若要在一台主机上部署多个Tomcat,需要多个端口号,这个时候就需要修改端口号,比如8081,8082,8083等等。
[root@localhost conf]# vim server.xml
......
//8005端口是用来关闭的。
......
//8443是https访问端口。
......
- 该文件是用来配置验证登陆的。
[root@localhost conf]# vim tomcat-users.xml
......
//如果要添加东西,则在此行开始添加
//粘贴这2行,自定义账号密码。
//文件最后一行显示内容。
//修改配置文件内容,指定本机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
......
添加这2行内容。
//修改配置文件,指定本机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网页访问。
环境说明:
操作系统 | 主机名 | IP | 需要安装的服务 |
---|---|---|---|
CentOS7 | Tomcat | 192.168.130.162 | tomcat |
CentOS7 | httpd | 192.168.130.160 | httpd |
CentOS7 | mysql | 192.168.130.161 | mysql |
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
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
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
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主机地址。
Require all granted
3.重启服务,访问httpd的IP,得到tomcat的网页画面。
apachectl restart