最近想要做一個小東西,用到了下麵幾個中間件或者環境: Java Tomcat Maven MongoDB ZooKeeper Node 並且恰好碰到騰訊雲打折,雲主機原價100多一個月,花了30塊錢買了三個月。買下後立即動手準備開始環境配置。 說到環境,少則2小時,多則兩三天可能都要整矇蔽,環境好了 ...
最近想要做一個小東西,用到了下麵幾個中間件或者環境:
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的公眾號