您的位置:首页 > 运维架构 > Tomcat

部署非maven项目到阿里云服务器的流程、出现的错误

2018-01-28 14:42 429 查看
     最近几天一直在捣鼓阿里云服务器,以及把本地项目部署到云服务器。期间遇到很多大大小小的问题,也是各种百度,谷歌,有的能够解决,有的就只好做个参考,自己再想想。还是自己太水的缘故吧,出现了很多错误,所以就想把大体的流程和过程中出现的错误都列出来,也给出我自己的解决方法,一方面,给自己做个记录;一方面,给需要的人做一下参考。

      第一步,在阿里云官网上购买云服务器ECS,学生可以买云翼计划的,便宜也比较划算,根据自己需求买就行了。有个轻量应用服务器,这个相比正常的ECS就是功能上可能要少一点,如果只是要试试购买一周的,也可以试试这个。不过常规ECS一周也就20元不到。按照步骤来就可以了,这一步应该都没什么问题。

       买完后,进入云服务器管理控制台,点击实例,可以看到,一台服务器,也就是一个实例,其实就是一台主机,显示状态:正在运行中。从此处可以进入远程连接,添加安全组。

        注意事项:1、连接密码和登陆密码要记住,后面要用到;2、添加安全组规则,就是指配置端口信息,你要用到哪些端口,就要开放这些端口,比如,我的是这样:

 


            我根据网上的配了好多端口,这些差不多就够了,以后可以再加。

     第二步,选择远程连接工具。如果云服务器是windows server,直接在本地远程连接就行了,具体步骤去百度吧,(不记得了,,,),一般服务器都是linux系统,毕竟linux好啊,嘿嘿。这时,要连接服务器,就要选择远程连接工具,比如,putty、xshell、secureCRTPortable等,都行,界面都差不多,选一个就行。

           这里我出现的问题是:连接不上云服务器,“time out”,我的解决方法在前面的博客里,我就不说了,(。。。)

           登陆成功的界面大概是这样的:



      第三步,搭建环境,配置连接服务器。这一步主要就是安装tomcat、java、vsftpd服务器。在安装的时候,ubuntu和centos的指令是不太一样的,比如在centos上用yum安装,而ubuntu上用类似apt-get install这样的命令。

             注意:vsftpd服务器的作用是创建远程连接的用户,比如uftp这个用户,这个uftp在后面上传和下载服务器文件的时候会使用,因为linux服务器不能像windows那样粘贴复制啊。

       其实到这一步,云服务器就搭建差不多了,暂时也只用得到这些。mysql的安装也一样,在linux下安装只要一条命令就行了。只是在搭建的过程中会有很多小问题,我也不太记得了,以后遇到了,我再写出来。。。

       第四步,选择上传和下载工具。我这里用的是FTPRush,其实就是ftp文件传输,下载工具,新建session,输入密码连接,大体步骤见我博客:ftprush报错那个部分。

             linux下的文件夹和目录都有权限,有时候不设置权限没法改动。一般情况下,设置权限和设置文件的所有者用下面的指令:



           第五步,对项目进行war打包。其实到这一步,才算真正进入正题,那就是打包项目,部署到云服务器。所以,第一步就是在本地将项目打包war。

                 这一步,其实特别坑。我看了不下40篇博客,大体的步骤没有错,但是生成的war包部署到tomcat,无论是本地还是云服务器端都是不成功的。开始我一直没弄明白是怎么回事,明明按照步骤来的,却还是不成功。有的结果是部署到本地成功,部署到云服务器就失败。后来根据提示的错误,去检查了一下war包的文件目录,这才发现了问题:这些war包中没有打包源代码文件,就是class文件!于是,我仔细检查了打包的步骤,终于找到了解决方法。

                 正确的打包步骤如下(idea环境):

                      1)打开file设置:



           选择1或者2进入设置界面;

                      2)选择正确的打包方式:



          这里请注意:!!!一定要选图中五角星处的打包方式,不要选Empty!!

                      3)选择图中的Directory Content,在打开的界面选择Web文件夹,apply-ok。

                             


                       4) Bulid Artifact



                 如图所示,在Bulid Artifact选项下,选择刚才的打包,后面是这样的:xxx:war。这里,我们就知道了war和war_exploded的区别之处了,是不是?之前还搞不清楚这俩是干嘛的。

                    bulid之后,war就生成了,如下图



                     这样,war就打包成功!!下面就是把war包部署到云服务器上的tomcat。

           第六步,上传war包到云服务器的tomcat的webapps目录下。注意:这一步,在网上有好多博客要你去改tomcat的配置文件,有说是content.xml,也有说server.xml,说是文件映射什么
4000
的,在这里我可以告诉大家,!!不需要!!不要去改。

                 首先,通过上传工具FTPRush,将xxx.war包上传到webapps目录下,这里如果出错的话,去改文件夹的权限即可,前面有说。然后,重启tomcat,重启命令如下:

                      tomcat安装目录/bin/shutdown.sh;

                      tomcat安装目录/bin/startup.sh;

                  依次执行即可。这里还有一个问题可能会出现:重启后打开云服务器的tomcat很慢,半天都重连不上,相信很多人都会遇到,这时候怎么办呢?解决方法如下:

#获取服务
apt-get install rng-tools
#启动服务
service rng-tools start
service rng-tools status
service rng-tools stop    在命令行敲入如下命令即可,保证重连tomcat,速度66的。
        第七步,在网页端访问部署的项目。我们最终的目的还是要摒弃web项目对本地环境的依赖,实现通过特定的网址就可以访问。访问格式:http:你的公网地址:8080/xxx/yyy。这里的xxx就是上面那一步的war包名称,因为重启tomcat后,tomcat会自动在目录解压war包并生成xxx目录,访问的时候直接加上这个项目名称,就不用去改tomcat的配置文件(改配置文件本来就不是一件友好的操作。)后面的yyy就是你项目的具体东西了,比如index啊、xx.jsp啊等这些。

        


           如图,比如我的就是“我的公网地址:8080/ssm_war(项目名称)/listCategory”,实现数据库的查找显示,同时实现分页的效果。

         至此,web项目部署到云服务器的tomcat就算结束了。

         因为有的错误我也没记得,写的不全,以后遇到再贴出来。还有一点就是,现在web项目都是要操作数据库的,所以,涉及到数据库的项目时,要先检查数据库的配置文件,一般要将里面的127.0.0.1改成localhost;还有密码什么的;配置文件最好放在配置目录下,以防没有打包成功;非maven和maven其实差不多,打包的时候有点区别,部署的话,差不多。

          结束语:写完这么多,可能大家都不会看,不过我还是多这个过程有了一些理解,也算有所裨益。

                 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat web war aliyun