常用开发环境搭建配置教程(OneStall)
最近想要做一个小东西,用到了下面几个中间件或者环境:
Java
Tomcat
Maven
MongoDB
ZooKeeper
Node
并且恰好碰到腾讯云打折,云主机原价100多一个月,花了30块钱买了三个月。买下后立即动手准备开始环境配置。
说到环境,少则2小时,多则两三天可能都要整蒙蔽,环境好了,写代码都顺溜,环境整不好,觉都睡不好。
在公司里都是有专门的运维准备好了Java、MongoDB、MySQL、ZooKeeper等等,有问题也是直接找运维,除了在本机上安装Java、Maven少数几个编程必备的环境,其余基本上不用亲自动手。
这好久没碰Linux,无奈一上来就只好百度“Linux Java环境配置”、“Linux Tomcat环境配置”、“CentOS如何开启防火墙”等等等等。
做一个“通用”的一键安装程序(准确来说一个shell脚本)的想法就产生了。
OneStall,应该叫“One Install”,去掉了In,“Stall”也表示摊位的意思,“OneStall”一个摊位,也符合对这个一键安装程序的预期。目前OneStall做的比较定制化,上面提到的环境也是固定的版本,有时间我会逐渐完善OneStall,详细的shell脚本可通过我的GitHub仓库查看(OneStall),获取OneStall完整安装包请关注博客下方的公众号(CoderBuff)并回复“onestall”关键字获取。这篇博客不对shell脚本进行解读,主要记录以上环境在Linux下的配置命令步骤,这实际上也就解开了OneStall脚本的“核心秘密”。
【Java】
Java环境的安装在Linux的重点是将Java写入环境变量中,这里以jdk-8u191为例。
1. 【/home/】下载Linux版本的JDK(jdk-8u191-linux-x64.tar.gz)至Linux系统中的/home/中(文件目录任意,这里直接在home目录下)。
2. 【/home/】执行tar -zxvf jdk-8u191-linux-x64.tar.gz解压至当前目录
3. 【/home/】执行mkdir /usr/local/jdk,在/usr/local目录下创建存放JDK的目录
4. 【/home/】执行mv ./jdk1.8.0_191/* /usr/loca/jdk,将JDK移至/usr/local/jdk下
5. 【/home/】执行vim /etc/profile修改全局变量
6. 【/etc/profile】,将以下配置放到/etc/profile文件的最末尾:
export JAVA_HOME=/usr/local/jdk" export PATH=\$JAVA_HOME/bin:\$PATH" export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar"
7. 【/etc/profile】在vim中保存并退出
8. 【/home/】执行source /etc/profile命令使全局变量生效
9. 【/home/】执行java -version查看Java环境是否配置成功
【Tomcat】
Tomcat安装比Java安装要简单一点,不需要配置环境变量,只需要知道在哪个目录下启动Tomcat就行,如果遇到开启了防火墙,把Tomcat默认的8080端口开了就行,这里的Tomcat版本以8.5.37为例。
1. 【/home/】下载Linux版本的Tomcat(apache-tomcat-8.5.37.tar.gz)至Linux系统中的/home/中(文件目录任意,这里直接在home目录下)
2. 【/home/】执行tar -zxvf apache-tomcat-8.5.37.tar.gz解压至当前目录
3. 【/home/】执行mkdir /usr/local/tomcat,在/usr/local目录下创建存放Tomcat的目录
4. 【/home/】执行mv ./apache-tomcat-8.5.37/* /usr/loca/tomcat,将Tomcat移至/usr/local/tomcat下
5. 【/usr/local/tomcat/bin】执行cd /usr/local/tomcat/bin命令,进入Tomcat的启动目录下
6. 【/usr/local/tomcat/bin】执行./startup.sh命令,启动Tomcat
7. 浏览器访问localhost:8080,如果页面出现Tomat页,则启动成功,未成功查看是否开启防火墙,并打开8080端口
8. 【/usr/local/tomcat/bin】执行firewall-cmd --zone=public --add-port=8080/tcp --permanent命令,开启8080端口
9. 【/usr/local/tomcat/bin】执行firewall-cmd --reload命令,刷新防火墙
【 Maven】
有时候会通过Maven命令来构建一些从网上下载的应用,所以在这里我把Maven的配置方法也列了出来。同Java环境配置类似,主要是配置/etc/profile环境变量。
1. 【/home/】下载Linux版本的Maven(apache-maven-3.6.0-bin.tar.gz)至Linux系统中的/home/中(文件目录任意,这里直接在home目录下)。
2. 【/home/】执行tar -zxvf apache-maven-3.6.0-bin.tar.gz解压至当前目录
3. 【/home/】执行mkdir /usr/local/maven,在/usr/local目录下创建存放Maven的目录
4. 【/home/】执行mv ./apache-maven-3.6.0/* /usr/loca/maven,将Maven移至/usr/local/maven下
5. 【/home/】执行vim /etc/profile修改全局变量,将以下配置放到/etc/profile文件的最末尾:
export M2_HOME=/usr/local/maven export PATH=$M2_HOME/bin:$PATH
保存并退出
6. 【/home/】执行source /etc/profile命令使全局变量生效
7. 【/home/】执行mvn -v查看Java环境是否配置成功
【MongoDB】
单纯的MongoDB安装并不复杂,其核心要义无非也是解压、配置等。真正麻烦的是MongoDB的权限配置,只有了解MongoDB的基础知识,用户权限的问题,才能更好的上手MongoDB。
1. 【/home/】下载Linux版本的MongoDB(mongodb-linux-x86_64-4.0.5.tgz)至Linux系统中的/home/中(文件目录任意,这里直接在home目录下)。
2. 【/home/】执行tar -zxvf mongodb-linux-x86_64-4.0.5.tgz解压至当前目录
3. 【/home/】执行mkdir /usr/local/mongodb,在/usr/local目录下创建存放MongoDB的目录
4. 【/home/】执行mv ./mongodb-linux-x86_64-4.0.5/* /usr/loca/mongodb,将MongoDB移至/usr/local/MongoDB下
5. 【/usr/local/mongodb】执行cd /usr/local/mongodb进入MongoDB目录,执行vim mongod.conf创建启动MongoDB的配置文件,如下所示:
dbpath=/home/mongo/data #数据文件存储地址 logpath=/home/mongo/mongod.log #mongo日志存储地址 logappend=true #写日志的模式为“追加模式”,true-追加 fork=true #是否后台运行,true-后台运行 auth=true #是否开启认证
保存并退出。
6. 【/usr/local/mongodb/bin】进入MongoDB的bin目录,执行启动命令./mongod --config ../mongod.conf回显以下信息表示启动成功:
about to fork child process, waiting until server is ready for connections. forked process: 15704 child process started successfully, parent exiting
7. 【/usr/local/mongodb/bin】继续在/usr/local/mongodb/bin目录下执行./mongo进入MongoDB命令行交互模式,回显如下所示:
MongoDB shell version v4.0.5 connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb Implicit session: session { "id" : UUID("5673e588-75ca-4cf8-897c-71a8e31415f3") } MongoDB server version: 4.0.5 >
8. 接下来就是在MongoDB中配置用户,以及测试MongoDB是否成功安装并启动:
由于在配置文件中配置了auth=true,也就是开启了认证,现在需要在admin数据库中创建一个超级账号,创建过程如下(“<-”表示回车):
use admin <- //切换至admin数据库 回显:switched to db admin db.createUser({user: "root",pwd: "root",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]}) <- //创建超级用户 回显: Successfully added user: { "user" : "root", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] } db.auth('root','root') <- //root认证 回显:1 db.createUser({user: "okevin",pwd: "123456",roles: [ { role: "readWrite", db: "mydb" } ]}) <- //创建一个普通账号,对应的数据库是“mydb”,MongoDB的数据库和账号是对应的,就算是超级账号也不能对其他数据库进行写入 回显: Successfully added user: { "user" : "okevin", "roles" : [ { "role" : "readWrite", "db" : "mydb" } ] } db.auth('okevin','123456') <- //使用“okevin”账号认证 回显:1 use mydb <- //切换至mydb数据库 回显:switched to db mydb db.repo.insert({"name":"kevin"}) <- //向数据库插入一条数据,collection为repo 回显:WriteResult({ "nInserted" : 1 }) show collections <- //查看mydb下的collection,验证是否创建repo 回显:repo db.repo.find().pretty() <- //查看repo下的数据 回显:{ "_id" : ObjectId("5c3f48ad259c266fbe1f1051"), "name" : "kevin" }
以上就配置好了MongoDB
【ZooKeeper】
ZooKeeper在互联网、分布式应用中也是用得非常多的应用,它可以做**注册中心**,用于实现**分布式锁**等等,下面就是zookeeper-3.4.13单机安装配置。
1. 【/home/】下载Linux版本的ZooKeeper(zookeeper-3.4.13.tar.gz)至Linux系统中的/home/中(文件目录任意,这里直接在home目录下)。
2. 【/home/】执行tar -zxvf zookeeper-3.4.13.tar.gz解压至当前目录
3. 【/home/】执行mkdir /usr/local/zookeeper,在/usr/local目录下创建存放ZooKeeper的目录
4. 【/home/】执行mv ./zookeeper-3.4.13/* /usr/loca/zookeeper,将ZooKeeper移至/usr/local/zookeeper下
5. 【/usr/local/zookeeper/conf】进入ZooKeeper目录,执行mv zoo_sample.cfg zoo.cfg命令,拷贝一份ZooKeeper配置文件。
6. vim zoo.cfg修改ZooKeeper配置文件,将数据文件存储路径修改如下:
dataDir=/home/zk
7. mkdir /home/zk创建ZooKeeper的数据文件路径。
8. 【/home/local/zookeeper/bin】,进入ZooKeeper的启动文件路径,进入/usr/local/zookeeper/bin,执行./zkServer.sh start,如下回显:
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
9. 命令./zkServer.sh status,回显以下,表示ZooKeeper启动成功
ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: standalone
【 Node】
考虑到有时候想用Vue启动前端程序,Node就不可获取,这使用node-v10.15.0-linux-x64.tar.xz版本做演示,大体和JDK配置类似,也是解压、配置环境变量。
1. 【/home/】下载Linux版本的Node(node-v10.15.0-linux-x64.tar.xz)至Linux系统中的/home/中(文件目录任意,这里直接在home目录下)。
2. 【/home/】执行tar -xvf -v10.15.0-linux-x64.tar.xz解压至当前目录
3. 【/home/】执行mkdir /usr/local/node,在/usr/local目录下创建存放Node的目录
4. 【/home/】执行mv ./node-v10.15.0-linux-x64/* /usr/loca/node,将JDK移至/usr/local/node下
5. 【/home/】执行vim /etc/profile修改全局变量
6. 【/etc/profile】,将以下配置放到/etc/profile文件的最末尾:
export NODE_HOME=/usr/local/node export PATH=\$NODE_HOME/bin:\$PATH
在vim中保存并退出
7. 【/home/】执行source /etc/profile命令使全局变量生效
8. 【/home/】执行node -v和npm -v查看Java环境是否配置成功
获取OneStall完整安装包,请关注下方公众号,并回复“onestall”。
这是一个能给程序员加buff的公众号
转载于:https://www.cnblogs.com/yulinfeng/p/10293090.html
常用开发环境搭建配置教程(OneStall)相关推荐
- 1 Go语言开发环境搭建详细教程+go常见bug合集【Go语言教程】
Go语言开发环境搭建[Win.Linux.Mac] 1 SDK下载 官网地址:golang.org,因为一些原因国内可能无法访问.可以使用下面第二个链接. 国内地址访问:https://golang. ...
- 安卓python3开发环境搭建,Python3开发环境搭建简明教程
Python3开发环境建立简明教程 ★ 「锐玩道」原文链接 " 剁手得很决绝的今日 那就来份平平无奇的教程吧 (作为 Scrapy 系列的开篇) Python 环境设备 下载 Python ...
- PHP开发环境搭建详细教程
首先你需要安装Apache Server,这里以当前最新版Apache Server2.4为例进行说明,可惜官网并没有提供最新版的msi安装包,连编译后的binary二进制压缩包都没提供,不过我已经编 ...
- Rust语言开发环境搭建详细教程
目录 一.Rust简介 1.rust历史 2.rust吉祥物 二.Rust开发环境搭建 1.C++环境安装 2.Rust下载 3.rust安装 4.rust环境检测 查看rust版本 查看cargo版 ...
- android 教程 最新版,Android最新版本开发环境搭建图文教程
本文只是写了如何配置jdk,以及adt-bundle的配置.对于以前的adt-bundle的版本,会自带cpu/abi系统镜像,经过本文所描述的两个步骤后可以直接创建avd,但是从官网下载的最新的ad ...
- 【Win10】Java开发环境搭建新手教程(图文)
前言 因为网络上java环境搭建的文章多数过旧,或者并不详细,对大部分新手不太友好.为了使一些对计算机不太敏感的学生用户也能成功搭建java环境,特此记录此过程.其中专业内容只为非计算机专业但是需要学 ...
- ESP32+CAM Linux 环境搭建配置教程
本文参考博客: https://blog.csdn.net/xh870189248/article/details/80208099 https://blog.csdn.net/solar_lan/a ...
- Windows下Python开发环境搭建简单教程
Python下载 首先访问Python官方网站:https://www.python.org 如图示选择最新版本点击 Python安装 1.双击执行下载下来的可执行文件 2.在第一个安装界面需要勾选A ...
- Udig开发环境搭建/入门教程
老师让我画地图符号,就一句,把这些符号做出来,看网上说可以用udig,很简单的,你看看 百度百科关于uDig的解释 uDig是一个 open source (EPL and BSD) 桌面应用程序框架 ...
最新文章
- (转)WCF光芒下的Web Service
- atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o...
- 推荐9款优秀的 HTML5 音乐播放器
- Shift Dot_JAVA
- Tomcat系列之Java技术详解
- SQL Server 性能调优(方法论)
- html5中单选框被选中把值传给后台_HTML5的表单设计
- Qt文档阅读笔记|Qt实践| HTTPS知识点-获取某站点SSL证书
- 今年后,再见Excel,你好python
- matlab混叠现象与频率分辨率,连续时间信号频谱分析研究及MATLAB实现
- SQL锁机制和事务隔离级别
- python截屏截图
- 主流强化学习算法论文综述:DQN、DDPG、TRPO、A3C、PPO、SAC、TD3
- 手机视频水印去不掉有马赛克
- LaTex制作中文简历模板_PART 1
- 实验中常用光纤接头型号
- 2021年最值得推荐的10款数据可视化工具,看完我收藏了
- 世外桃源六python_中土世界的世外桃源——新西兰霍比特人小镇全攻略
- Swift学习笔记笔记(七) UIKit常用组件的使用
- bugtraq mysql,Oracle MySQL Server远程安全漏洞(CVE-2017-3459)