利用阿里云搭建自己的项目

1、 阿里云服务器
https://promotion.aliyun.com/ntms/act/campus2018.html
(云翼计划)9.5一个月【坑爹啊,过了学生的认证。。。只能买一个月。。。】【入坑后很有可能去买ECS的云服务器。。。】
2、在服务器中安装docker

安装:wget -qO- https://get.docker.com/ | sh
启动:service docker start

3、在docker中安装java环境

docker pull java:alpine

4、在docker中安装mysql

安装:docker pull mysql
启动:docker run --name mymysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest

注意:如果按照这种方法来安装的mysql,默认安装的是最新的mysql。和mysql8版本开始,默认使用的密码加密方式为caching_sha2_password,而以前使用的是mysql_native_password。如果不修改,连接会报“Unable to load authentication plugin ‘caching_sha2_password’”错误。
解决方法:
a、更换mysql的驱动jar包,改为8版本以上的
b、在docker环境中进入mysql的bash环境,修改密码加密方式

1、docker exec -it mymysql bash
2、mysql -uroot -p123456
3、use mysql;
4、alter user 'root'@'localhost' identified with mysql_native_password by '123456';// 修改本地连接属性【可不用修改】
5、alter user 'root'@'%' identified with mysql_native_password by '123456';//修改远程连接属性【一定要修改】
6、重启mysql的docker docker restart mysql容器ID

至此,可以使用以前的mysql连接的驱动jar包进行连接
5、编写自己软件
本次使用的为Springboot工程。主要进行测试。
1)新建数据库:

DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uname` varchar(255) DEFAULT NULL,
  `upassword` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

2)创建数据库对应的类

package cn.zy.ali.bean;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import lombok.Data;

@Entity
@Data
public class Userinfo {

	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Id
	private Integer id;
	private String uname;
	private String upassword;

}

3)创建相应的JPA对应的实体接口,这里只是简单演示一下,所以使用JPA提供的方法就足够了

package cn.zy.ali.repository;

import org.springframework.data.jpa.repository.JpaRepository;

import cn.zy.ali.bean.Userinfo;


public interface UerInfoRepository extends JpaRepository<Userinfo, Integer> {

}

4)创建web接口,暴露需要的服务

package cn.zy.ali.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSONObject;

import cn.zy.ali.bean.Userinfo;
import cn.zy.ali.repository.UerInfoRepository;

@RestController
@RequestMapping(value = "/ali/user")
public class UserInfoController {

	@Autowired
	UerInfoRepository user;

	@RequestMapping(value = "/getAll", method = RequestMethod.GET)
	public JSONObject getAllUsers() {
		JSONObject json = new JSONObject();
		json.put("code", 0);
		List<Userinfo> list = user.findAll();
		if (list != null && list.size() > 0) {
			json.put("code", 1);
			json.put("data", list);
		}
		return json;
	}

	@RequestMapping(value = "/addNew", method = RequestMethod.POST)
	public JSONObject addNewUser(String uname, String upassword) {
		JSONObject json = new JSONObject();
		json.put("code", 0);
		if (uname != null && !"".equals(uname) && upassword != null && !"".equals(upassword)) {
			Userinfo userInfo = new Userinfo();
			userInfo.setUname(uname);
			userInfo.setUpassword(upassword);
			Userinfo save = user.save(userInfo);
			if (save != null) {
				json.put("code", 1);
				json.put("data", save);
			}
		}
		return json;
	}

}

5)启动项目,显示有postman进行测试
查询所有信息结果

插入新的用户

6)本地测试完成,打包成jar。mvn package
7)将jar包上传至阿里云服务器。
8)创建docker images
1、新建apps文件夹,在文件夹中放置刚刚的jar包和新建一个Dockerfile文件。
2、编写Dockerfile文件
最简单的dockerfile
3、生成images,【注意,最后一个“.”,在当前文件夹中】
docker build -t myapp .
9)查看刚刚做好的image是否成功,出现myapp则表示已经成功

docker images

10)启动我的项目

docker run --name myappdemo -p 8888:8888 -d myapp:latest

11)至此,项目已经完全部署至阿里服务器上去。但是,还需要在主机上开启远程访问的权限。
登录阿里云控制台,在实例的安全组中配置外网访问规则。
本例使用外网访问8888和3306端口。
阿里云外网远程访问配置

12)从外网进行访问测试,postman进行
获取所有用户成功

外网访问新增用户

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里云提供了一种方便快捷的方法,可以在其云服务器上搭建内网DNS服务。 首先,在阿里云控制台创建一个新的云服务器实例,并选择一个适当的操作系统,例如CentOS。安装完成后,我们需要登录到该服务器。 接下来,安装并配置BIND(或其他DNS服务器软件),它是一种常用的DNS服务器软件。在终端中运行命令`yum install bind bind-utils -y`来安装BIND。 安装完成后,我们需要编辑BIND的配置文件`/etc/named.conf`。在文件中我们可以定义DNS服务器的配置,例如绑定的IP地址、允许的客户端IP地址等。 配置完成后,我们需要创建一个名为zone的文件,用于定义我们要解析的域名和IP地址。在`/var/named/`目录下创建一个新的zone文件,并在`named.conf`文件中指定该zone文件的路径。 然后,我们可以通过终端中运行命令`named-checkconf`来检查配置文件是否有语法错误。如果没有错误,我们可以重新加载BIND服务,使配置文件生效。 现在,我们就可以在内网中将阿里云的DNS服务器的IP地址配置为本地设备的DNS服务器。当内网设备请求域名解析时,阿里云的DNS服务器会响应并提供正确的IP地址。 需要注意的是,内网设备需要配置正确的网关和DNS服务器,以便能够与阿里云的云服务器进行通信。 通过上述步骤,阿里云的云服务器就可以搭建一个内网DNS服务器,用于提供域名解析服务,使内部设备能够方便地与外部互联网进行通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值