1 Tomcat简介

tomcat 是一个web服务器, 类似nginx , apache的http

​ nginx, http 只能处理html 等静态文件

​ 网页分为静态网页(以.html 或者.html 结尾的url地址) 和动态网页(伪静态)

​ nginx 和http配置php 就能够处理动态的网页(.php结尾)

​ tomcat 配合jdk 就能够处理动态的网页(.jsp结尾)

2.下载并安装Tomcat服务

JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Tomcat下载:http://tomcat.apache.org/

cd /application/tools/

上传软件包

安装jdk jkd --> java虚拟机(jvm) --> 一处编译,处处使用

2.2 部署java环境

  1. [root@tomcat ~]# cd /application/tools/
  2. [root@tomcat tools]# rz
  3. tar xf jdk-8u60-linux-x64.tar.gz -C /application/
  4. ln -s /application/jdk1.8.0_60 /application/jdk
  5. sed -i.ori '$a export JAVA_HOME=/application/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
  6. source /etc/profile
  7. #→出现下面结果证明部署成功
  8. [root@tomcat ~]# java -version
  9. java version "1.8.0_60"
  10. Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
  11. Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

2.3 安装Tomcat

  1. tar xf apache-tomcat-8.0.27.tar.gz -C /application/
  2. ln -s /application/apache-tomcat-8.0.27 /application/tomcat
  3. echo 'export TOMCAT_HOME=/application/tomcat'>>/etc/profile
  4. source /etc/profile
  5. chown -R root.root /application/jdk/ /application/tomcat/
  6. [root@tomcat ~]# tail -4 /etc/profile
  7. export JAVA_HOME=/application/jdk
  8. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
  9. export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
  10. export TOMCAT_HOME=/application/tomcat

2.4 Tomcat目录介绍 (关注点 bin conf logs webapps)

  1. [root@tomcat ~]# cd /application/tomcat/
  2. [root@tomcat tomcat]# tree -L 1
  3. .
  4. ├── bin #→用以启动、关闭Tomcat或者其它功能的脚本(.bat文件和.sh文件)
  5. ├── conf #→用以配置Tomcat的XML及DTD文件 | server.xml 主配置文件, tomcat-users.xml 用户管理
  6. ├── lib #→存放web应用能访问的JAR包
  7. ├── LICENSE
  8. ├── logs #→Catalina和其它Web应用程序的日志文件
  9. ├── NOTICE
  10. ├── RELEASE-NOTES
  11. ├── RUNNING.txt
  12. ├── temp #→临时文件
  13. ├── webapps #→Web应用程序根目录
  14. └── work #→用以产生有JSP编译出的Servlet的.java和.class文件
  15. 7 directories, 4 files
  16. [root@tomcat tomcat]# cd webapps/
  17. [root@tomcat webapps]# ll
  18. total 20
  19. drwxr-xr-x 14 root root 4096 Oct 5 12:09 docs #→tomcat帮助文档
  20. drwxr-xr-x 6 root root 4096 Oct 5 12:09 examples #→web应用实例
  21. drwxr-xr-x 5 root root 4096 Oct 5 12:09 host-manager #→管理
  22. drwxr-xr-x 5 root root 4096 Oct 5 12:09 manager #→管理
  23. drwxr-xr-x 3 root root 4096 Oct 5 12:09 ROOT #→默认网站根目录

