手把手教你配置阿里云服务器搭建网站

手把手教你配置阿里云服务器搭建网站出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Javaweb的开发,但是毕竟是第一次接触这样的东西,还是比较懵逼,在这个过程中遇到了一些问题(肯定会遇到问题的),但是呢,在网上搜解决办法的时候,总是历经波折才能找到我最后想要的东西,所以我想把我配置阿里云的时候踩过的坑填一下,如果你按照我的方法成功解决的问题,别忘了给我点个赞

大家好,又见面了,我是你们的朋友全栈君。

写在前面

出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Java web的开发,但是毕竟是第一次接触这样的东西,还是比较懵逼,在这个过程中遇到了一些问题(肯定会遇到问题的),但是呢,在网上搜解决办法的时候,总是历经波折才能找到我最后想要的东西,所以我想把我配置阿里云的时候踩过的坑填一下,如果你按照我的方法成功解决的问题,别忘了给我点个赞
不定期续更

购买服务器

学生的话,阿里推出了一个叫云翼计划的产品,通过学生认证之后可以享受超便宜的价格,我的账号是淘宝账号,之前就有过学生认证。云翼计划的入口在这儿云翼计划

配置服务器

这里有一篇非常详细完整的教程,亲测有效,阿里云ECS建站 超详细完整全套教程(简书)

设置安全组

部署helloworld并访问

要看以下教程,请先确保你把上面的东西都做好了:Java和Tomcat环境搭好,购买了域名并且可以使用,本地有Java开发环境和IDEA
不过上面的教程之涉及到在服务器上配置Java与Tomcat环境,相当于你只是搭了一个房子,但是里面还没有任何家具,不能入住,所以接下来我们来买一些家具,首先打开IDEA,新建一个项目,选择web application。
新建project
在web目录下找到index.jsp 在<body>标签下写一句hello world
这里写图片描述
因为部署到网站上的时候我们需要一个war包,所以我们现在想办法弄一个出来
点击右上角的这个图标
这里写图片描述
按照图中步骤点击(还有要先点击绿色的加号才能出来那个菜单)
这里写图片描述
然后添加一个content,存放路径选择它默认的就行,一般都是在war包的相同目录
这里写图片描述
这样就设置好了,下面我们来生成一个war包 执行Build->Build Artifacts->build命令
这里写图片描述
这里写图片描述
build之后在这个out目录下找war包
这里写图片描述
这里写图片描述
打开xshell和xftp工具,连接到云服务器,将webhelloworld_war.war放到云服务器的/usr/java/tomcat/apache-tomcat-8.5.20/webapps/下
这里写图片描述
好,我们要稍微修改一些东西 ,不要怕,很简单的一行而已,不要每次提到修改配置就头大。

修改/usr/java/tomcat/apache-tomcat-8.5.20/conf/下的server.xml:
1. 修改host节点的name为你的云服务器的域名,如www.example.com
2. 在host节点下加一个节点
<Context path="" docBase="webhelloworld_war" reloadable="true"/>
其中webhelloworld_war这个就是你的war包的包名,也就是你的项目名
顺便提一下,如果要修改这个xml文件,你可以在xshell中用vi修改,非常秀操作,当然也有非常接地气的方法,可以用xftp将server.xml下载到本地然后用sublime text来改,然后再上传上去。
这里写图片描述
好了修改完配置文件之后还有一件重要的事情别忘了,就是重启一下Tomcat
用xshell进入/usr/java/tomcat/apache-tomcat-8.5.20/bin/
执行
./shutdown.sh
然后再执行
./startup.sh

这里写图片描述

这里提一下,如果停止Tomcat时出现停止失败,提示 java.net.ConnectException: Connection refused SEVERE: Could not contact localhost:8005. Tomcat may not be running.报错的,原因是Tomcat的内存太小了,需要设置一下虚拟内存,解决方法参见这篇博客

在Linux系统里运行shutdown.sh命令关闭Tomcat时出现错误提示
亲测有效

好,现在返回正题,在浏览器中输入 你的云服务器的域名:8080 比如(www.example.com:8080)就可以访问到你刚才部署上去的程序啦
像这样子
这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148105.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 设置窗体透明C#代码

    上个示例是C#调用windowsapi在原来代码上加入窗体透明,控件不透明代码:1usingSystem;2usingSystem.Runtime.InteropServices;3

    2021年12月21日
    43
  • 菜鸟眼中的三层架构[通俗易懂]

    菜鸟眼中的三层架构[通俗易懂]菜鸟眼中的三层架构

    2022年4月24日
    42
  • 全面理解Java内存模型

    Java内存模型即JavaMemoryModel,简称JMM。JMM定义了Java虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此Jav

    2022年4月6日
    40
  • AVX2整数向量运算「建议收藏」

    AVX2整数向量运算「建议收藏」在C/C++程序中,使用AVX2指令有很多种方法。嵌入汇编是一般的方法,但是对于不熟悉汇编语言的人来说,有点勉为其难。gcc编译支持AVX2指令的编程。程序中需要使用头文件和,这样通过调用其中定义的一些函数,达到使用AVX2指令的目的,即用C/C++调用SIMD指令(单指令多数据)。这里给出的样例程序是有关浮点向量运算的例子。其中函数_mm_add_epi32()实现的是整数向量(

    2022年5月25日
    30
  • int什么数据类型_int16是什么数据类型

    int什么数据类型_int16是什么数据类型int16,int32,int64等类型的区别Int16意思是16位整数(16bitinteger),相当于short占2个字节。Int32意思是32位整数(32bitinteger),相当于int占4个字节。Int64意思是64位整数(64bitinterger),相当于longlong占8个字节。…

    2022年8月15日
    7
  • linux一键安装

    linux一键安装

    2021年9月23日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号