此文章只为学习记录
最近捣鼓写服务器,觉得自己有编程基础,就很不注重基础,直接高楼就起来了,然后把项目跑起来之后,能正常访问了,很嘚瑟的! 后面,问题就来了,在阿里云弄了一个域名,想通过域名来访问项目接口,蒙圈了,完全不知道怎么整,这个时候,搜索引擎用得可溜了,一番猛操作之后,发现,问题还没有解决,每个人问题不一样,解决方法不一样,同一个问题,搜索引擎出来的解决办法各种各样,最后呢,还是老老实实补一遍基础吧,以下就是记录一下自己的问题。
想要实现的功能
最初服务器是通过ip+端口访问的,不过这样很不安全,和裸奔没啥区别,所以注册了域名,想通过域名直接访问整个服务器项目
碰到的问题:
修改server.xml connector 端口 和 host name之后,tomcat直接启动不起来,或者起来了项目war没有编译导致根本无法访问
老老实实解决问题 不要飘~~~
要想解决问题,一定要弄清楚server.xml里面节点的意思,不然会走很多弯路,下面是我整理的一些关键节点的解释
Server:
port: 指定tomcat端口请求监听
shutdown: 指定向端口发送的命令字符串
Connector(客户端和service之间的链接):
port: 服务端的端口号,主要监听客户端的请求
minProcessors: 处理请求的线程数
maxProcessors: 最大可以创建的处理请求的线程数
connectionTimeout: 指定超时的时间数(以毫秒为单位)
acceptCount: 处理请求超过线程数之后,可存放请求的消息队列的数量,超过不给予处理
Engine(表示service中的请求处理器,处理Connector的请求):
defaultHost: 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的
Context(web应用程序定义,通常为war或者jar文件):
docBase: 应用程序的路径或者war的存放路径
path: 访问应用程序的前缀,例如:path,访问的时候,就需要http://域名/path
reloadable: 此属性如果为true,才会自动检测应用程序WEB-INF/lib WEB-INF/classes变化,自动编译新的应用程序
Host(虚拟主机):
name: 主机名称(绑定域名可更改值为你的域名)
appBase: 应用程序存放的根目录,一般为webapps,具体根据实际情况配置
unpackWARs: 为true,tomcat会自动解压war文件,否则不解压,直接运行war中程序
配置服务器大致用到的就这些属性,路径一定要对,否则还是解决不了问题