2.5 启动Tomcat

  1. #→启动程序/application/tomcat/bin/startup.sh
  2. #→关闭程序/application/tomcat/bin/shutdown.sh
  3. [root@tomcat ~]# /application/tomcat/bin/startup.sh
  4. Using CATALINA_BASE: /application/tomcat
  5. Using CATALINA_HOME: /application/tomcat
  6. Using CATALINA_TMPDIR: /application/tomcat/temp
  7. Using JRE_HOME: /application/jdk
  8. Using CLASSPATH: /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
  9. Tomcat started.
  10. [root@tomcat ~]# netstat -tunlp|grep java
  11. tcp 0 0 :::8009 :::* LISTEN 4743/java
  12. tcp 0 0 :::8080 :::* LISTEN 4743/java
  13. [root@tomcat ~]# ps -ef|grep [j]ava
  14. root 4743 1 17 06:10 pts/0 00:00:03 /application/jdk/bin/java -Djava.util.logging.config.file=/application/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/application/tomcat/endorsed -classpath /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/application/tomcat -Dcatalina.home=/application/tomcat -Djava.io.tmpdir=/application/tomcat/temp org.apache.catalina.startup.Bootstrap start
  15. #访问网站 网址:http://10.0.0.9:8080/

3.2 Tomcat管理

  1. # 通过web管理 测试功能,生产环境不要用。
  2. Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。在默认情况下是处于禁用状态的。如果需要开启这个功能,就需要配置管理用户,即配置前面说过的tomcat-users.xml
  3. [root@tomcat ~]# vim /application/tomcat/conf/tomcat-users.xml
  4. …………
  5. <role rolename="manager-gui"/>
  6. <role rolename="admin-gui"/>
  7. <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
  8. </tomcat-users> #→在此行前加入上面三行
  9. #然后重启tomcat,重新访问manager app页面,如果此时仍然出现403 Access Denied错误,那么就是访问的ip地受到了限制,
  10. 打开/webapps/manager/META-INF/目录下context.xml文件.
  11. 将里面的内容注释掉或者修改为
  12. <Valve className="org.apache.catalina.valves.RemoteAddrValve"
  13. allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
  14. [root@tomcat ~]# /application/tomcat/bin/shutdown.sh
  15. [root@tomcat ~]# /application/tomcat/bin/startup.sh
  16. # 浏览器访问 管理页面10.0.0.9:8080/manager/ 用配置好的账号密码登录

8 搭建jpress--java 版本的wordpress

  1. jsp 网页

linux nginx php mysql

linux tomcat jdk mysql(mariadb)

  1. #安装mysql (db服务器已经安装)
  2. yum install mariadb-server -y
  3. systemctl start mariadb
  4. #创建数据库 jpress
  5. create database jpress default characher set utf8;
  6. # 授权
  7. grant all jpress.* to jpress@'%' identified by '123456';
  8. # 刷新权限
  9. flush privileges;
  10. # 部署站点代码
  11. [root@web03 ~]# cd /server/tomcat-8080/webapps/
  12. [root@web03 webapps]# cp /tmp/jpress-web-newest.war ./
  13. # jpress包放入webapps 目录下 重新tomcat 会发现包已经自动被解压了
  14. [root@web03 webapps]# /server/tomcat-8080/bin/shutdown.sh
  15. [root@web03 webapps]# /server/tomcat-8080/bin/startup.sh
  16. # 查看
  17. [root@web03 webapps]# ls
  18. docs examples host-manager jpress-web-newest jpress-web-newest.war manager ROOT
  19. # 目录改名 |最好删除jpress-web-newest.war 重启之后又会解压一遍
  20. [root@web03 webapps]# mv jpress-web-newest jpress
  21. # 浏览器访问 10.0.0.9:8080/jpress
  22. # 进入安装界面了 按提示安装..
  23. #安装完成 重启tomcat
  24. [root@web03 webapps]# /server/tomcat-8080/bin/shutdown.sh
  25. [root@web03 webapps]# /server/tomcat-8080/bin/startup.sh
  26. 网站访问
  27. http://10.0.0.9:8080/jpress/
  28. 后台地址 账号密码是安装时候设置的
  29. http://10.0.0.9:8080/jpress/admin/login

