必备条件:

宽带运营商提供了ipv6

光猫拨号改为路由器拨号且路由器开启了ipv6

运营商未屏蔽ipv6的80/443端口(如果屏蔽了常用端口,那么可以尝试高一点的端口号。端口号范围:1 - 65535)

目录

一、阿里云申请域名&ssl证书

1、申请域名

2、申请ssl证书

二、配置tomcat服务器

1、下载jdk&tomcat

2、配置jdk&tomcat

3、配置ssl证书

4、开启防火墙端口

5、建站

6、创建简易的文件服务器

7、创建webdav服务器

8、创建ddns实现自动同步域名解析

9、将tomcat添加到系统服务


一、阿里云申请域名&ssl证书

1、申请域名

官网:阿里云企航_万网域名_工商财税_知识产权_资质备案_智能设计_网站建设-阿里云

域名价格:大多数第一年低于10元,续费比较贵。若不在意域名价值,建议每年换新域名。

2、申请ssl证书

官网:证书服务_SSL数字证书_HTTPS加密_服务器证书_CA认证-阿里云

价格:一年之内可申请20个免费的ssl证书,有效期一年。似乎到期后,每年都继续送免费额度。

成功时间:系统自动批准,10分钟之内就能申请成功。成功后,下载ssl证书,类型选择JKS。

二、配置tomcat服务器

1、下载jdk&tomcat

oracle官网下载jdk:Java Downloads | Oracle

选择一个jdk版本,选择windows,且下载zip包。当然你也可以下载一键安装包,那么就可以跳过后面配置环境变量步骤。

我用的版本为jdk17 windows11 zip包。

apache官网下载tomcat:Apache Tomcat® - Apache Tomcat 11 Software Downloads

拉到页面最后,我选择版本是tomcat11 :64-bit Windows zip (pgp, sha512)

2、配置jdk&tomcat

首先,将下载的jdk和tomcat解压并放到固定路径,我放置的路径为:

C:\Software\jdk-17_windows-x64_bin\jdk-17.0.6

C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4

Windows11可以直接win+s键搜索:环境变量。windows10我记得没错的话应该是在 右击桌面图标"此电脑" - 属性 -环境变量

系统变量 - 新建 4个变量

①变量名:JAVA_HOME

变量值:C:\Software\jdk-17_windows-x64_bin\jdk-17.0.6

注:C:\Software\jdk-17_windows-x64_bin\jdk-17.0.6 路径下的必须有bin文件夹,否则路径不对

②变量名:TOMCAT_HOME

变量值:C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4

③变量名:CATALINA_HOME

变量值:C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4

④变量名:CATALINA_BASE

变量值:C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4

同理 apache-tomcat-11.0.0-M4 下必须有bin文件夹,否则路径不对

找到 系统变量 下的path,双击打开后,添加:

%JAVA_HOME%\bin

%TOMCAT_HOME%\bin

%CATALINA_BASE%\bin

%CATALINA_HOME%\bin

尝试开启tomcat:

在C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4\bin 找到startup.bat,并双击。如果cmd窗口没有闪退,且一直在窗口前,则成功。否则,请检查环境变量配置路径。

在浏览器输入http://127.0.01:8080,出现tomcat首页,则成功。

3、配置ssl证书

将申请的ssl证书放在tomcat目录中的conf文件夹下

打开该conf目录下的server.xml,找到Connector标签,

将port端口改为80

在redirectPort前添加

address="www.abc.com"
<!-- www.abc.com改为你的域名-->

在Connector标签后面添加

    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" secure="true" ><SSLHostConfig><Certificate certificateKeystoreFile="conf/1234_www.abc.com.jks" certificateKeystorePassword="abcdef" type="RSA" /><!-- conf/1234_www.abc.com.jks 改为证书路径 --><!-- abcdef 改为随证书文件夹下的密码 --></SSLHostConfig></Connector>

保存重启tomcat。

4、开启防火墙端口

控制面板 - 系统和安全  - Windows Defender防火墙 - 高级设置 -入站规则 - 新建规则

自定义 - (下一步) - 所有程序 - (下一步) - 协议类型:TCP;本地端口:80 - (一直点到最后) - 起个名然后确认

同方法,新建80,443端口的tcp和udp协议。

