web项目打包部署到服务器上的步骤

一、将项目打包成war包。(这里以eclipse如何打包为例)

项目(右键)——>Export——>War file(Web)——>选择war包保存路径——>Finished。

二、发布到Tomcat上。

2.1  解压tomcat

2.2  将打包好的war包拷贝到tomcat文件夹下的webapps里。

2.3  在tomcat的config文件中修改server.xml信息。(在<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” pattern=”%h %l %u %t &quot;%r&quot; %s %b” prefix=”localhost_access_log.” suffix=”.txt”/>后面添加<Context docBase=”你的项目名” path=”/项目名” reloadable=”true”  “/>)

注意:如果没有配置好JAVA_HOME与JRE_HOME信息的,还要在bin文件中修改setclasspath.bat信息。(在rem Make sure prerequisite environment variables are set 这句上面添加set JAVA_HOME= ‘java安装路径’  set JRE_HOME=’JRE安装路径’)。

三、运行项目。

在tomcat的bin文件中找到startup.bat,双击运行,即可启动项目。

手动修改tomcat版本号

1.找到tomcat所在位置进入lib目录            apache-tomcat-8.0.0\lib

2.lib目录县有个catalina.jar                        用解压缩软件打开(可以先解压再修改版本号再打成jar包这样太麻烦所以直接用解压缩软件打开就行)

3.打开后 ,在catalina.jar\org\apache\catalina\util目录下找到ServerInfo.properties

4.用编辑软件(记事本就可以)打开ServerInfo.properties再进行修改就行了

5.修改版本号

原有的                                                                      修改后的

server.info=Apache Tomcat/8.5.0                        server.info=Apache Tomcat/8.0.0
server.number=8.5.0                                             server.number=8.0.0
server.built=Jun 21 2017 17:01:09 UTC            server.built=Jun 21 2017 17:01:09 UTC

根据自己的需要将其改为自己想要的版本就行了

服务器上的tomcat怎么判断版本

先找到tomcat的安装路径,在lib目录下有catalina.jar, 执行以下命令就可以显示出了.

java -cp catalina.jar org.apache.catalina.util.ServerInfo

Server version: Apache Tomcat/7.0.52
Server built:   May 15 2015 01:37:14
Server number:  7.0.52.0
OS Name:        Linux
OS Version:     2.6.18-164.el5
Architecture:   amd64
JVM Version:    1.7.0_71-b14
JVM Vendor:     Oracle Corporation

上边不仅列出了Tomcat的版本, 还将tomcat依赖的JVM版本,OS版本也列出来了。

原文:http://blog.csdn.net/hongchangfirst/article/details/49472579

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst

*简单的查看自己Tomcat版本的方式

1.先进入dos窗口,快捷键:win+r,弹出窗口,输入cmd,点击确定进入

%title插图%num

2.在dos窗口中,先切换目录,找到tomcat存放的目录地址。如图所示

注意:直接进入到tomcat\bin目录才能运行命令,我的路径是(F:\tomcat\bin)

%title插图%num

3.直接输入version命令,直接就输出版本信息

%title插图%num

查看服务器tomcat版本

一、通过tomcat版本文件查看
找到tomcat目录,进入”xxx/tomcat/bin” 目录,执行”sh version.sh”。如果没有设置JAVA_HOME和JRE_HOME环境变量则会报如下错误:

[jerry@host xxx/tomcat/bin]
$sh version.sh
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

设置JAVA_HOME和JRE_HOME环境变量:

export JAVA_HOME=xxx/java/
export JRE_HOME=xxx/java/jre/

执行”sh version.sh”返回当前tomcat版本信息:

$sh version.sh
Using CATALINA_BASE: xxx/tomcat
Using CATALINA_HOME: xxx/tomcat
Using CATALINA_TMPDIR: xxx/tomcat/temp
Using JRE_HOME: xxx/java/jre/
Using CLASSPATH: xxx/tomcat/bin/bootstrap.jar:xxx/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: xxx/tomcat/catalina.pid
Server version: Apache Tomcat/7.0.47
Server built: Jan 10 2014 01:31:08
Server number: 7.0.47.0
OS Name: Linux
OS Version: 3.10.0-327.2016.os7.x86_64
Architecture: amd64
JVM Version: 1.8.0_66-b60
JVM Vendor: “mmm”