tomcat 配置文件 conf/server.xml

  1. 语法: 以<!-- 开头, 以-->结尾, 中间包含的都是注释, 段注释
  2. [root@web03 tomcat-8080]# vim conf/server.xml
  3. # 指定关闭tomcat的端口号及暗号
  4. <Server port="8005" shutdown="SHUTDOWN">
  5. #指定 tomcat的web站点监听端口
  6. <Connector port="8080" protocol="HTTP/1.1"
  7. connectionTimeout="20000"
  8. redirectPort="8443" />
  9. # 专门和apache通信的端口 不用,注释
  10. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  11. # 定义主机 网站根目录
  12. <Host name="localhost" appBase="webapps"
  13. unpackWARs="true" autoDeploy="true"> //自动解压 自动部署 (生产环境关闭false)
  14. #定义日志 及日志格式
  15. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  16. prefix="localhost_access_log" suffix=".txt"
  17. pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  18. n[root@web03 ~]# netstat -lntup
  19. tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2069/java
  20. tcp6 0 0 :::8009 :::* LISTEN 2069/java
  21. tcp6 0 0 :::8080 :::* LISTEN 2069/java
  22. #向本地的8005端口发送SHUTDOWN 就可以关闭tomcat (后台三个java进程关闭了)
  23. [root@web03 ~]# echo SHUTDOWN|nc 127.0.0.1 8005

tomcat 自定义网站目录

  1. 默认在 webapps/ROOT
  2. 以前地址 http://10.0.0.9:8080/memtest/meminfo.jsp
  3. 想要的地址: http://10.0.0.9:8080/meminfo.jsp
  4. 第一种方法: meminfo.jsp 放入ROOT目录
  5. 第二种方法: 想想 nginxlocation 规则
  6. location /oldboyedu/ {
  7. .....
  8. }
  9. # 在host标签内 添加 Context 标签
  10. [root@tomcat ~]# vim /application/tomcat/conf/server.xml
  11. <Host name="localhost" appBase="webapps"
  12. unpackWARs="true" autoDeploy="true">
  13. <Context path="" docBase="/application/tomcat/webapps/memtest" debug="0" reloadable="false" crossContext="true"/>
  14. #sed 命令快速修改 在149行后面添加
  15. [root@web03 tomcat-8080]# sed -i.ori '149a <Context path="" docBase="/application/tomcat/webapps/memtest" debug="0" reloadable="false" crossContext="true"/>' conf/server.xml
  16. # 修改好后重启tomcat
  17. [root@tomcat ~]# /application/tomcat/bin/shutdown.sh
  18. [root@tomcat ~]# /application/tomcat/bin/startup.sh

Tomcat多实例 (多个虚拟主机)

  1. 多虚拟主机: nginx
  2. 多实例: tomcat, 尽可能使用我们的系统的资源 (资源相对多)
  3. [root@web03 tomcat-8080]# cd /application/tools/
  4. [root@web03 tools]# ls
  5. apache-tomcat-8.5.34.tar.gz
  6. [root@web03 tools]# tar xf apache-tomcat-8.5.34.tar.gz
  7. [root@web03 tools]# cp -a apache-tomcat-8.5.34 tomcat8_1
  8. [root@web03 tools]# cp -a apache-tomcat-8.5.34 tomcat8_2
  9. [root@web03 tools]# cp -a apache-tomcat-8.5.34 tomcat8_3
  10. # 修改每个实例运行端口
  11. [root@web03 tools]# sed -i 's#8005#8011#;s#8080#8081#' tomcat8_1/conf/server.xml
  12. [root@web03 tools]# sed -i 's#8005#8012#;s#8080#8082#' tomcat8_2/conf/server.xml
  13. [root@web03 tools]# sed -i 's#8005#8013#;s#8080#8083#' tomcat8_3/conf/server.xml
  14. #打包多实例,方便以后批量配置实例
  15. [root@web03 tools]# tar zcf tomcat_muti.tar.gz ./tomcat8_1 ./tomcat8_2 ./tomcat8_3
  16. #将配置好的 实例移动到软件目录下
  17. [root@web03 tools]# mv tomcat8_1 tomcat8_2 tomat8_3 /application/
  18. # 启动 多个实例
  19. [root@web03 server]# tomcat8_1/bin/startup.sh
  20. [root@web03 server]# tomcat8_2/bin/startup.sh
  21. # 检查对应端口 8081 8082
  22. [root@web03 server]# netstat -lntup
  23. tcp6 0 0 :::8009 :::* LISTEN 2448/java
  24. tcp6 0 0 127.0.0.1:8011 :::* LISTEN 2448/java
  25. tcp6 0 0 127.0.0.1:8012 :::* LISTEN 2506/java
  26. tcp6 0 0 :::8081 :::* LISTEN 2448/java
  27. tcp6 0 0 :::8082 :::* LISTEN 2506/java
  28. #浏览器访问
  29. http://10.0.0.9:8081/
  30. http://10.0.0.9:8082/

