阿里云服务器环境配置和跑简单javaWeb项目
Posted 张鑫平
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云服务器环境配置和跑简单javaWeb项目相关的知识,希望对你有一定的参考价值。
关于服务器的选择,大的服务器厂商有阿里云和腾讯云,还有一些比较小的厂商,但是发现阿里搞了一个轻量应用服务器,学生验证一个月只需要10块,还是毫不犹豫投入了阿里的怀抱,呢么就来讲下阿里云服务器环境的配置和简单的测试连接
首先将服务器租到手之后打开看一下
我们这里租的是windows系统的阿里云,方便操作,如果有需要可以使用CentOS或者Ubantu的linux系统操作,也许会更方便,这里图简单还是选择了window系统,在选项中也可以随时更改系统镜像
其次我们如果想要通过域名连接我们的服务器,我们也需要去买一个域名,并且将域名绑定在服务器,但是这还没完,之后需要一个漫长的备案流程域名才可以使用
emmm,这里暂时跳过这个备案流程,我们先尝试使用ip地址访问,但是这种访问会受到阿里云备案系统的检测,不能常用
在基本准备完成后我们开始配置云服务器环境,这里的环境包括java,jdk,tomcat,mysql
首先我们点击阿里云网站的远程连接选项,设置远程连接密码和服务器密码,远程连接密码是在浏览器远程控制使用的密码,浏览器远程连接没啥大用,这里不考虑,我们使用window自带的远程连接来连接我们的服务器
我们在window中搜索远程连接,打开后在计算机处写入我们服务器的外网地址,账号默认为Administrator,连接后她会需要你输入服务器密码,就是我们上一步设置的
我们就进入了我们的云服务器界面
之后我们就需要配置我们服务器的环境,其实就是将java,jdk,tomcat,mysql的安装包放入服务器,之后的安装过程就跟我们在windows操作类似,就不细讲了,安装之后我们需要配置一下tomcat的设置
打开tomcat的安装目录-conf-server.xml(用记事本打开修改),将以一下部分更改,
也就是将htpp协议端口改为阿里云支持的80端口
之后就是将javaWeb代码传上数据库进行测试了
package hello_test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class test */ @WebServlet("/test") public class test extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public test() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \\"-//W3C//DTD HTML 4.01 Transitional//EN\\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print("hello world ! This is "); out.print(this.getClass()); out.println(", using the GET method!"); out.println("</BODY>"); out.println("</HTML>"); out.flush(); out.close(); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
配置xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>test</servlet-name> <servlet-class>hello_test.test</servlet-class> </servlet> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/servlet/test</url-pattern> </servlet-mapping> </web-app>
这里做了一个servelet项目,就是显示一个简单的helloWorld,之后我们将workspace中的代码打包放在服务器的tomcat-webapps中
启动tomcat,尝试连接
连接成功
但是这里还有一个问题,使用http协议直接访问IP地址,不备案的情况下可能会被阿里云检测到,在百度上找了许久发现使用https协议的443端口访问好像可以绕过检测,实现访问,我们做的微信小程序项目刚刚好只能使用https协议访问,所以这里在尝试配置一下https协议端口访问
但是这里只是一个延迟的简单方法,在真正的项目中还是必须要进行域名备案,进行域名访问
可以看到阿里云设置的htpps协议端口为443,我们再回去配置我们的tomcat,首先我们需要去生产一个签名证书
我们需要到服务器jre安装位置-bin找到keytool.exe用命令行
keytool –genkey –alias tomcat –keyalg RSA –keystore C:tomcat_keystore –storepass changeit
按提示输入:
您的名字与姓氏是什么(提示):
您的组织单位名称是什么(提示):
您的组织名称是什么(提示):
您所在的城市或区域名称是什么(提示):
您所在的州或省份名称是什么(提示):
该单位的两字母国家代码是什么(提示):CN(输入)
CN=sso.digitalchina.com,OU=digitalchina.com,O=sso,L=beijing,ST=beijing,C=CN 正确吗? [否] (提示):y(输入)
输入<digitalchina>的主密码(如果和keystore密码相同按回车):
经过以上步骤后会在当前目录下生成签名证书
之后我们就要再次配置tomcat的server.xml
找到以上的被注释的代码,将端口,keystorepass(设置的签名证书密码),keystoreFile(生成的签名证书地址)修改,再次启动tomcat连接
会跳出站点不安全的信息,我们忽略
结束
在这里只是一个简单的keystore生成,在域名备案成功之后,阿里云提供了免费的https证书,可以进行相关的配置并且能保证证书的正确,不会跳出奇奇怪怪的界面
以上是关于阿里云服务器环境配置和跑简单javaWeb项目的主要内容,如果未能解决你的问题,请参考以下文章
阿里云新手上路——在ECS上配置JavaWeb相关环境的一个小问题