二、通过tomcat启动文件查看
找到tomcat启动文件,本文是yyy/tomcat_stdout.log,搜索”Starting Servlet Engine”则可看到当前启动的容器版本。


2018-07-31 19:06:27,446 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=xxx/tomcat
2018-07-31 19:06:27,447 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/zzz/.default/temp
2018-07-31 19:06:27,571 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler [“http-bio-7001”]
2018-07-31 19:06:27,586 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 842 ms
2018-07-31 19:06:27,628 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
2018-07-31 19:06:27,629 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.59.463

如何通过 CloudFlare+Conoha搭建的企业便宜CDN

中国的流量很贵,流量越大越贵。

目前我负责的业务一半国内,一半海外。目前日均请求过千万,流量过 10T ,总成本不超过 500 元 /天。跟传统的 CDN 服务相比,便宜到可以忽略。

CDN 介绍
在项目早期,为了业务简单,直接使用传统 CDN 提供商网宿,在 CDN 宽带超过 5G 的时候, CDN 的成本开始显现出来。
一般国内的 CDN(网宿、帝联、蓝汛,还有一些如七牛、又拍这样的二手贩子)均有宽带和流量计费,新起的云平台(阿里、腾讯、 uCloud)基本上使用流量计费。

国内的 CDN 价格,网宿的 95 峰值计费,一般价格在 45-55 元 /M ,根据宽带高值、公司背景、销售人员关系等等因素,合同的价格可以签到 30-40 元左右,其它二线的 CDN 可以签到 25-30 元左右。

其它的云服务平台,价格相对固定,业务购买一般是自助服务,价格基本上没得可谈,普遍价格在 0.9 元-1.2 元 /G 。

国内服务器的国外 CDN 价格比国内高出几个数量级,网宿的报价为 150 元 /M ,其海外节点为少数自建加 akamai 代理。其它几家传统的 CDN 服务商完全代理甚至没有海外业务。

海外的 CDN 服务商,计费一般是按流量计费,常见的如 MaxCDN, KeyCDN ,价格一般为 0.04-0.1 美元 /G 。

业务介绍
我们的业务早期使用网宿,业务从 0M 跑到 3G ,业务一直比较稳定。后来业务推到海外,直到 CDN 的成本越来越高,经过跟几家 CDN 服务咨询、测试,从*初的七牛, MaxCDN , KeyCDN ,到*后的 CloudFlare+Conoha ,终于实现成本与速度的平衡。

在*次使用 CloudFlare 和 Conoha 的时候,都被其*低的价格吓得不敢相信,企业级项目中总觉得低价的服务肯定会出问题(事实上确实是这样,毕竟价格高的也会出问题)。

cloudflare.com

和国内的安全宝、百度云加速的业务类似, CloudFlare 提供的安全服务是帮助网站阻止来自网络的黑客攻击、垃圾邮件等,并提升网页的浏览速度,这和一般的安全软件往往会影响网页的运行速度大相径庭。目前 CloudFlare 在全球拥有 23 个数据中心,如果用户使用了其服务,那么网络流量将通过 CloudFlare 的全球网络智能路由。 CloudFlare 会自动优化用户的网页交付,以期达到*快的页面加载时间以及*佳性能。 CloudFlare 提供包括 CDN 、优化工具、安全、分析以及应用等服务。

2015 年 9 月, CloudFlare 正式宣布与百度合作改善外国网站在中国的可访问性。双方早在去年 7 月就签署了合作协议, CloudFlare 将其技术转让给百度( CEO 称此举是为了增加信任),而采用 CloudFlare 技术的百度云加速服务于去年 12 月开始运作。

