一文精通云服务安装JDK11/Mysql/Nginx/Docker/Compose/Node/Git/Rocketmq容器编排

前言:

我们来掰扯下,有多少人能以最快的方式,在阿里云Linux Centos7.x系统上快速安装好主流技术栈的环境?毕竟这个是互联网业务上线必备的技术栈。

精通Windows本地安装的同学就沉默下哈,要的是Linux下安装;比如:Open-JDK11、Docker、Nginx、Git、Docker-Compose、Node、Npm、Mysql、RocketMQ等主流技术栈环境。
我们比的是快、准、稳,啥叫真正的一键安装,看完这篇文章你就知道了!

一、阿里云云服务器介绍和ECS服务器选购

1、介绍 云厂商

“选购实操”“控制台修改阿里云远程连接密码” 在之后会有文章讲解。

2、环境问题说明

  • Win7、Win8、Win10、Mac、虚拟机等等,可能存在兼容问题
  • 务必使用CentOS 7 以上版本,64位系统,不要在Windows系统操作!!!!
  • 这章统一使用阿里云服务器,部分功能阿里云不支持,下一章再用本地虚拟机进行部署

windows工具 putty,xshell, security CRT

参考资料:

jingyan.baidu.com/article/e75…

苹果系统MAC :通过终端登录

linux图形操作工具(用于远程连接上传文件)

mac: filezilla

  • sftp://112.74.55.160
  • 端口 22

windows: winscp

参考资料:

jingyan.baidu.com/article/ed2…

可以尝试自己通过百度进行找文档, 安装mysql jdk nginx maven git redis等,也可以看我们的课程。

二、LTS版本丨Open-JDK11云服务器安装

1、介绍

作为当下最主流的编程语言,JDK安装是遇最多的,随着JDK8在业界普及,新版OracleJDK也要收费,接下来JDK11就是趋势所在,这里说下他们的区别。
OpenJDK和OracleJDK版本区别:

  • OpenJDK是JDK的开放源码版本,以GPL协议的形式发布(General Public License)
  • Oracle JDK采⽤了商业实现

LTS 是啥意思?:

  • Long Term Support ⻓期⽀持的版本,如JDK8、JDK11都是属于LTS
  • JDK9 和 JDK10 这两个被称为“功能性的版本”不同, 两者均只提供半年的技术⽀持
  • 甲⻣⽂释出Java的政策,每6个⽉会有⼀个版本的释出,⻓期⽀持版本每三年发布⼀次,根据 后续的发布计划,下 ⼀个⻓期⽀持版 Java 17 将于2021年发布

8u20、11u20是啥意思? 就是Java的补丁,⽐如JDK8的 8u20版本、8u60版本; java11的 11u20、11u40版本

2、安装JDK8或者open-jdk11环境

资料包下载:

链接:pan.baidu.com/s/1n7U5uTae… 密码:lllg

解压:tar -zxvf jdk-11.0.8_linux-x64_bin.tar.gz
重命名  
vim /etc/profile  

配置    
JAVA_HOME=/usr/local/software/jdk11    
CLASSPATH=$JAVA_HOME/lib/    
PATH=$PATH:$JAVA_HOME/bin    
export PATH JAVA_HOME CLASSPATH  
环境变量立刻生效   
source /etc/profile


查看安装情况 
java -version
复制代码

三、云计算Docker环境云服务一键安装

1、介绍

云计算+容器化是当下的主流,也是未来的趋势,就是可以快速部署启动应用,实现虚拟化,完整资源隔离,一次编写,四处运行。但有一定的限制,比如Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用

2、安装

依次运行以下命令添加yum源。
yum update
yum install epel-release -y
yum clean all
yum list

安装并运行
Docker。yum install docker-io -y
systemctl start docker

检查安装结果。
docker info


启动使用Docker

systemctl start docker     #运行Docker守护进程
systemctl stop docker      #停止Docker守护进程
systemctl restart docker   #重启Docker守护进程

一个命令部署Nginx
docker run --rm --name nginx-xdclass -p 8080:80 -d nginx

--rm:容器终止运行后,自动删除容器文件。
--name nginx-xdclass:容器的名字叫做nginx-xdclass,名字自己定义.
-p: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口
-d:容器启动后,在后台运行

docker ps查看容器
docker stop 容器id

修改镜像仓库vim /etc/docker/daemon.json
#改为下面内容然后重启docker
{
"debug":true,"experimental":true,
"registry-mirrors":["https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}

#查看信息
docker info
复制代码

四、容器编排Docker-Compose安装实战

1、介绍

我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。但是微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。

使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具,容器编排工具,可以配置并启动多个容器,适合复杂业务场景。

2、安装

官方:docs.docker.com/compose/ins…

下载安装包(比较耗时)
sudo curl -L"https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

增加权限
sudo chmod +x /usr/local/bin/docker-compose
复制代码

五、高性能网关-Nginx云服务器一键安装

1、介绍

据统计,世界上每3个网站中就有一个使用Nginx 市场上使用情况:阿里(Tnginx)、腾讯、百度等,全球反向代理服务器中排名前端-后端-架构-运维基本都离不开Nginx

适合人群:

后端开发工程师-中高级工程师

前端开发工程师-中高级工程师

技术leader或者架构师

测试-运维工程师

应用场景:

1)搭建前端静态资源服务器、文件服务器、BAT大厂自研运维平台数据统计案例

2)负载均衡Upstream配置实战、后端节点高可用性探测、全局异常兜底数据配置