测试:用手机等除了电脑之外的其他设备访问你的域名,如果成功显示你部署的tomcat首页,则成功。否则排查tomcat日志、windows防火墙、在线扫描端口判断运营商是否屏蔽的80&443端口。

Tips:tomcat日志可能会出现中文乱码,需要修改tomcat文件夹下的conf / logging.properties文件

将java.util.logging.ConsoleHandler.encoding = utf-8 修改为

java.util.logging.ConsoleHandler.encoding = GBK

5、建站

直接部署在tomcat目录下的webapps\ROOT中部署即可,当然也可以创建虚拟路径:

创建虚拟路径:

方法一:

手动修改conf\server.xml映射虚拟路径:

server.xml文件中,在末尾</Host>标签前插入

<Context path="【访问路径】" docBase="【实际路径】" debug="0" reloadable="true" />

【访问路径】修改为:

/ 或者 留空,表示输入ip或域名访问后,url无需加路径,直接【实际路径】文件夹里的目录

PS:若无<Context>标签 或 标签中的【访问路径】留空,则自动访问webapps/ROOT文件夹里的目录。

/abc ,表示域名后要添加/abc,来访问【实际路径】文件夹里的目录。

【实际路径】修改为:

/,表示访问webapps文件夹里的目录(与ROOT目录并列);

/abc,表示访问webpps/abc文件夹里的目录;

D:/abc,表示访问D盘(可以为非tomcat安装盘)中abc文件夹里的目录。

PS:tomcat不可访问硬盘分区的根目录,如将【实际路径】改为D:/或者D:后,tomcat实际访问不到任何目录

方法二:

实际开发时,tomcat安装目录与多个应用目录应当分开放于不同文件夹/硬盘。

(CATALINA_HOME:服务器安装目录,CATALINA_BASE:一个web应用对应一个catalina_base)

上提到【实际路径】未指定盘符时,默认访问tomcat安装目录webapps里的目录。

实际上可以修改:

server.xml文件中将:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">

修改为与webapps同级文件夹或者其他硬盘分区中的文件夹。

然后在</host>前添加:<Context path="" docBase="" debug="0" reloadable="true"/>(如果没有添加,则访问不到404错误)。

手动添加xml文件,创建虚拟路径。

根据上面补充说明,可以在CATALINA_BASE/conf/[enginename]/[hostname](默认为tomcat/conf/Catalina/localhost)下新建【文件名1】.xml,添加代码:

<Context docBase=“【实际路径】” /> PS:实际路径处似乎只能填写路径,如果填写路径下的文件,且将url中的文件省略,会报错404

结果:http://域名/【文件名1】,即可访问【实际路径】。

每次修改XML文件都不要忘了重启Tomcat使之生效。

如果修改后,tomcat闪退,则说明修改后的xml文件有问题,请逐一排查。

6、创建简易的文件服务器

找到tomcat - conf- - web.xml

搜索“servlet”,找到

    <servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>false</param-value></init-param><load-on-startup>1</load-on-startup></servlet>

将 <param-value>false</param-value> 改为true。

在</init-param>标签下面新增

        <init-param><param-name>readonly</param-name><param-value>true</param-value></init-param>

然后根据上一个标题《建站》创建虚拟路径,重启tomcat后用浏览器加上路径访问tomcat,

如果成功,浏览器则会显示

7、创建webdav服务器

(这是我之前的记录的笔记,我直接粘贴过来了)

第一步、新建一个新项目

①在server.xml文件中复制service整个标签,在service后面粘贴service;

②修改刚刚粘贴的service,包括(service name,端口号,Engine name,appBase);

③复制webapps,并在同目录粘贴改名为webapps02;

④为了让ip能访问项目,在connector中,添加address="[::]";

⑤保险起见,在全局打开目录访问权限(web.xml):

第二步、创建配置文件