CloudFlare 称,百度在中国大陆的 17 个中心地区节点与 CloudFlare 全球的 45 个节点结合起来,提升中国国内外的访问体验,当客户激活中国网络服务后,他们的中国访问者将会访问百度节点,而 CloudFlare 节点则继续服务海外访问者,可将中国流量的响应时间缩短超过 200 毫秒。
但外国客户如果要激活中国网络服务将需要 ICP 备案。网站备案是中国工信部要求所有在中国大陆使用主机或 CDN 服务的许可证书。
via:http://www.cnbeta.com/articles/429815.htm

conoha.jp

ConoHa 日本 gmo.jp 旗下的一个 VPS 主机商,成立于 2014 年。 ConoHa 提供日本、新加坡及美国机房云 VPS 服务。
ConoHa 的业务跟国内的云服务平台类似。说是云服务器,个人感觉跟 vps 差不多,跟常见的 Linode 和 digitalocean 基本上相同。
ConoHa 的官网支持中文,支持信用卡和支付宝,支持扩容支持按时间收费,可以按小时按月计费。

ConoHa 的价格非常廉价,常见的配置如 1GB 、 2Core 、 SSD50GB ,每个月 50 元人民币。

*重要的是, ConoHa 不限流量, 100M 宽带,可扩容,可加 IP 。

ConoHa 有激励政策,通过我的邀请链接注册,你可以获取 1000 日元,相当于免费赠送一台主机,
https://www.conoha.jp/referral/?token=V3xoVa5812CYk15rhJkKiiNc5E340f3uNaNjQCiaBmnWZdA30Zk-0VJ

业务实现
在 CloudFlare 中,添加一个免费(我们使用付费方案是 200 美元 /月)的域名,主要使用其提供的 IP 隐藏、文件缓存来实现防 DDOS 和 CDN 需求。

在我们的单个项目中, CloudFlare 每天可以缓存数百万次的请求,差不多 8-12TB 左右的流量。按*低 4 美分的价格,每天的 CDN 成本应该在 3000 元左右,一个月 10 万元,一年超过 100 百万元。
采用了 CloudFlare 以后,只需要 1200 元一个月,一年只需要 1 万元, CloudFlare 实实再再的帮老板省了一大笔钱。
老板是不是该*励我一台特斯拉了哎?

QQ20160110-1

经过我们跟数家 CDN 服务商的对比和测速,给 CloudFlare 的节点和速度 5 个星,稳定性和速度让我们非常意外,点赞。
但作为一个非专业的 CDN 解决方案, CloudFlare 目前还没有完善的数据报表。不能分析请求的 URL 列表,不能按常见维度分析用户和行为,对运营人员来讲是个缺憾。
同时, CloudFlare 默认只对一些基本的文本、图片文件进行缓存,有特殊的文件,比如 apk 、 exe 等文件,则颇费周折。

via:https://support.cloudflare.com/hc/en-us/articles/200172516

CloudFlare 中非默认缓存的文件,比如 apk 文件,如果需要缓存,则不能携带任何参数,否则会回源,无法缓存。
CloudFlare 另外一个巨坑便是其缓存重建只能通过 pull 方式。回源 pull 方式存在严重的风险。我们这边出现过一个 50M 的文件清理缓存以后,源站瞬间出现近千个请求。这包括 CloudFlare 的全球节点的缓存请求,也有用户的的真实请求。
CloudFlare 无法设置限速,所有请求全落到源站,源站的流量瞬间飙上 500M 。放在云上的整个路由器下的所有业务全部卡死。

源站的流量可以通过扩容的方式提升上限,为了解决巨大的回源请求,我们曾差不多把宽带提高了到 1G 。
云平台 1.2 元 /G 的流量价格也是贵到滴血,逼得我们必须要为回源的请求再构建一个廉价的中转服务器。

