最近想要做一个小东西,用到了下面几个中间件或者环境:
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完整安装包请关注博客下方的公众号(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命令,启动Tomcat7. 浏览器访问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/mavenexport 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: 15704child process started successfully, parent exiting
7. 【/usr/local/mongodb/bin】继续在/usr/local/mongodb/bin目录下执行./mongo进入MongoDB命令行交互模式,回显如下所示:
MongoDB shell version v4.0.5connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodbImplicit 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 admindb.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认证回显:1db.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”账号认证回显:1use mydb <- //切换至mydb数据库回显:switched to db mydbdb.repo.insert({"name":"kevin"}) <- //向数据库插入一条数据,collection为repo回显:WriteResult({ "nInserted" : 1 })show collections <- //查看mydb下的collection,验证是否创建repo回显:repodb.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.cfgStarting zookeeper ... STARTED
9. 命令./zkServer.sh status,回显以下,表示ZooKeeper启动成功
ZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper/bin/../conf/zoo.cfgMode: 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/nodeexport PATH=\$NODE_HOME/bin:\$PATH
在vim中保存并退出
7. 【/home/】执行source /etc/profile命令使全局变量生效8. 【/home/】执行node -v和npm -v查看Java环境是否配置成功 获取OneStall完整安装包,请关注下方公众号,并回复“onestall”。
这是一个能给程序员加buff的公众号