最近想要做一个小东西,用到了下面几个中间件或者环境:
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的公众号