在测试过 Linode 和 digitalocean 以后,我们选中了 ConoHa 。主要看中其*低的价格、无限流量、多节点等优势。
我们把文件 rsync 到 ConoHa 的多台主机以后,再将 CloudFlare 的回源请求重定向到不同的 ConoHa 服务器。
虽然业务架构越来越复杂,但比起源站业务被中断,以及宽带扩容的成本, ConoHa 上一个月不到一千块钱的成本实再便宜得让人心疼。

其它
在目前的架构中,所采用的方案均为比较新的服务商,稳定性存在非常大的风险,如果有一天 CloudFlare 或者 ConoHa 倒闭,则会对现在的业务造成致命的影响。

为了降低风险,我们也在采用了一些优化手段,也在积*寻找备用方案。
比如,为了避免单个域名流量太大,被 CloudFlare 封掉,或者要求我们使用更高的付费方案,我们把 CDN 拆到多个域名下,减少单个域名的请求和流量。我们也在寻找与 CloudFlare 相同的的平台,比如 Incapsula 。甚至有人建议直接购买廉价 vps 自建 CDN 。考虑到现在云计算基础服务相对完善,自建一个全球性的 CDN 平台也不是太大难事。

为了避免 ConoHa 出故障,我们也在其它几个廉价的 vps 服务商购买了几个备用服务器,定期将文件同步过去进行灾备。

同时,我们发现 CloudFlare 中添加一个在国内备案的域名,其节点尚不能确认是否已经使用了百度云加速的节点,有没有知晓内幕的朋友。

*后
经过项目的实践和数月的运营,这个廉价的 CDN 实现,节点数可以达到成熟商用 CDN 节点数的 30%-80%(海外优势尤其明显)。跟同行业的一些朋友交流时发现,也有其它同行业的业务使用 CloudFlare+Digitalocean 实现,稳定支撑月流水数百万美元的业务,而其成本非常低廉。

云服务越来越成熟,成本越来越低廉,对于我们这样的创业公司来讲,是一大福音。而对于那些传统的基础服务商来讲,又是什么呢?

第 1 条附言  ·  2016-03-03 16:33:00 +08:00

更新下:

0
conoha 确实有严重的限速问题,这个环节改成了 digitalocean+glusterfs 实现。
截止目前 cf 可以抗住每月 PB 级的流量,但中间出现过一次较大流量的回源,服务器产生了 300G 左右的流量。

1
详细咨询了 cf 在国内的业务,确认目前是可以提供的,通过邮件确认业务并议价,*后开通。这部分费用*后还是给百度了。 cf 给的这个价格来看,在国内没有什么优势。

2
国内的 CDN 今年应该有比较大的降价空间,网宿国内做到 25 元也不是不可能,供大家参考。

Web服务器,Web容器和应用服务器的区别

1、什么是服务器?

2、Web服务器,Web容器和应用服务器的区别?
3、Apache和Tomcat的区别?
4、都是服务器,那么我们经常还听到Nginx这样的服务器,和Apache的区别?

1、什么是服务器
查看Apache的定义时,会发现,Apache为Web server,也就是Web服务器。

Web服务器是指能够为发出请求的 浏览器 提供文档的程序。服务器是一种被动程序,只有浏览器发出请求的时候才会响应。应用层使用的是HTTP协议。

2、Web服务器,Web容器和应用服务器的区别
Web Server,Web container和Application Server区别。

Web Server,Web服务器,同上面所说,Web服务器是指能够为发出请求的浏览器提供文档的程序。服务器是一种被动程序,只有浏览器发出请求的时候才会响应。应用层使用的是HTTP协议。目前*主流的三个Web服务器是Apache Nginx IIS。

Web容器是一种服务器程序,在服务器端口就有一个提供相应服务的程序。所以现在知道为什么Tomcat有默认的端口——8080。一个服务器可以有多个容器。

如Tomcat,收到浏览器的请求之后还会解析Servlet,然后再把Servlet处理后的结果返回给浏览器。其实Tomcat既是Web服务器也是Web容器。为什么这样说,第三点会讲到。

