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

手把手教你配置阿里云服务器搭建网站出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Okhttp 之 okio

    Okhttp 之 okio本文是的前一篇文章OkhttpIO之Segment&amp;SegmentPool的基础上写的,如果你没看懂前面的文章,那么看本文会相当的吃力,因为很多关键的代码都是在前面这篇文章中剖析的。ByteStringokio中添加一个类ByteString,顾名思义就是字节串,这里做一个概要的讲解,具体的实现大家可以去看源码。既然是字节串,它内部就是用一个字节数组支持的。…

    2022年6月9日
    32
  • Python简介

    引言python是什么?python是编程语言,即python是语言语言有英语、法语、葡萄牙语等,但凡是语言,都是用来沟通的介质。程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算

    2022年3月29日
    46
  • 免费的ssl证书申请_公需课怎么申请证书

    免费的ssl证书申请_公需课怎么申请证书第一步:在阿里云上申请免费的https证书先点击Symantec然后选择1个域名然后选择免费型DVSSL第二步:我的订单页面完成信息的补全第三步:点击详情查看DNS信息,并且配置DNS信息第四步:下载证书,上传到nginx服务器第五步:配置nginx代理,并重启nginx服务第六步:访问https的接口或者页面,查看是否配置正确。

    2022年9月25日
    0
  • vue.js与jquery的区别_说出两者之间的区别

    vue.js与jquery的区别_说出两者之间的区别jQuery:曾经是前端最流行的js库。Vue:是一个兴起的js库,是一个精简的MVVM。从技术角度讲。Vue.js专注于MVVM模型的ViewModel层,它通过双向数据绑定把view和Model层连接起来,通过对数据的操作完成对页面视图的渲染。二者的区别是:一、Vue和jQuery对比jquery是使用选择器()选取DOM对象,对其进行赋值、取值、事件绑定等操作,和原生的HTML的区别只在于可以更方便的选取和操作DOM对象,而数据和界面是在一起的。二、Vue则是通过Vue对.

    2022年10月16日
    0
  • 【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]

    【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]一,前言1,Rclone是什么Rclone是一个开源的命令行程序,用于管理云存储上的文件。它是云供应商Web存储界面的功能丰富的替代方案。超过50种云存储产品支持Rclone,包括S3对象存储,GoogleDrive,OneDrive等业务和消费者文件存储服务以及标准传输协议。2,它能用来干嘛可以备份(和加密)文件到云存储。从云存储还原(和解密)文件。将云数据镜像到其他云服务或本地。将数据迁移到云,或在云存储供应商之间迁移。将多个加密的,缓存的或多样化的云存储作为磁盘挂载。3,项目地址Gith

    2022年7月16日
    43
  • es面试题及答案_elk面试题

    es面试题及答案_elk面试题文章目录1、Elasticsearch了解多少,说说你们公司ES的集群架构,索引数据大小,分片有多少,以及一些调优手段。2、Elasticsearch的倒排索引是什么?3、Elasticsearch索引数据多了怎么办,如何调优,部署?4、Elasticsearch是如何实现master选举的?5、详细描述一下Elasticsearch索引文档的过程。6、详细描述一下Elasticsearch搜索的过程?7、Elasticsearch在部署时,对Linux的设置有哪些优化方法?8、lucence内部结构是什

    2022年9月13日
    0

发表回复

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

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