在第一步中的webapps02中创建webdav / WEB-INF / web.xml,将下面的代码复制进去。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>webdav</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><servlet><servlet-name>webdav</servlet-name><servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><!-- Read-Write Access Settings --><init-param><param-name>readonly</param-name><param-value>false</param-value></init-param></servlet><!-- URL Mapping --><servlet-mapping><servlet-name>webdav</servlet-name><url-pattern>/*</url-pattern></servlet-mapping><security-constraint><web-resource-collection><web-resource-name>webdav</web-resource-name><!-- Detect WebDAV Methods in URL For Whole Application --><url-pattern>/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method><!--<http-method>GET</http-method>  <http-method>PUT</http-method>  <http-method>HEAD</http-method>  <http-method>TRACE</http-method>  <http-method>POST</http-method>  <http-method>DELETE</http-method>  <http-method>OPTIONS</http-method> --><http-method>PROPFIND</http-method><http-method>PROPPATCH</http-method><http-method>COPY</http-method><http-method>MOVE</http-method><http-method>LOCK</http-method><http-method>UNLOCK</http-method> </web-resource-collection><!-- Restrict access by role --><auth-constraint><role-name>*</role-name></auth-constraint></security-constraint><login-config><auth-method>BASIC</auth-method><realm-name>webdav</realm-name></login-config><security-role><description>WebDAV User</description><role-name>webdav</role-name></security-role>
</web-app>

PS:也可以将webdev(包含里面的WEB-INF/web.xml)创建到其他硬盘分区,方法:

打开server.xml,在该项目对应的service下,添加

<Context path=""  docBase="D:/webdav" debug="0" reloadable="true" />

以后直接访域名,即域名后无需再添加 /webdav路径,即可直接访问。

Tips:tomcat似乎有限制,可能是为了安全性,无法直接添加整块分区,只能添分区中的某个子文件夹。

第三步、创建用户

在apache-tomcat\conf\tomcat-users.xml中添加:

<role rolename="webdav"/> <user username="admin" password="admin" roles="webdav"/>

测试:可以在安卓手机上下载Solid Explorer文件管理器,新建云连接来检测是否成功。

8、创建ddns实现自动同步域名解析

github开源项目,可以自动同步电脑的ip地址,解析域名到dns服务器。
项目地址:GitHub - jeessy2/ddns-go: 简单好用的DDNS。自动更新域名解析到公网IP(支持阿里云、腾讯云dnspod、Cloudflare、Callback、华为云、百度云、Porkbun、GoDaddy、Google Domain)

大致流程(参考官方使用说明):
        首先,将程序添加到服务中,实现自启动。

然后,浏览器输入127.0.0.1:9876进入配置界面,通过绑定域名服务商的key来获得修改域名解析ip的权限。

最后,实现定时自动检测本地计算机ip与域名解析的ip是否符合,并实现修改功能。

Tips: 还可以通过webhook来自定义推送修改解析信息。

9、将tomcat添加到系统服务

将tomcat添加到系统服务可以实现自启、减少windows的cmd窗口,无感启动。

方法:

win + s 搜索cmd并以管理员身份运行,然后cd命令进入tomcat的bin文件夹,执行

安装:service.bat install

启动:net start tomcat11

停止:net stop tomcat11

查询状态:sc query tomcat11

卸载:service.bat remove

Tips:

执行时代码使用tomcat11是因为我安装版本为11。具体可以在安装时,查看cmd打印出执行的tomat的版本信息。

关于自启,查看杀毒管家软件是否禁止了tomcat自启。

以上教程是我自行学习以及在网上查询的教程且亲自部署过,用到的网站/工具有csdn、Github、百度、Google、Chatgpt等。感谢大佬在网上分享的教程,且我也记录与总结自己的流程,作为自己笔记以及给爱捣鼓的朋友作参考。如有问题欢迎指出与提问。如帮到了你,希望能点个赞。

家庭宽带在有ipv6公网环境下,配置本地tomcat服务器+域名+ssl+ddns,实现ipv6建站、搭建简易的文件服务器、搭建webdav服务器等功能相关推荐

  1. Linux离线安装NTP服务,内网环境下配置本地时间同步

    参考文章:Linux离线安装NTP服务,无外网环境下配置本地时间同步 | 航行学园 1.常用命令 rpm -qa | grep ntp #查询已安装的ntp版本信息等 rpm -e --nodeps ...

  2. LAMP环境下配置虚拟主机和域名的跳转

    一.配置虚拟主机 vim /usr/local/apache2/conf/extra/httpd-vhost.conf <VirtualHost *:80>    ServerAdmin ...

  3. teredo实现ipv4公网环境下接入ipv6

    teredo实现ipv4公网环境下接入ipv6 系统:macOS High Sierra 10.13.3 测试成功 软件下载 下载安装Miredo http://www.deepdarc.com/mi ...

  4. 超级详细:公网环境下登录 Docker 仓库: Docker Hub 或 国内阿里镜像仓库!超级解惑!(推送镜像到docker hub 或 国内阿里云镜像仓库)

    文章目录 前言: 1.登录 Docker Hub : ①.注册 或 登录 Docker Hub: ②.创建储存库: ③.开始上传镜像: ④.下载镜像: 2.使用 国内阿里云 镜像仓库: ①.开通 容器 ...

  5. 暴露在公网环境下主机的安全防护

    前言:服务器安全问题是每个运维从事人员不可避免的一部分工作,在linux管理界乃至计算机界也都是一个首要考虑的问题.最近公司的部分机器需要暴露在公网环境下,如果不做安全策略的话,可能睡到半夜就会被叫起 ...

  6. mysql5.6获取ipv6_linux环境下配置mysql5.6支持IPV6连接的方法

    简介: 本文主要介绍在linux系统下,如何配置MysqL支持IPV6的连接. 环境要求: 1.debian7.5操作系统虚拟机 2.MysqL5.6版本的数据库,并且已经在debian7.5系统上安 ...

  7. linux下ipv6地址如何ping,IPv6地址环境下如何使用ping、telnet命令

    IPv6地址环境下如何使用ping.telnet命令 日期:2020-08-12 10:46 浏览次数: 分类:知识库 来源:郑州冰川网络技术有限公 本文主要介绍IPV6通信时,IPv6地址的ping ...

  8. 全开源深度学习平台PaddlePaddle入手之路(二)----利用Docker在Windows10专业版环境下配置PaddlePaddle...

    利用Docker在Windows10专业版环境下配置PaddlePaddle 对于PaddlePaddle的安装,查询官网信息,PaddlePaddle提供pip安装和Docker安装运行的使用方式. ...

  9. 【OS】Linux环境下配置固定IP地址--静态IP地址(不能上外网问题)

    [OS]Linux环境下配置固定IP地址--静态IP地址(不能上外网问题) ---red hat重启网卡 service network restart /etc/rc.d/init.d/networ ...

最新文章

  1. c语言倒计时不影响进程_2017级C语言大作业 - 见缝插针
  2. Pandas文本处理双雄extract+extractall
  3. Java方法 signature
  4. 分析|CVE-2021-3156-sudo堆溢出高危漏洞
  5. PhoneGap API帮助文档翻译—Camera (摄像头)
  6. php describe,php – 在Zend框架中的许多DESCRIBE查询
  7. rt-thread怎么使用数码管_三菱FX PLC功能指令,怎么学?
  8. 数据结构/图论:最小路径问题
  9. android APN的打开与关闭
  10. 排序算法有哪些_面经 | 超强整理,科班算法岗的秋招之路
  11. VS Code 取色器 插件 颜色选取
  12. 汇编语言视频教程 | 免费下载
  13. RSA加密算法中的数学原理
  14. 净推荐值NPS(Net Promoter Score)
  15. GAN的评价指标——KID解读(内含FID)
  16. 移动电源快充QC3.0方案芯片IP5318快充方案
  17. linux设置北京时区
  18. 2017-09-04考试情况总结
  19. linux分区的起始扇区,f-fdisk做磁盘分区,起始扇区从2048块开始
  20. x射线mas_X射线视觉

热门文章

  1. Linux之旅-第一个内核打印信息
  2. WebAPI Post模式下传递、接收参数的几种方法
  3. 2021-08-18 mos 识别 应用与原理 个人总结
  4. 公共英语和计算机能一起考吗,公共英语(PETS),2020年还会开考吗?
  5. photoshop CS6关于字体显示小的问题
  6. 南宁职业技术学院世纪银河计算机学校,技术学院
  7. Python-基于卷积神经网络斑马线识别分类,准确率高达99%
  8. 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答
  9. Microsoft Excel 教程:如何在 Excel 中显示或隐藏图表图例?
  10. 【将酒】 面向年轻人打造新派白酒,首发总成交额破百万