tomcat反向代理集群

  1. // 前面加nginx反向代理
  2. upstream java {
  3. server 172.16.1.8:8081
  4. server 172.16.1.9:8081
  5. }
  6. # lb01 安装nginx (安装过了)
  7. # 编辑配置文件 在http段里写 include 下面
  8. vim /etc/nginx/nginx.conf
  9. upstream java {
  10. # server 172.16.1.9:8080;
  11. server 172.16.1.9:8081;
  12. server 172.16.1.9:8082;
  13. }
  14. server {
  15. listen 80;
  16. server_name jpress.etiantian.org;
  17. location / {
  18. proxy_pass http://java;
  19. include proxy_params;
  20. }
  21. }
  22. 推荐写到 /etc/nginx/conf.d/proxy.conf (因为nginx.conf 主配置文件包含conf.d/*.conf)
  23. [root@lb01 conf.d]# cat proxyhttps.conf
  24. upstream java {
  25. # server 172.16.1.9:8080;
  26. server 172.16.1.9:8081;
  27. server 172.16.1.9:8082;
  28. }
  29. server {
  30. listen 80;
  31. server_name jpress.etiantian.org;
  32. location / {
  33. proxy_pass http://java;
  34. include proxy_params;
  35. }
  36. }
  37. # window hosts 解析后 浏览器访问http://jpress.etiantian.org/

tomcat监控

  1. # 查看当前运行的java进程及pid号
  2. [root@web03 server]# jps -lvm
  3. 1Tomcat自带函数检测
  4. ROOT/meminfo.jsp
  5. #浏览器访问 http://10.0.0.3/meminfo.jsp
  6. 2jps命令 jkd包自带的命令, jps主要用来输出jvm中运行的进程状态信息.
  7. man jps
  8. 3jstack命令 主要用来查看某个java进程内的线程堆栈信息
  9. 4jmap
  10. 5jconsolevisualvm
  11. 5.1Tomcat开启远程监控功能
  12. [root@web03 server]# vim tomcat8_1/bin/catalina.sh
  13. 109 CATALINA_OPTS="$CATALINA_OPTS
  14. 110 -Dcom.sun.management.jmxremote
  15. 111 -Dcom.sun.management.jmxremote.port=12345
  16. 112 -Dcom.sun.management.jmxremote.authenticate=false
  17. 113 -Dcom.sun.management.jmxremote.ssl=false
  18. 114 -Djava.rmi.server.hostname=172.16.1.9"
  19. #重启tomcat
  20. [root@web03 server]# tomcat8_1/bin/shutdown.sh
  21. [root@web03 server]# tomcat8_1/bin/startup.sh
  22. # 检测有没有12345端口
  23. [root@web03 server]# netstat -lntup|grep 12345
  24. tcp6 0 0 :::12345 :::* LISTEN 3565/java
  25. # 如果没有查看的日志文件 | 配对应的/etc/hosts
  26. [root@web03 server]# tailf tomcat8_1/logs/catalina.out
  27. # 如果是多个实例 这个配置要修改port端口 不能相同
  28. windows 安装的jdk1.8 目录下的bin
  29. c:/program files /java/jdk1.8.0.31/bin
  30. jconsole
  31. jvisualvm

zabbix监控

  1. rpm -qa zabbix-java-gateway
  2. #还要安装zabbix
  3. 配置 zabbix server
  1. Tomcat安全优化和性能优化

    7.1 安全优化(必会)

  1. 降权启动 //降低权限启动 使用个普通用户启动tomcat
  2. useradd tomcat
  3. cp -a tomcat8_2 /home/tomcat/
  4. chown -R tomcat.tomcat /home/tomcat8_2/
  5. su - tomcat
  6. tomcat8_2/bin/startup.sh
  7. #不用切换用户使用普通用户执行命令,可以放入开机自启动
  8. su - tomcat -c '这里写命令'
  9. telnet管理端口保护 (8005)
  10. ajp连接端口保护 (8009 注释掉)
  11. 禁用管理端 // webapps目录下只保留一个ROOT

7.2 性能优化

7.2.1 屏蔽dns查询enableLookups="false"
  1. <Connector port="8081" protocol="HTTP/1.1"
  2. connectionTimeout="6000" enableLookups="false" acceptCount="800"
  3. redirectPort="8443" />
7.2.2 jvm调优
  1. Tomcat最吃内存,只要内存足够,这只猫就跑的很快。
  2. 如果系统资源有限,那就需要进行调优,提高资源使用率。
  3. 优化catalina.sh配置文件。在catalina.sh配置文件中添加以下代码:
  4. JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m"
  5. server:一定要作为第一个参数,在多个CPU时性能佳
  6. -Xms:初始堆内存Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
  7. -Xmx:初始堆内存heap最大值,使用的最大内存
  8. 上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。
  9. -XX:PermSize:设定内存的永久保存区域
  10. -XX:MaxPermSize:设定最大内存的永久保存区域
  11. -XX:MaxNewSize:
  12. -Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
  13. +XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个Gswap
  14. -Xss:每个线程的Stack大小
  15. -verbose:gc 现实垃圾收集信息
  16. -Xloggc:gc.log 指定垃圾收集日志文件
  17. -Xmnyoung generationheap大小,一般设置为Xmx34分之一
  18. -XX:+UseParNewGC :缩短minor收集的时间
  19. -XX:+UseConcMarkSweepGC :缩短major收集的时间

nginx+tomcat配置https

网上搜索的很多文章在描述 Nginx + Tomcat 启用 HTTPS 支持的时候,都必须在 Nginx 和 Tomcat 两边同时配置 SSL 支持。

最终配置的方案是浏览器和 Nginx 之间走的 HTTPS 通讯 而Nginx 到 Tomcat 通过 proxy_pass 走的是普通 HTTP 连接。

lb01 负载均衡 nginx 配置

  1. 先申请https证书
  2. [root@web01 code]# mkdir /etc/nginx/ssl_key -p
  3. [root@web01 code]# cd /etc/nginx/ssl_key/
  4. [root@web01 ~]# openssl genrsa -idea -out server.key 2048
  5. 这里密码设置1234
  6. [root@web01 ~]# openssl req -days 36500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt
  7. Country Name (2 letter code) [XX]:CN
  8. State or Province Name (full name) []:WH
  9. Locality Name (eg, city) [Default City]:WH
  10. Organization Name (eg, company) [Default Company Ltd]:edu
  11. Organizational Unit Name (eg, section) []:SA
  12. Common Name (eg, your name or your server's hostname) []:bgx
  13. Email Address []:bgx@foxmail.com

lb01 的 proxyhttps.conf 配置

  1. [root@lb01 conf.d]# cat proxyhttps.conf
  2. upstream java {
  3. # server 172.16.1.9:8080;
  4. server 172.16.1.9:8081;
  5. # server 172.16.1.9:8082;
  6. }
  7. server {
  8. listen 80;
  9. server_name jpress.etiantian.org;
  10. return 302 https://$server_name$request_uri;
  11. # location / {
  12. # proxy_pass http://java;
  13. # include proxy_params;
  14. # }
  15. }
  16. server {
  17. listen 443 ssl;
  18. server_name jpress.etiantian.org;
  19. ssl on;
  20. ssl_certificate ssl_key/server.crt;
  21. ssl_certificate_key ssl_key/server.key;
  22. ssl_session_cache shared:SSL:1m;
  23. ssl_session_timeout 5m;
  24. ssl_ciphers HIGH:!aNULL:!MD5;
  25. ssl_prefer_server_ciphers on;
  26. location / {
  27. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  28. proxy_set_header Host $http_host;
  29. proxy_set_header X-Forwarded-Proto https;
  30. proxy_redirect off;
  31. proxy_connect_timeout 240;
  32. proxy_send_timeout 240;
  33. proxy_read_timeout 240;
  34. # note, there is not SSL here! plain HTTP is used
  35. proxy_pass http://java;
  36. }
  37. }
  38. #其中最为关键的就是 ssl_certificate 和 ssl_certificate_key 这两项配置,其他的按正常配置。不过多了一个 proxy_set_header X-Forwarded-Proto https; 配置。

Tomcat server.xml 完整配置

  1. [root@web03 server]# cat tomcat8_1/conf/server.xml
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <Server port="8011" shutdown="SHUTDOWN">
  4. <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  5. <Listener className="org.apache.catalina.security.SecurityListener" />
  6. -->
  7. <!--APR library loader. Documentation at /docs/apr.html -->
  8. <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  9. <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  10. <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  11. <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  12. <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  13. <Resource name="UserDatabase" auth="Container"
  14. type="org.apache.catalina.UserDatabase"
  15. description="User database that can be updated and saved"
  16. factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
  17. pathname="conf/tomcat-users.xml" />
  18. </GlobalNamingResources>
  19. <Service name="Catalina">
  20. <Connector port="8081" protocol="HTTP/1.1"
  21. connectionTimeout="20000"
  22. redirectPort="443"
  23. proxyPort="443" />
  24. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  25. <Engine name="Catalina" defaultHost="localhost">
  26. <Realm className="org.apache.catalina.realm.LockOutRealm">
  27. <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
  28. resourceName="UserDatabase"/>
  29. </Realm>
  30. <Host name="localhost" appBase="webapps"
  31. unpackWARs="true" autoDeploy="true">
  32. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  33. remoteIpHeader="x-forwarded-for"
  34. remoteIpProxiesHeader="x-forwarded-by"
  35. protocolHeader="x-forwarded-proto"
  36. prefix="localhost_access_log" suffix=".txt"
  37. pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  38. </Host>
  39. </Engine>
  40. </Service>
  41. </Server>
  42. #上述的配置中没有什么特别的,但是特别特别注意的是必须有 proxyPort="443",这是整篇文章的关键,当然 redirectPort 也必须是 443。同时 <Value> 节点的配置也非常重要,否则你在 Tomcat 中的应用在读取 getScheme() 方法以及在 web.xml 中配置的一些安全策略会不起作用。

参考文档

https://blog.oldboyedu.com/java-tomcat/

http://www.zyops.com/java-tomcat/

https://www.cnblogs.com/swbzmx/articles/8845810.html



tomcat 安装配置部署到nginx+tomcat+https的更多相关文章

  1. centos tomcat/resin安装配置 卸载系统自带的java tomcat安装配置 安装JDK resin安装配置 第二十八节课

    centos  tomcat/resin安装配置  卸载系统自带的java  tomcat安装配置  安装JDK   resin安装配置    第二十八节课 tomcat和java都不需要编译 tom ...

  2. nginx+tomcat安装配置

    nginx+tomcat安装配置 # nginx+tomcat安装配置 #创建网站目录 mkdir -p /www/wwwroot cd /www #安装配置 wget http://mirrors. ...

  3. 如何在Cent OS上安装和部署jdk与tomcat?

    Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...

  4. tomcat 安装配置及问题解决

    最近没写程序 刚想运行一个jsp程序发现tomcat出现一些问题,然后就重新装了程序,重新配置 总结经验就是不要怕报错,把错误复制下来,百度里面都有解决办法 要安装与自己jdk版本相匹配的tomcat ...

  5. Tomcat安装配置

    Tomcat安装配置 很久没有通过博客对学习所得进行记录了. 现在将使用Tomcat的一些经验和心得写到这里,作为记录和备忘.如果有朋友看到,也请不吝赐教. 1.首先是Tomcat的获取和安装. 获取 ...

  6. Zookeeper、Solr和Tomcat安装配置实践

    Zookeeper.Solr和Tomcat安装配置实践

  7. Windows 下tomcat安装及将多个tomcat注册为Windows服务

    一.应用场景 虽然Windows在当下已经不再是我们作为服务器操作系统平台的首选,但是还是有一些开发商或者项目整体需求的限制必须运行在Windows系统平台之下.为了避免多个应用部署在同一个tomca ...

  8. CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)

    以下全部转载于  http://blog.csdn.net/lane_l/article/details/20235909 本人于今晚按照该文章使用centos 6.7 64bit安装成功,做个备份, ...

  9. CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

    准备篇 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dp ...

随机推荐

  1. 关于Facebook和Google+授权登录

    实际中遇到需要Facebook和Google+等第三方授权登录自己的Web应用(可能还有Android和IOS的手机应用),本质上都是JS SDK的官方应用.这时候不得不去他们官方查看文档. 注:一下 ...

  2. EF中更新操作 ID自增但不是主键 ;根据ViewModel更新实体的部分属性

    //ID自增但不是主键的情况 public int Update_join<TEntity>(TEntity entity) where TEntity : class { dbconte ...

  3. jQuery效果之jQuery实现图片的依次加载图片

    css代码: ;;} ul#portfolio li{float: left;margin:0 5px 0 0;width:250px;height: 250px;list-style: none;} ...

  4. 前端了解即可:OSS客户端如何使用,以实现资源分离

    前一阵,应为项目需要,才简单整理了一下oss客户端的使用,做静态资源分离,及在项目中引入路径.接下来讲解记录一下,阿里云对象存储(Object Storage Service,简称OSS)客户端的基础 ...

  5. zTree 节点文字过多处理方法

    zTree setting.view.addDiyDom 方法可以实现自定义控件,指定节点显示内容.因此需要自己实现addDiyDom方法. 如果树节点不显示checkbox ,处理方法为: func ...

  6. ios12怎么投屏电脑 苹果手机怎么投

    Ios12系统发布成功之后,是不是给我们带来更大的惊喜呢.我们只需要利用手机上的屏幕镜像就可以轻松将手机画面投屏至电脑上,那么ios12怎么投屏电脑?下面便是今天所要分享的手机投屏的方法. 使用工具: ...

  7. iOS------Xcode 的clang 扫描器可以检测出所有的内存泄露吗

    在苹果没有出ARC(自动内存管理机制)时,我们几乎有一半的开发时间都耗费在这么管理内存上.后来苹果很人性的出了ARC,虽然在很大程度上,帮助我们开发者节省了精力和时间.但是我们在开发过程中,由于种种原 ...

  8. JAVA 利用MyEclipse结合TestNG测试框架进行单元测试

    利用MyEclipse结合TestNG测试框架进行单元测试   by:授客 QQ:1033553122 测试环境 jdk1.8.0_121 myeclipse-10.0-offline-install ...

  9. mac 苹果多版本jdk自由切换

    场景 手头上的工具有时候依赖低版本jdk,有时候需要高版本jdk, 如何在不同版本jdk之间来回自由的切换? 安装 首选需要去官网下载dmg安装包,地址:https://www.oracle.com/ ...

  10. javascript的函数、事件

    本文内容: 函数 函数的定义方式 函数的调用方式 函数的参数 匿名函数 函数中的this 事件 常见事件 绑定事件 首发日期:2018-05-11 函数: 函数的定义方式: 函数可以有参数,参数为局部 ...