而应用服务器,这里有个区分它与Web服务器的答案:
What is the difference between application server and web server?
Web服务器设计服务于HTTP内容,应用服务器不只限于HTTP。Web服务器服务于静态内容,有插件支持动态语言,
应用服务器也具有Web服务器的这些东西,除此它还支持程序级的服务,如连接池,事务支持,信息服务等。

至于Tomcat是不是应用服务器,那就不好说了。

3、Apache和Tomcat的区别
Apache指的是Apache HTTP Server。
stackoverflow里面的这个问题虽然被关闭了,但是有一个评论写的博客挺好的。
What is Tomcat? Is it a Web Server? What can Tomcat do? How is it different than Apache Web Server?
里面就讲到:

Tomcat是一个Servlet/Jsp容器,它同时也作为一个web服务器使用。

Tomcat = ( Web Server + Servlet container + JSP environment ),因为我们知道JSP也是转译为Servlet的,Tomcat接收请求之后,如果是JSP页面的话,Tomcat里面的JSP引擎可以将JSP转换为Servlet类。

从这里也可以看到,其实Tomcat既是Web服务器也是Web容器。

如果是Servlet类的话,直接就是Servlet引擎加载Servlet类并且执行,然后以HTML的格式输出,再返回给浏览器。

而Apache是设计服务于静态web页面的web服务器。如果是Apache来接收 jsp 请求,它根本就不知道这是什么东西,所以返回的并不是我们想要的结果,但是静态页面的话,如http://www.apache.com/index.html这样的请求的时候,Apache就直接将这个页面返回给请求的浏览器了。

4、都是服务器,那么我们经常还听到Nginx这样的服务器,和Apache的区别
Nginx是engine x的缩写,与Apache不同的是,Nginx是一款高性能的HTTP和反向代理服务器。
其实这块我是接触很少的,
但是之前见过他人的博客挂掉的时候出了这个Nginx,就一直很好奇这是什么东西,
还有一个师兄用R asp berry Pi加Nginx加 PHP 发了个Helloworld的时候,也让我感觉很是神奇。

阿里云上redis外网无法访问的解决方案

折磨了一天的我,现在是夜里21:45.终于把redis给弄通了。从安装到跑通可谓是一路艰辛。下边说一下情况吧。

下边这个工具是windows连接redis的*佳工具(可以说没有之一我个人认为的)。

%title插图%num

这就是问题,redis已经安装好了,而且跑起来了。阿里云服务器上可以直接操作,但是本地连接的时候就会报错mmp.

各种骚操作更改配置文件,然后各种不行。下边需要一步步去排查。

1.首先确定你的redis.conf文件配置的几点注意点:

%title插图%num

1).规则要在阿里云上 配置好

2)redis.conf配置文件需要更改几个地方,下图bind  改成0.0.0.0必须要改。改成本机的内部ip我不知道可以不。我没有尝试。

%title插图%num

3)daemonize  yes

4)  还有一个可以配置 密码 ,我给忘记在哪了,反正在该文件 ,应该是可配可不配。配的话需要在代码上或者工具连接时候加上密码

可以说如果完成了上边几步基本上百分之九十的连接不上的问题都会迎刃而解。

腾讯云公网ip访问不通的问题解决

*近实在是烦透了,本以为是腾讯云的问题,结果是自己粗心大意,不过腾讯云的服务器与阿里云的服务器还是有点差别的,相比之下腾讯云的安全性要高一下,因为高的连自己也无法访问了,进入正题,我就是拿服务器做了小测试,用tomcat挂了小的html网页,不成想用公网ip死活访问不到,用本机ip可以,捉急啊,经过查找资料和经验摸索,找到了这个跟安全性有关系的安全组,估计这是腾讯云的特色吧,在安全组中,我们可以看到,先上图把
%title插图%num

把我们的服务器的所有端口都打开就好了,
下面发个群的连接
点击链接加入群【腾讯云服务器交流群】:http://jq.qq.com/?_wv=1027&k=kCrzeM
目前只有个位数的人,希望大家来学习交流支持一下,前十五名有机会混管理员

%title插图%num