做网站是找什么人,公司网站建设是什么费用,宝山网站建设方案,短视频app开发有哪些公司文章目录 Tomcat1、什么是tomcat?2、rpm安装jre环境3、源码安装jdk环境4、安装tomcat --源码安装5、相关目录文件webappsTomcat 配置文件目录介绍#xff08;conf#xff09;tomcat的相关管理命令在$prefix/bin目录下 实战1、#xff1a;配置nginx动静分离实战2、配置基于t… 文章目录 Tomcat1、什么是tomcat?2、rpm安装jre环境3、源码安装jdk环境4、安装tomcat --源码安装5、相关目录文件webappsTomcat 配置文件目录介绍conftomcat的相关管理命令在$prefix/bin目录下 实战1、配置nginx动静分离实战2、配置基于tomcat的虚拟主机配置实战3、配置jforum论坛部署配置tomcat服务启动脚本基于域名访问的host配置服务器状态查看二进制升级 Tomcat
1、什么是tomcat?
Tomcat是用于发布和解析JSPJava Server Page网页基于JAVA语言开发的代码将Tomcat称为JAVA容器Tomcat软件本身基于JAVA语言开发。
端口号8080
主配置文件/usr/local/tomcat/conf/server.xml
三个端口
8080 – 默认tomcat访问端口
8005 – 用于关闭tomcat的(SHUTDOWN 必须要大写小写不管用)
8009 – AJP端口 用于Apache和Tomcat内部通讯端口
2、rpm安装jre环境
# rpm -ivh jdk-8u301-linux-x64.rpm
在/etc/profile下写入
export JAVA_HOME/usr/java/jdk1.8.0_301-amd64 #这里安装路径自动定位在这里
export CLASSPATH$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/fre/lib
export PATH$JAVA_HOME/bin:$JAVA_HMOE/jre/bin:$PATH
[roothd2 ~]# source /etc/profile
#查看java版本
[roothd2 ~]# java -version 3、源码安装jdk环境 1、安装JDK—源码安装 1、系统环境说明
# cat /etc/redhat-release 系统信息
# uname -a 查看系统信息
# getenforce
# systemctl status firewalld.service
2 、安装 JDK
# mkdir /usr/local/java 安装工作目录
# tar xzf jdk-8u60-linux-x64.tar.gz
# mv jdk1.8.0_192 /usr/local/java/jdk
# 设置环境变量
# vim /etc/profile
export JAVA_HOME/usr/local/java/jdk #指定java安装目录
export PATH$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH #用于指定java系统查找命令的路径
export CLASSPATH.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar #类的路径在编译运行java程序时如果有调用到其他类的时候在classpath中寻找需要的类。
# source /etc/profile #让环境变量生效
2、测试jdk是否安装成功
# java -version4、安装tomcat --源码安装
# tar xvf apache-tomcat-9.0.11.tar.gz
# mkdir /usr/local/tomcat
# mv apache-tomcat-9.0.11 /usr/local/tomcat
# 设置环境变量
# echo export TOMCAT_HOME/usr/local/tomcat/etc/profile
# source /etc/profile
# chown -R root.root /usr/java/jdk1.8.0_301-amd64/ /usr/local/tomcat/ # 注意授权统一权限
2、检查tomcat是否安装成功
# /usr/local/tomcat/apache-tomcat-9.0.11/bin/startup.sh
# netstat -naput | grep tomcat(8080)5、相关目录文件
*├── bin #存放tomcat管理脚本 (操作命令)
*├── conf # tomcat 配置文件
├── lib # web应用调用的jar包存放路径
├── LICENSE
*├── logs # tomcat 日志存放目录catalina.out 为主要输出日志
├── NOTICE
├── RELEASE-NOTES
├── RUNNING.txt
├── temp # 存放临时文件
*├── webapps # web程序存放目录
└── work # 存放编译产生的.java 与 .class文件webapps
├── docs # tomcat 帮助文档
├── examples # web应用实例
├── host-manager # 主机管理
├── manager # 管理
└── ROOT # 默认站点根目录Tomcat 配置文件目录介绍conf
├── Catalina
├── catalina.policy 配置tomcat对文件系统中目录或文件的读、写执行等权限及对一些内存session等的管理权限
├── catalina.properties 配置tomcat的classpath等
├── context.xml tomcat的默认context容器
├── logging.properties 配置tomcat的日志输出方式
├── logs
*├── server.xml # tomcat 主配置文件
├── server.xml.bak
├── server.xml.bak2
*├── tomcat-users.xml # tomcat 管理用户配置文件
├── tomcat-users.xsd
└── web.xml tomcat的应用程序的部署描述符文件tomcat的相关管理命令在$prefix/bin目录下
/usr/local/tomcat/bin
catalina.sh 主命令脚本
configtest.sh 检测配置文件
shutdown.sh 关闭
startup.sh 启动
version.sh 查看版本
netstat -naput | grep 8080 查看tomcat实战1、配置nginx动静分离
192.168.1.12 -- Tomcat1 Tomcat2
192.168.1.11 -- Nginx
多实例
[roothd2 ~]# mv /usr/local/tomcat /usr/local/tomcat1
[roothd2 ~]# cp -a /usr/local/tomcat1/ /usr/local/tomcat2
主配置文件
[roothd2 ~]# vim /usr/local/tomcat2/apache-tomcat-9.0.11/conf/server.xmlConnector port8080 protocolHTTP/1.1connectionTimeout20000redirectPort8443 /
改为Connector port8081 protocolHTTP/1.1connectionTimeout20000redirectPort8443 /Server port8005 shutdownSHUTDOWN
改为Server port8006 shutdownSHUTDOWN
开启两个tomcat
[roothd2 ~]# /usr/local/tomcat1/apache-tomcat-9.0.11/bin/startup.sh
Tomcat started.
[roothd2 ~]# /usr/local/tomcat2/apache-tomcat-9.0.11/bin/startup.sh
Tomcat started.
查看
[roothd2 ~]# ps -ef | grep tomcat
tomcat默认访问目录
/usr/local/tomcat2/webapps下 ROOT目录
建立index.jsp测试代码
html
body
h1JSP Test Page tomcat2 /h1
%new java.util.Date()%
/body
/html安装Nginx 并创建虚拟主机
[roothd1~]# wget http://www.nginx.org/download/nginx-1.14.2.tar.gz
[roothd1 ~]# yum -y install openssl-devel
[roothd1 ~]# useradd www
[roothd1 ~]# tar -xvf nginx-1.14.2.tar.gz
[roothd1 ~]# cd nginx-1.14.2
[roothd1 ~]# ./configure --prefix/usr/local/nginx --userwww --groupwww --with-http_stub_status_module --with-http_ssl_module
[rootHd2-LB nginx-1.14.2]#make make install
修改配置文件创建虚拟主机
[roothd1 ~]# cd /usr/local/nginx/conf/
[roothd1 ~]# mv nginx.conf nginx.conf.bak
[roothd1 ~]# egrep -v #|^$ nginx.conf.bak nginx.conf
[roothd1 ~]# vim nginx.conf
worker_processes 1;
events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;
keepalive_timeout 65;
#这是我们自己添加的一个子配置文件路径include /usr/local/domain/*;
}
[roothd1 ~]# mkdir /usr/local/domain
[roothd1 ~]# vim /usr/local/domain/bbs.a.conf
upstream tomcat_web {server 192.168.1.12:8080 weight1 max_fails2 fail_timeout15;server 192.168.1.12:8081 weight1 max_fails2 fail_timeout15;}
server {listen 80;server_name bbs.a.com;location / {root html;index index.html index.htm;proxy_set_header Host $host;proxy_pass http://tomcat_web;}location ~* .*\.(html|htm|js|png|jpg|gif|css|jpeg|txt|gz|bz2|zip|bmp|doc|xls|docx)$ {root /var/www/html;expires 30d;}
}
#location ~* 表示不区分大小写匹配 .*\.(html|htm)$ 正则表达式表示以.html或htm结尾的所有网页
启动nginx
[roothd1 ~]# /usr/local/nginx/sbin/nginx
[roothd1 ~]# mkdir /var/www/html -p
[roothd1 ~]# cd /var/www/html
[roothd1 ~]# echo wo shi nginx web index.html
重启tomcat
[roothd2 ~]# /usr/local/tomcat1/bin/shutdown.sh
[roothd2 ~]# /usr/local/tomcat1/bin/startup.sh
[roothd2 ~]# /usr/local/tomcat2/bin/shutdown.sh
[roothd2 ~]# /usr/local/tomcat2/bin/startup.sh测试一下负载均衡集群
这里的ip是nginx的ip
[roothd1 ~]# curl 192.168.8.139/index.jsp
html
body
h1JSP Test Page tomcat1 /h1
Thu Jul 29 21:47:01 CST 2021
/body
/html
[roothd1 ~]# curl 192.168.8.139/index.html
wo shi nginx web实战2、配置基于tomcat的虚拟主机配置
Tomcat配置文件一对Host标签就是一个虚拟主机即相当于一个nginx中的server模块
基于tomcat1的多虚拟主机配置 两个网站分别是www.a.com 和www.b.com
#autoDeploytrue 表示自动部署jvm
#unpackWARstrue 表示自动解压war包
#quot表示双引号[roothd2 ~]# vim /usr/local/tomcat1/conf/server.xmlHost namewww.a.com appBasewebapps/aunpackWARstrue autoDeploytrueValve classNameorg.apache.catalina.valves.AccessLogValve directorylogsprefixlocalhost_access_log suffix.txtpattern%h %l %u %t quot;%rquot; %s %b //HostHost namewww.b.com appBasewebapps/bunpackWARstrue autoDeploytrueValve classNameorg.apache.catalina.valves.AccessLogValve directorylogsprefixlocalhost_access_log suffix.txtpattern%h %l %u %t quot;%rquot; %s %b //Host
#日志格式对比重要
含义 tomcat nginx
客户端ip地址 %h $remote_addr
时间 %t $time_local
请求 %r $request
状态码 %S $status
资源大小 %b $body_bytes_sent
跳转 %{Referer}i $http_referer
客户端 %{User-Agent}i $http_user_agent
真实客户端ip %{X-Forwarded-For} $http_x_forwarded_for配置两个虚拟站点的环境
[roothd2 ]# cd /usr/local/tomcat1/webapps/
[roothd2 webapps]# mkdir a/ROOT b/ROOT -p
[rootHd2 webapps]# echo wo shi t a a/ROOT/index.html
[rootHd2 webapps]# echo wo shi t b b/ROOT/index.html
[rootHd2 webapps]# /usr/local/tomcat1/bin/shutdown.sh
[rootHd2 webapps]# /usr/local/tomcat1/bin/startup.sh
配置windows主机的hosts文件设置内容如下
/windows/system32/drivers/etc/hosts
192.168.0.12 www.a.com www.b.com
测试
curl 192.168.8.138:8080
curl www.a.com:8080实战3、配置jforum论坛部署
#将war包上传到/root目录之下
[roothd2 ROOT]# pwd
/usr/local/tomcat1/webapps/a/ROOT
[roothd2 ROOT]# mv /root/jforum-2.7.0.war .
[roothd2 ROOT]# jar xf jforum-2.6.2.war重启tomcat
[roothd2 ~]# /usr/local/tomcat1/bin/shutdown.sh
[roothd2 ~]#/usr/local/tomcat1/bin/startup.sh
配置tomcat服务启动脚本
tomcat提供了方便的启动命令脚本但是却没有提供服务器中经常管理使用的service脚本。可以自行编写服务管理脚
本
1.编辑启动脚本生成tomcat.pid
# cd /usr/local/tomcat1/apache-tomcat-9.0.11/bin/
# vim catalina.sh
137gg 跳转到137行
在PRGDIR下面添加
CATALINA_PID/var/run/tomcat.pid
2.基于域名访问的host配置
1、建立项目目录并写入测试文件
# cd /usr/local/tomcat/webapps/
# mkdir devops/ROOT -p
# cd /devops/ROOT
# touch index.html
# echo this is tomcat.devops.com
2、编辑/usr/local/tomcat/conf/server.xml
# vim /usr/local/tomcat/conf/server.xml
添加
Host namelocalhost appBasewebapps/devops
/Host
name可以写成域名
Host nametomcat.devops.com appBasewebapps/devops
/Host
3、检测配置并重启
# service tomcat configtest
# service tomcat restart
4、访问主机解析域名
# vim /etc/hosts
192.168.8.138 tomcat.devops.com
5、测试服务器状态查看 1.去掉访问ip限制 vim /usr/local/tomcat1/apache-tomcat-9.0.11/webapps/manager/META-INF/context.xml 注释掉 2、创建用户和密码开启访问权限 vim /usr/local/tomcat/conf/tomcat-users.xml 加入 二进制升级
TERM, INT快速退出当前的请求不执行完成就退出 -s stop
QUIT 优雅退出执行完当前的请求后退出 -s quit
HUP 重新加载配置文件用新的配置文件启动新worker进程并优雅的关闭旧的worker进程 -s reload
USR1 重新打开日志文件 -s reopen
USR2 平滑的升级nginx二进制文件 拉起一个新的主进程 旧主进程不停止
WINCH 优雅的关闭worker进程1、nginx的升级
# ps -ef | grep 80(nginx)
# kill -USR2 nginx主进程号 平滑的启动一个进程 升级操作
# kill -WINCH nginx子进程号 优雅的关闭子进程
# kill -QUIT nginx主进程 优雅的关闭主进程
#修改路由
echo 1 /proc/sys/net/ipv4/ip forward①编译安装新版本
# shell tar xvf nginx-1.16.0.tar.gz
# shell cd nginx-1.16.0
# shell ./configure --prefix/usr/local/nginx --userwww --groupwww --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
# shell make make install
②新旧版本同时运行
# shell kill -USR2 主进程号
③停止掉旧进程
# shell kill -WINCH 旧的工作进程号
# shell kill -QUIT 旧的主进程号
在nginx中默认提供了平滑升级的操作只需要执行以下命令
#注意先configure 在nginx源码包执行
# shell make install make upgrade