当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

扎心了! 面试官: 你有自己的云服务器吗?

来源:本站原创 浏览:23次 时间:2022-09-22


作者:犬小哈

来源:小哈学Java

作为一名后端Java程序员,小哈是极力推荐大家拥有一台属于自己的云服务器的,什么?有些童鞋肯定说:我用虚拟机玩得很转,花那冤枉钱干啥玩意!

为什么要用云服务器

使用云服务器好处大致如下:

  1. 更好的了解项目是如何在线上环境是如何运行的?(可以说,国内大部分中小企业的服务都跑在云上,有钱的公司,自建机房的,当小哈没说~);

  2. 部署相关测试环境非常方便,比如 Redis, Mysql, MongDB, Elasticsearch 这些,Linux 环境上部署肯定比 Windows 方便;

  3. 如果部署在本机上,会比较吃硬件资源,电脑配置差点的童鞋,可能感觉卡顿严重,影响开发效率!

  4. 逼格高,比如你去面试的时候,提及自己有一个部署在公网服务器的博客,会对你印象分更高,相对没有玩过云服务器的,你更容易拿到 Offer ~


购买过程中的注意事项

因为小哈几年前就买过了,为了方便演示,我这里购买了一台按量服务的服务器。配置大致过程差不多,主要注意事项如下:

系统镜像选择

这里,公共镜像选择第一个 CentOS, 因为其更加稳定,而且大部分企业线上环境都是使用的 CentOS, 版本选择最新 7.x 64 位。

区域选择

区域上,我们尽量选择里客户近的机房区域,比如说你想在服务器上部署一个博客,当然是希望别人访问博客的时候,网络延迟越低越好~

远程登录方式

小哈个人更喜欢使用用户名、密码来登录,当然你也可以使用私钥来登录,看个人喜好。

访问创建的实例

相关设置完成后,在阿里云控制台,点击实例,就可以看见我们刚刚购买的实例服务器了:

列表中有显示新申请的这台实例的公网地址,复制完成后,接下来,开始访问这台远程服务器。

远程访问的客户端,你可以选择 Xshell, 或者其他客户端均可以,小哈使用的 Mac 系统,这里使用的 Terminus, 步骤基本如下:

  • 1. 填写公网访问地址、端口号;

  • 2. 输入前面自己设置的用户名、密码,点击登录;

可以看到,小哈已经这边已经登录成功了。

部署相关环境

新服务器登录上去基本是非常干净的,比如 Java 环境、Mysql 等,什么都没有,所以要一一安装。

安装 JDK 1.8

访问 JDK 1.8 的官网下载地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载安装包:

没办法下载的小伙伴,可以公众号后台,回复关键词:jdk, 即可获取小哈下载好的 JDK.

下载成功后,上传到服务器的指定目录下 /home(目录可以自己选择),解压:

tar -zxvf jdk-8u211-linux-x64.tar.gz

配置环境变量,编辑 /etc/profile

vim /etc/profile

移动到文本最后一行,添加如下配置:

export JAVA_HOME=/home/jdk1.8.0_211export JRE_HOME=/home/jdk1.8.0_211/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

保存退出!

重新加载系统配置文件:

source /etc/profile

再次执行命令 java-version, 查看 JDK 环境是否配置成功。

输出了 JDK 版本信息,安装成功。

安装 MySQL

我们选择安装 MySQL 5.7 版本,执行如下命令:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmrpm -ivh mysql-community-release-el7-5.noarch.rpmyum updateyum install mysql-server

权限设置:

chown mysql:mysql -R /var/lib/mysql

启动 MySQL:

systemctl start mysqld

查看 MySQL 运行状态:

systemctl status mysqld
关于 MySQL 登录密码:

正常来说在启动日志里会生成一个随机密码,以供登录,小哈这里安装的时候并没有生成,具体原因还不太清楚。这边可以先取消默认密码:

# 编辑mysql配置文件vim /etc/my.cnf;# 在 [mysqld] 小节下添加一行:skip-grant-tables=1# 重启mysqlsystemctl restart mysqld;

登录:

mysql -u root

执行命令:

# 修改 root 账户密码为 123456update mysql.user set authentication_string=password('123456') where user='root';# 刷新flush privileges;# 退出 mysqlquit;

退出 MySQL 后,再将 /etc/my.cnf 文件中的 skip-grant-tables=1 删除掉,重启 MySQL 即可;

设置 Mysql 3306 端口安全组

由于阿里云服务器安全限制,此时想访问远程数据库,还需将 3306 端口加入到安全组中:

依次点击 更多 -> 网络和安全组 -> 安全组配置,将 3306 端口配置到安全组中,同时授权固定 IP 来访问,也就是白名单:

测试本机是否能够连接远程的 MySQL

小哈这里使用 Mac 的客户端 Sequel Pro 来测试,小伙伴们使用 Navicat 也是 OK 的:

连接远程 MySQL 的解决办法

有的小伙伴们按照上述步骤,可能最后发现自己安全组端口也加白名单了,还是连不上的情况。那是因为设置 MySQL 的时候, root 账号不允许从远程登录导致的。

解决办法:

# 登录 mysqlmysql -u root -p# 授权 root 账户能从任何主机远程连接GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;# 刷新flush privileges;# 退出 mysqlquit;

设置成功后,再次连接,就没问题了。

部署一个 Spring Boot 项目

小哈的个人独立博客就是使用 Spring Boot 来开发的,部署在阿里云服务器上,又买了一个域名做了映射。关于域名这块,我们先不谈,先尝试部署一个简单的 Spring Boot 项目,且通过公网 IP 来访问它。

关于如何初始化一个入门级的 Spring Boot 项目,小伙伴们可以参考小哈之前写的这篇文章:

《这可能是史上最易懂的 Spring Boot 入门教程》

定义一个简单的访问接口:

  1. /**

  2. * @author 犬小哈(公众号: 小哈学Java)

  3. * @date 2019/1/29

  4. * @time 13:58

  5. * @discription

  6. **/

  7. @RestController

  8. @Slf4j

  9. public class TestController {


  10.    @GetMapping("/hello")

  11.    public String hello() {

  12.        return "Hello, Spring Boot with Aliyun !";

  13.    }

  14. }

项目打包:

mvn clean package

进入 target 目录,将 jar 包上传到服务器指定目录:

并以后台启动方式运行项目:

nohup java -jar spring-boot-hello-0.0.1-SNAPSHOT.jar &

启动成功后,我们尝试通过公网来访问这个服务,注意,因为项目启动在 8080 端口,还需将 8080 端口也加入安全组才行。

在浏览器中,访问这个服务:

至此,一个入门级的 SpringBoot 项目在云服务器上就部署完成了!当然,能做的远不至于此,比如部署一个博客项目,小伙伴们可以去尝试一下~

最后

本教程中,小哈带着大家从购买云服务器的事项说起,并一步一步带着大家演示了,怎样安装 JDK 环境、MySQL 数据库,以及部署一个入门级的 Spring Boot 项目,有兴趣的小伙伴可以入手买一台玩一玩~



  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net