常用开发环境搭建配置教程(OneStall)
最近想要做一個(gè)小東西,用到了下面幾個(gè)中間件或者環(huán)境:
Java
Tomcat
Maven
MongoDB
ZooKeeper
Node
并且恰好碰到騰訊云打折,云主機(jī)原價(jià)100多一個(gè)月,花了30塊錢買了三個(gè)月。買下后立即動(dòng)手準(zhǔn)備開始環(huán)境配置。
說到環(huán)境,少則2小時(shí),多則兩三天可能都要整蒙蔽,環(huán)境好了,寫代碼都順溜,環(huán)境整不好,覺都睡不好。
在公司里都是有專門的運(yùn)維準(zhǔn)備好了Java、MongoDB、MySQL、ZooKeeper等等,有問題也是直接找運(yùn)維,除了在本機(jī)上安裝Java、Maven少數(shù)幾個(gè)編程必備的環(huán)境,其余基本上不用親自動(dòng)手。
這好久沒碰Linux,無奈一上來就只好百度“Linux Java環(huán)境配置”、“Linux Tomcat環(huán)境配置”、“CentOS如何開啟防火墻”等等等等。
做一個(gè)“通用”的一鍵安裝程序(準(zhǔn)確來說一個(gè)shell腳本)的想法就產(chǎn)生了。
OneStall,應(yīng)該叫“One Install”,去掉了In,“Stall”也表示攤位的意思,“OneStall”一個(gè)攤位,也符合對(duì)這個(gè)一鍵安裝程序的預(yù)期。目前OneStall做的比較定制化,上面提到的環(huán)境也是固定的版本,有時(shí)間我會(huì)逐漸完善OneStall,詳細(xì)的shell腳本可通過我的GitHub倉庫查看(OneStall),獲取OneStall完整安裝包請(qǐng)關(guān)注博客下方的公眾號(hào)(CoderBuff)并回復(fù)“onestall”關(guān)鍵字獲取。這篇博客不對(duì)shell腳本進(jìn)行解讀,主要記錄以上環(huán)境在Linux下的配置命令步驟,這實(shí)際上也就解開了OneStall腳本的“核心秘密”。
【Java】
Java環(huán)境的安裝在Linux的重點(diǎn)是將Java寫入環(huán)境變量中,這里以jdk-8u191為例。
1. 【/home/】下載Linux版本的JDK(jdk-8u191-linux-x64.tar.gz)至Linux系統(tǒng)中的/home/中(文件目錄任意,這里直接在home目錄下)。
2. 【/home/】執(zhí)行tar -zxvf jdk-8u191-linux-x64.tar.gz解壓至當(dāng)前目錄
3. 【/home/】執(zhí)行mkdir /usr/local/jdk,在/usr/local目錄下創(chuàng)建存放JDK的目錄
4. 【/home/】執(zhí)行mv ./jdk1.8.0_191/* /usr/loca/jdk,將JDK移至/usr/local/jdk下
5. 【/home/】執(zhí)行vim /etc/profile修改全局變量
6. 【/etc/profile】,將以下配置放到/etc/profile文件的最末尾:
7. 【/etc/profile】在vim中保存并退出
8. 【/home/】執(zhí)行source /etc/profile命令使全局變量生效
9. 【/home/】執(zhí)行java -version查看Java環(huán)境是否配置成功
【Tomcat】
Tomcat安裝比Java安裝要簡單一點(diǎn),不需要配置環(huán)境變量,只需要知道在哪個(gè)目錄下啟動(dòng)Tomcat就行,如果遇到開啟了防火墻,把Tomcat默認(rèn)的8080端口開了就行,這里的Tomcat版本以8.5.37為例。
1. 【/home/】下載Linux版本的Tomcat(apache-tomcat-8.5.37.tar.gz)至Linux系統(tǒng)中的/home/中(文件目錄任意,這里直接在home目錄下)
2. 【/home/】執(zhí)行tar -zxvf apache-tomcat-8.5.37.tar.gz解壓至當(dāng)前目錄
3. 【/home/】執(zhí)行mkdir /usr/local/tomcat,在/usr/local目錄下創(chuàng)建存放Tomcat的目錄
4. 【/home/】執(zhí)行mv ./apache-tomcat-8.5.37/* /usr/loca/tomcat,將Tomcat移至/usr/local/tomcat下
5. 【/usr/local/tomcat/bin】執(zhí)行cd /usr/local/tomcat/bin命令,進(jìn)入Tomcat的啟動(dòng)目錄下
6. 【/usr/local/tomcat/bin】執(zhí)行./startup.sh命令,啟動(dòng)Tomcat
7. 瀏覽器訪問localhost:8080,如果頁面出現(xiàn)Tomat頁,則啟動(dòng)成功,未成功查看是否開啟防火墻,并打開8080端口
8. 【/usr/local/tomcat/bin】執(zhí)行firewall-cmd --zone=public --add-port=8080/tcp --permanent命令,開啟8080端口
9. 【/usr/local/tomcat/bin】執(zhí)行firewall-cmd --reload命令,刷新防火墻
【 Maven】
有時(shí)候會(huì)通過Maven命令來構(gòu)建一些從網(wǎng)上下載的應(yīng)用,所以在這里我把Maven的配置方法也列了出來。同Java環(huán)境配置類似,主要是配置/etc/profile環(huán)境變量。
1. 【/home/】下載Linux版本的Maven(apache-maven-3.6.0-bin.tar.gz)至Linux系統(tǒng)中的/home/中(文件目錄任意,這里直接在home目錄下)。
2. 【/home/】執(zhí)行tar -zxvf apache-maven-3.6.0-bin.tar.gz解壓至當(dāng)前目錄
3. 【/home/】執(zhí)行mkdir /usr/local/maven,在/usr/local目錄下創(chuàng)建存放Maven的目錄
4. 【/home/】執(zhí)行mv ./apache-maven-3.6.0/* /usr/loca/maven,將Maven移至/usr/local/maven下
5. 【/home/】執(zhí)行vim /etc/profile修改全局變量,將以下配置放到/etc/profile文件的最末尾:
保存并退出
6. 【/home/】執(zhí)行source /etc/profile命令使全局變量生效
7. 【/home/】執(zhí)行mvn -v查看Java環(huán)境是否配置成功
【MongoDB】
單純的MongoDB安裝并不復(fù)雜,其核心要義無非也是解壓、配置等。真正麻煩的是MongoDB的權(quán)限配置,只有了解MongoDB的基礎(chǔ)知識(shí),用戶權(quán)限的問題,才能更好的上手MongoDB。
1. 【/home/】下載Linux版本的MongoDB(mongodb-linux-x86_64-4.0.5.tgz)至Linux系統(tǒng)中的/home/中(文件目錄任意,這里直接在home目錄下)。
2. 【/home/】執(zhí)行tar -zxvf mongodb-linux-x86_64-4.0.5.tgz解壓至當(dāng)前目錄
3. 【/home/】執(zhí)行mkdir /usr/local/mongodb,在/usr/local目錄下創(chuàng)建存放MongoDB的目錄
4. 【/home/】執(zhí)行mv ./mongodb-linux-x86_64-4.0.5/* /usr/loca/mongodb,將MongoDB移至/usr/local/MongoDB下
5. 【/usr/local/mongodb】執(zhí)行cd /usr/local/mongodb進(jìn)入MongoDB目錄,執(zhí)行vim mongod.conf創(chuàng)建啟動(dòng)MongoDB的配置文件,如下所示:
保存并退出。
6. 【/usr/local/mongodb/bin】進(jìn)入MongoDB的bin目錄,執(zhí)行啟動(dòng)命令./mongod --config ../mongod.conf回顯以下信息表示啟動(dòng)成功:
7. 【/usr/local/mongodb/bin】繼續(xù)在/usr/local/mongodb/bin目錄下執(zhí)行./mongo進(jìn)入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中配置用戶,以及測(cè)試MongoDB是否成功安裝并啟動(dòng):
由于在配置文件中配置了auth=true,也就是開啟了認(rèn)證,現(xiàn)在需要在admin數(shù)據(jù)庫中創(chuàng)建一個(gè)超級(jí)賬號(hào),創(chuàng)建過程如下(“<-”表示回車):
以上就配置好了MongoDB
【ZooKeeper】
ZooKeeper在互聯(lián)網(wǎng)、分布式應(yīng)用中也是用得非常多的應(yīng)用,它可以做**注冊(cè)中心**,用于實(shí)現(xiàn)**分布式鎖**等等,下面就是zookeeper-3.4.13單機(jī)安裝配置。
1. 【/home/】下載Linux版本的ZooKeeper(zookeeper-3.4.13.tar.gz)至Linux系統(tǒng)中的/home/中(文件目錄任意,這里直接在home目錄下)。
2. 【/home/】執(zhí)行tar -zxvf zookeeper-3.4.13.tar.gz解壓至當(dāng)前目錄
3. 【/home/】執(zhí)行mkdir /usr/local/zookeeper,在/usr/local目錄下創(chuàng)建存放ZooKeeper的目錄
4. 【/home/】執(zhí)行mv ./zookeeper-3.4.13/* /usr/loca/zookeeper,將ZooKeeper移至/usr/local/zookeeper下
5. 【/usr/local/zookeeper/conf】進(jìn)入ZooKeeper目錄,執(zhí)行mv zoo_sample.cfg zoo.cfg命令,拷貝一份ZooKeeper配置文件。
6. vim zoo.cfg修改ZooKeeper配置文件,將數(shù)據(jù)文件存儲(chǔ)路徑修改如下:
7. mkdir /home/zk創(chuàng)建ZooKeeper的數(shù)據(jù)文件路徑。
8. 【/home/local/zookeeper/bin】,進(jìn)入ZooKeeper的啟動(dòng)文件路徑,進(jìn)入/usr/local/zookeeper/bin,執(zhí)行./zkServer.sh start,如下回顯:
9. 命令./zkServer.sh status,回顯以下,表示ZooKeeper啟動(dòng)成功
ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: standalone【 Node】
考慮到有時(shí)候想用Vue啟動(dòng)前端程序,Node就不可獲取,這使用node-v10.15.0-linux-x64.tar.xz版本做演示,大體和JDK配置類似,也是解壓、配置環(huán)境變量。
1. 【/home/】下載Linux版本的Node(node-v10.15.0-linux-x64.tar.xz)至Linux系統(tǒng)中的/home/中(文件目錄任意,這里直接在home目錄下)。
2. 【/home/】執(zhí)行tar -xvf -v10.15.0-linux-x64.tar.xz解壓至當(dāng)前目錄
3. 【/home/】執(zhí)行mkdir /usr/local/node,在/usr/local目錄下創(chuàng)建存放Node的目錄
4. 【/home/】執(zhí)行mv ./node-v10.15.0-linux-x64/* /usr/loca/node,將JDK移至/usr/local/node下
5. 【/home/】執(zhí)行vim /etc/profile修改全局變量
6. 【/etc/profile】,將以下配置放到/etc/profile文件的最末尾:
在vim中保存并退出
7. 【/home/】執(zhí)行source /etc/profile命令使全局變量生效
8. 【/home/】執(zhí)行node -v和npm -v查看Java環(huán)境是否配置成功
獲取OneStall完整安裝包,請(qǐng)關(guān)注下方公眾號(hào),并回復(fù)“onestall”。
?
這是一個(gè)能給程序員加buff的公眾號(hào)?
轉(zhuǎn)載于:https://www.cnblogs.com/yulinfeng/p/10293090.html
總結(jié)
以上是生活随笔為你收集整理的常用开发环境搭建配置教程(OneStall)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】——训练过程
- 下一篇: js之箭头函数