3)Nginx封禁恶意IP、配置跨域、location和rewrite实战

4)Websocket配置、后端业务数据缓存前置、静态资源压缩

5)阿里云ECS部署Nginx + HTTPS证书

6)高级拓展Nginx整合Openresty开发内网访问限制、文件资源下载限速实现原理

  1. Nginx高可用解决访问 LVS + KeepAlived讲解+多节点配置实操 

2、安装

下载压缩包 并上传  http://nginx.org/en/download.html
安装依赖  yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
创建一个文件夹,上传本地提供的nginx包  
tar -zxvf nginx-1.18.0.tar.gz  //执行命令(部分报错,可以忽略)  
./configure  
make  
make install 
默认安装路径  
/usr/local/nginx
访问配置  
cd /usr/local/nginx/sbin     
./nginx
防火墙开放端口,阿里云网络安全组配置80端口
复制代码

六、玩转MySql在云服务器一键安装和远程配置

安装Mysql 5.7

(注意,Mysql和系统务必保持一致,不然存在不一致)

开启mysql远程连接

(如果是准线上,建议不要开启远程连接)

开放阿里云网络安全组配置 3306 端口

1、下载mysql的Yum仓库
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
2、安装 mysql服务
yum -y install mysql-community-server
3、启动数据库服务, systemctl 该命令可用于查看系统状态和管理系统及服务,centos7上开始使用
systemctl start  mysqld.service
4、查看状态
systemctl status mysqld.service
5、在日志文件中查看初始密码
grep "password" /var/log/mysqld.log
6、进入修改Mysql密码
mysql -uroot -p
7、新密码设置必须由大小写字母、数字和特殊符号组成
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Xdclass.net168';
8、开启mysql的远程访问, %是指全部
grant all privileges on *.* to 'root'@'%' identified by 'Xdclass.net168' with grant option;
9、刷新权限
flush privileges;
复制代码

七、云服务器 最新版NodeJS + Npm 配置

//有源码的安装方式,执行后记得重新进入终端
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
//重新进入终端, 执行命令
nvm install stable
//验证
node -v
//切换
cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org
复制代码

八、Git命令在阿里云Linux安装和使用


1、介绍

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

与常用的版本控制工具 CVS,Svn 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

目前世界上最先进的分布式版本控制系统(没有之一)

2、安装

yum install git-core
clone 项目https://github.com/jackxy/xd_blog
复制代码

九、【综合案例】阿里云-RocketMQ自定义容器编排一键安装部署

1、介绍

消息队列是高并发里面必备的技术,但是相关环境安装是比较复杂,目前电商业务用的比较多的是RocketMQ,支持多种常见的消息类型,而且支持分布式事务,但是本身搭建比较麻烦,基础的都包括3个服务,比如NameServer名称服务,Broker队列服务,Console控制台。

没有更好的方式进行操作部署rocketmq呢? 看这个就可以,采用docker-compose进行操作

2、安装

  • 创建目录:

  • broker.conf
brokerClusterName = DefaultCluster  
brokerName = broker-xdckass
brokerId = 0  
deleteWhen = 04  
fileReservedTime = 48  
brokerRole = ASYNC_MASTER  
flushDiskType = ASYNC_FLUSH  
# 如果是本地程序调用云主机 mq,这个需要设置成 云主机 IP
brokerIP1=192.168.0.117
复制代码
  • docker-compose.yml
version: '3.5'
services:
     rmqnamesrv:    
          image: foxiswho/rocketmq:server
          container_name: rmqnamesrv    
          ports:     
             - 9876:9876    
          volumes:      
             - ./logs:/opt/logs      
             - ./store:/opt/store    
          networks:        
             rmq:           
                 aliases:             
                    - rmqnamesrv  
      rmqbroker:    
           image: foxiswho/rocketmq:broker    
           container_name: rmqbroker    
           ports:      
               - 10909:10909      
               - 10911:10911     
           volumes:      
               - ./logs:/opt/logs      
               - ./store:/opt/store     
               - ./conf/broker.conf:/etc/rocketmq/broker.conf    
           environment:        
               NAMESRV_ADDR: "rmqnamesrv:9876"        
               JAVA_OPTS: " -Duser.home=/opt"        
               JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"    
           command: mqbroker -c /etc/rocketmq/broker.conf 
           depends_on:      
               - rmqnamesrv    
           networks:      
               rmq:        
                   aliases:          
                      - rmqbroker  
      rmqconsole:    
         image: styletang/rocketmq-console-ng       
         container_name: rmqconsole    
         ports:     
            - 8080:8080    
         environment:        
              JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"    
         depends_on:      
            - rmqnamesrv    
         networks:      
            rmq:        
               aliases:          
                  - rmqconsole
networks:  
    rmq:    
    name: rmq    
    driver: bridge
复制代码
  • 启动
//启动
docker-compose up
//检查网络安全组是否开放端口
复制代码

总结

上面的我们在Linux云服务器的常见环境安装,而且多采用在线安装,部分采用docker容器化部署。

这个对于提高我们开发效率很大帮助,也特别建议购买阿里云,进行部署上面的各个环境,昨晚的录播视频现在可以观看,后续会下线掉录播视频,大家在12月份最好先学完,轻松掌握各个环境的安装。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值