关于服务器的选择, 大的服务器厂商有阿里云和腾讯云, 还有一些比较小的厂商, 但是发现阿里搞了一个轻量应用服务器, 学生验证一个月只需要 10 块, 还是毫不犹豫投入了阿里的怀抱, 呢么就来讲下阿里云服务器环境的配置和简单的测试连接
首先将服务器租到手之后打开看一下
我们这里租的是 Windows 系统的阿里云, 方便操作, 如果有需要可以使用 CentOS 或者 Ubantu 的 Linux 系统操作, 也许会更方便, 这里图简单还是选择了 Windows 系统, 在选项中也可以随时更改系统镜像
其次我们如果想要通过域名连接我们的服务器, 我们也需要去买一个域名, 并且将域名绑定在服务器, 但是这还没完, 之后需要一个漫长的备案流程域名才可以使用
emmm, 这里暂时跳过这个备案流程, 我们先尝试使用 ip 地址访问, 但是这种访问会受到阿里云备案系统的检测, 不能常用
在基本准备完成后我们开始配置云服务器环境, 这里的环境包括 java,jdk,tomcat,MySQL
首先我们点击阿里云网站的远程连接选项, 设置远程连接密码和服务器密码, 远程连接密码是在浏览器远程控制使用的密码, 浏览器远程连接没啥大用, 这里不考虑, 我们使用 Windows 自带的远程连接来连接我们的服务器
我们在 Windows 中搜索远程连接, 打开后在计算机处写入我们服务器的外网地址, 账号默认为 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 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, 尝试连接
连接成功
但是这里还有一个问题, 使用 htpp 协议直接访问 IP 地址, 不备案的情况下可能会被阿里云检测到, 在百度上找了许久发现使用 htpps 协议的 443 端口访问好像可以绕过检测, 实现访问, 我们做的微信小程序项目刚刚好只能使用 htpps 协议访问, 所以这里在尝试配置一下 htpps 协议端口访问
可以看到阿里云设置的 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 连接
会跳出站点不安全的信息, 我们忽略
结束
来源: http://www.bubuko.com/infodetail-2849800.html