发表于: 2017-08-28 15:06:24
3 1285
今天完成的事情:
整理小课堂,修改完善task2代码,可能还有些问题,主要我也不太清楚标准,看了别人的代码也都挺乱的
执行maven install命令,打war包
这个我记得之前有好几次小课堂都讲过怎么打war包,我就直接使用了maven install命令
根据这个INFO信息直接去c盘里找
这个maven install就是打包到本地仓库,像我没有设过本地仓库就会打到如上的.m2文件夹下,然后同时生成pom和war文件
maven package只是打包到本项目,一般会在target下
还有一个maven deploy,据说是上传到远程仓库,还不知道到底是哪
安装Resin或者Tomcat或者Jetty,我看安装Resin的挺多的,就先装resin看看
官网上下载最新版本
这个pro好像是收费版本,先这样吧..
然后传到服务器上,解压
tar zxvf resin-pro-4.0.53.tar.gz
然后我把文件夹拷贝到了opt下
cp -r resin-pro-4.0.53 /opt/
进入bin里边,修改resin启动脚本,设置jdk
vi resin.sh
下边加上两句
export JAVA_HOME=/root/jdk1.8.0_144
echo $JAVA_HOME
这里贴几个指令吧
./resin.sh start启动resin
./resin.sh kill强制终止
./resin.sh stop结束
./resin.sh restart重新开始
./resin.sh version版本信息
然后执行./resin.sh start,就运行起来了
我这里也遭中半天,网上好多教程太坑了..
然后这里访问的是resin的webapps下的ROOT,我找找
ROOT下确实有项目,我把war包部署一下试试
我把war包传到了webapps下
然后重启了resin。。然后,,不知道怎么弄了_(:з」∠)_
start.sh stop.sh deploy.sh这几个是需要自己编写的shell脚本吧,我研究研究..
。。。。。。
然后我发现一个很重要的事情!!
阿里云的8080端口竟然没开!?这不应该默认开的么
我自己加了个安全组,坑..
然后打开8080
好吧能访问到了,然后task2的url试了一下还是不行
404
然后发现可能是连接数据库的路径什么的写错了,应该连远程的服务器的公有ip
然后重新打war包,放到webapps下
重启resin
在bin在 ./resin.sh restart
好,漂亮,能访问到index.jsp页面了,然后我们进去看看list页面
额,报错了。。当时忘了截图,报的这个错误
javax.net.ssl.SSLHandshakeException: Failed to negotiate the use of secure renegotiation
就是这个SSL握手失败,未能就安全重新谈判的使用进行谈判..
就是连接不上远程数据库,我在本地直接使用这个47.93.255.79都能直接连上数据库,它自己到连不上了..
ssl谈判失败,这个ssl(Secure Sockets Layer)是一种网络安全方面的协议,对于连接方面要求很高,保证数据的安全性和完整性。
比如我们登陆mysql的时候,输入密码不显示明文,就是一种SSL。可能我这个mysql自动设定的安全级别很高,所以连不上吧
百度了一下,在项目中之前那个url的地方加上一点
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://47.93.255.79:3306/mybatis?characterEncoding=UTF-8&useSSL=false" />
<property name="username"
value="yao" />
<property name="password" value="Yao17023!" />
&useSSL=false,关闭ssl连接,这样就可以了
注意:这里直接输入&是错误的,因为xml文件中这些特殊字符不能正确显示,要用转义字符进行处理
"&"写为"&"
"<"写为"<"
">"写为">"
好了重新部署war包,重启resin
访问成功
注意:这里还有一个问题,就是访问的ip,本来我的项目地址是/springmvc-1/什么什么的,打成war包的时候自动变成了springmvc-1-1.0-SNAPSHOT,这个是快照版本,要使用war包的名字当成项目名来访问,否则也是404
明天计划的事情:
继续任务3吧,Nginx我感觉要用挺长时间的
遇到的问题:
都是部署的一些问题,基本都解决了,感谢各位师兄,我自己的话估计都很难看出来这些细节的问题
收获:
打war包,服务器上部署项目,安装resin,然后启动web项目,然后访问项目。博涛讲的json,我一些没太注意点的他都讲的听明白的,找时间再敲敲代码
评论