![ca045dfbca8c7427879f05d53c7c34dd.png](https://i-blog.csdnimg.cn/blog_migrate/d65665db94d28029d44a1a6cef9856b6.png)
前言:
我们来掰扯下,有多少人能以最快的方式,在阿里云Linux Centos7.x系统上快速安装好主流技术栈的环境?毕竟这个是互联网业务上线必备的技术栈。 精通Windows本地安装的同学就沉默下哈,要的是Linux下安装;比如:Open-JDK11、Docker、Nginx、Git、Docker-Compose、Node、Npm、Mysql、RocketMQ等主流技术栈环境。 我们比的是快、准、稳,啥叫真正的一键安装,看完这篇文章你就知道了!目录
一、阿里云云服务器介绍和ECS服务器选购 |
二、LTS版本丨Open-JDK11云服务器安装 |
三、云计算Docker环境云服务一键安装 |
四、容器编排Docker-Compose安装实战 |
五、高性能网关-Nginx云服务器一键安装 |
六、玩转MySql在云服务器一键安装和远程配置 |
七、云服务器 最新版NodeJS + Npm 配置 |
八、Git命令在阿里云Linux安装和使用 |
九、【综合案例】 |
一、阿里云云服务器介绍和ECS服务器选购
1、介绍云厂商
阿里云:https://www.aliyun.com/
腾讯云:https://cloud.tencent.com/
亚马逊云:https://aws.amazon.com/
阿里云新用户地址(如果地址失效,联系我或者客服即可,1折!!!!!
https://www.aliyun.com/minisite/goods?taskCode=pintuan20201212&recordId=292600&userCode=r5saexap
扫码查看优惠明细
“选购实操”及“控制台修改阿里云远程连接密码”在springboot2.3课程及AlibabaCloud课程有讲解及详细搭建部署教程。
2、环境问题说明
Win7、Win8、Win10、Mac、虚拟机等等,可能存在兼容问题
务必使用CentOS 7 以上版本,64位系统,不要在Windows系统操作!!!!
这章统一使用阿里云服务器,部分功能阿里云不支持,下一章再用本地虚拟机进行部署
windows工具 putty,xshell, security CRT
参考资料:
https://jingyan.baidu.com/article/e75057f210c6dcebc91a89dd.htmlhttps://www.jb51.net/softjc/88235.html
苹果系统MAC :通过终端登录
ssh root@ip 回车后输入密码
ssh root@112.74.55.160
linux图形操作工具(用于远程连接上传文件)
mac: filezilla
sftp://112.74.55.160
端口 22
windows: winscp
参考资料:
https://jingyan.baidu.com/article/ed2a5d1f346fd409f6be179a.html
可以尝试自己通过百度进行找文档, 安装mysql jdk nginx maven git redis等,也可以看我们的课程。
二、LTS版本丨Open-JDK11云服务器安装
1、介绍 作为当下最主流的编程语言,JDK安装是遇最多的,随着JDK8在业界普及,新版OracleJDK也要收费,接下来JDK11就是趋势所在,这里说下他们的区别。 OpenJDK和OracleJDK版本区别:OpenJDK是JDK的开放源码版本,以GPL协议的形式发布(General Public License)
Oracle JDK采⽤了商业实现
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环境
资料包下载:
链接:https://pan.baidu.com/s/1n7U5uTaeCApKWJtrVCMWAw密码: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 updateyum install epel-release -yyum clean allyum list安装并运行Docker。yum install docker-io -ysystemctl start docker检查安装结果。docker info启动使用Dockersystemctl start docker #运行Docker守护进程systemctl stop docker #停止Docker守护进程systemctl restart docker #重启Docker守护进程一个命令部署Nginxdocker 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、安装
官方:https://docs.docker.com/compose/install/下载安装包(比较耗时)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开发内网访问限制、文件资源下载限速实现原理
7) 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.rpmyum -y install mysql57-community-release-el7-10.noarch.rpm2、安装 mysql服务yum -y install mysql-community-server3、启动数据库服务, systemctl 该命令可用于查看系统状态和管理系统及服务,centos7上开始使用systemctl start mysqld.service4、查看状态systemctl status mysqld.service5、在日志文件中查看初始密码grep "password" /var/log/mysqld.log6、进入修改Mysql密码mysql -uroot -p7、新密码设置必须由大小写字母、数字和特殊符号组成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-coreclone 项目https://github.com/jackxy/xd_blog
九、【综合案例】
阿里云-RocketMQ自定义容器编排一键安装部署
消息队列是高并发里面必备的技术,但是相关环境安装是比较复杂,目前电商业务用的比较多的是RocketMQ,支持多种常见的消息类型,而且支持分布式事务,但是本身搭建比较麻烦,基础的都包括3个服务,比如NameServer名称服务,Broker队列服务,Console控制台。
没有更好的方式进行操作部署rocketmq呢? 看这个就可以,采用docker-compose进行操作
2、安装
创建目录:
broker.conf
brokerClusterName = DefaultCluster brokerName = broker-xdckassbrokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH # 如果是本地程序调用云主机 mq,这个需要设置成 云主机 IPbrokerIP1=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: - rmqconsolenetworks: rmq: name: rmq driver: bridge
启动
//启动docker-compose up//检查网络安全组是否开放端口
总结:
上面的我们在Linux云服务器的常见环境安装,而且多采用在线安装,部分采用docker容器化部署。
这个对于提高我们开发效率很大帮助,也特别建议购买阿里云,进行部署上面的各个环境,昨晚的录播视频现在可以观看,后续会下线掉录播视频,大家在12月份最好先学完,轻松掌握各个环境的安装。
最后希望各位小伙伴:
“学而精之,精而深之,深而新之 ”
![2b4f7ee4452e05dc1f2560ee62b48580.gif](https://i-blog.csdnimg.cn/blog_migrate/d5a4ffcfea9b0a3d7a1842c172151516.gif)