超全面詳解Java開(kāi)發(fā)環(huán)境搭建(看完收藏)(java開(kāi)發(fā)環(huán)境的搭建)
在項(xiàng)目產(chǎn)品開(kāi)發(fā)中,開(kāi)發(fā)環(huán)境搭建是軟件開(kāi)發(fā)的首要階段,也是必須階段,只有開(kāi)發(fā)環(huán)境搭建好了,方可進(jìn)行開(kāi)發(fā),良好的開(kāi)發(fā)環(huán)境搭建,為后續(xù)的開(kāi)發(fā)工作帶來(lái)極大便利。
對(duì)于大公司來(lái)說(shuō),軟件開(kāi)發(fā)環(huán)境搭建工作一般是由運(yùn)維來(lái)做,然而,對(duì)于小公司來(lái)說(shuō),這個(gè)工作就交給開(kāi)發(fā)人員來(lái)做了,如開(kāi)發(fā)經(jīng)理。不管這個(gè)工作是交給運(yùn)維人員做,還是
交給開(kāi)發(fā)人員做,能確定的是:做這件事的人,一定是個(gè)資深的人,如此,方可讓開(kāi)發(fā)環(huán)境穩(wěn)定運(yùn)行,從而為后續(xù)的開(kāi)發(fā)提供便利。
現(xiàn)實(shí)中,只有極少部分開(kāi)發(fā)人員接觸服務(wù)器(能接觸的人,基本都是開(kāi)發(fā)組長(zhǎng)及其以上,或資深開(kāi)發(fā),小公司除外),然而,對(duì)于一個(gè)技術(shù)人員來(lái)說(shuō),服務(wù)器相關(guān)環(huán)境搭建是個(gè)必
不可少的環(huán)節(jié),這就產(chǎn)生了一個(gè)矛盾:服務(wù)器相關(guān)搭建工作是程序員不可或缺技術(shù),但大部分程序員又少接觸服務(wù)器。鑒于此,本篇文章將詳解這個(gè)專(zhuān)題,對(duì)于沒(méi)搭建過(guò)服務(wù)器的開(kāi)發(fā)
人員,初中級(jí)開(kāi)發(fā)人員,.NET轉(zhuǎn)java開(kāi)發(fā)人員提供幫助。
本篇文章內(nèi)容包括:Linux理論與實(shí)操,MySQL實(shí)操,JDK實(shí)操,Tomcat實(shí)操和Tomcat實(shí)操。
一 Linux環(huán)境搭建
本小結(jié)側(cè)重于操作,主要內(nèi)容大致包括:
- 兩大類(lèi)操作系統(tǒng)簡(jiǎn)要介紹
- VMware Workstation Pro 15簡(jiǎn)要介紹及安裝
- CentOS簡(jiǎn)要介紹及基于Wi’n’dows 操作系統(tǒng)的安裝
(一 )關(guān)于操作系統(tǒng)的介紹
1.Windows 系統(tǒng)
Window操作系統(tǒng),是我們?cè)偈煜げ贿^(guò)的系統(tǒng)了。
- 客戶端操作系統(tǒng):windows xp(已過(guò)時(shí)),win7,win8,win10
- 服務(wù)器操作系統(tǒng):windows server 2008(R2),windows server 2012(R2),windows server 2016
2.Linux 系統(tǒng)
Linux系統(tǒng)是一款開(kāi)源的多用戶操作系統(tǒng)(開(kāi)源主要指它的內(nèi)核),由于開(kāi)源,從而衍生出不同版本Linux操作系統(tǒng)。它的內(nèi)核最初只是由芬蘭人李納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學(xué)上學(xué)時(shí)出于個(gè)人愛(ài)好而編寫(xiě)的。
它是一套免費(fèi)使用和自由傳播的類(lèi)Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。
Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
目前市面上較知名的發(fā)行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。從商業(yè)角度來(lái)說(shuō),分為商業(yè)版(收費(fèi),如Rechart系列)和非商業(yè)版(免費(fèi),如CentOS)。
(二)虛擬機(jī)
關(guān)于虛擬機(jī),當(dāng)前有兩款比較流行:VMware Workstation 和 VirtualBox。
在本篇文章中,我們將選擇VMware Workstation Pro 15(Wmware當(dāng)前最新版本)作為演示虛擬機(jī)。
1.下載地址
官網(wǎng):https://www.vmware.com/products/workstation-pro.html。官網(wǎng)提供了兩種不同平臺(tái)的虛擬機(jī),即windows和linux。
2.序列號(hào)
GV7N2-DQZ00-4897Y-27ZNX-NV0TD
3.安裝步驟
=》下載虛擬機(jī)
由于本次演示是基于windows的,因此下載windows版本的虛擬機(jī)
=》安裝
下載好的虛擬機(jī)安裝包如下,雙擊進(jìn)行安裝。
注意:一般在安裝新軟件時(shí),盡量把殺毒軟件關(guān)閉。
彈出界面,選擇“下一步”
接受許可協(xié)議,下一步
選擇安裝路徑,選擇增強(qiáng)版(也可以不選),下一步
下一步
下一步
安裝
安裝中….
安裝結(jié)束,輸入許可證
輸入許可證
重啟電腦,安裝完畢。
(三) CentOS
Linux鏡像官網(wǎng):https://www.centos.org/download/
從官網(wǎng),可以看出提供了三種類(lèi)型的CentOS鏡像:
1.DVD ISO:常用版本,包含大部分功能,大小為4.2G左右;
2.Everything ISO:功能最全版本,大小為8.8G左右;
3.Minimal ISO:壓縮版本,大小為906M左右,很多功能需要在線安裝;
4.無(wú)論是哪個(gè)版本鏡像,均分為32位(x86)和64位(x64);
(四) 安裝CentOS
1.啟動(dòng)虛擬機(jī),文件=》新建虛擬機(jī)
典型,下一步
選擇安裝包,下一步
下一步
存儲(chǔ)單個(gè)文件,下一步
自定義硬件配置
設(shè)置內(nèi)存為8G,關(guān)閉
完成
安裝準(zhǔn)備中(等待60秒,自動(dòng)安裝,不要操作鼠標(biāo))
準(zhǔn)備中
選擇簡(jiǎn)體中文(中國(guó)),繼續(xù)
基本配置結(jié)束后,選擇開(kāi)始安裝
安裝中
配置Root密碼
完成配置
重啟
登錄
注意:如果安裝可視化桌面,請(qǐng)按照如下步驟
軟件選擇
GNOME
登錄
桌面
二 MySQL安裝
1 搭建mysql
1.1 官網(wǎng)下載mysql壓縮包
下載壓縮包時(shí),可以先把安裝包下載到本地,再上傳到服務(wù)器,也可以在linux服務(wù)器上wget:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
官網(wǎng):https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.2 解壓gz壓縮包
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
1.3 將壓縮包移動(dòng)到 /usr/local/mysql/
mv -v mysql-5.7.26-linux-glibc2.12-x86_64 /usr/lcoal/mysql
1.4 創(chuàng)建用戶組和添加用戶
groupadd mysql
useradd -r -g mysql mysql
1.5 將安裝目錄所有者及所屬組改為mysql,這個(gè)根據(jù)自己的目錄來(lái)
#chown -R mysql.mysql /usr/local/mysql
1.6 在mysql目錄下創(chuàng)建data文件夾
#mkdir data
1.7 初始化數(shù)據(jù)庫(kù)
#/usr/local/mysql/bin/mysql_install_db –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data
如果出現(xiàn)以下錯(cuò)誤是因?yàn)?.7版本的初始化命令后面要加 –initialize,如下:
/usr/local/mysql/bin/mysqld –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data –initialize
1.8 編輯配置文件
配置文件地址:/etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密碼驗(yàn)證
//skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
1.9 將mysql加入到服務(wù)
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
1.10 開(kāi)機(jī)啟動(dòng)
#chkconfig mysql on
1.11 啟動(dòng)mysql
#service mysql start
1.12 設(shè)置密碼
由于在第7步my.cnf配置文件中取消了密碼驗(yàn)證,故登錄mysql不需要密碼驗(yàn)證。
/usr/local/mysql/bin/mysql -uroot
無(wú)密碼登錄之后,修改密碼:
#use mysql;
#update user set authentication_string=password(‘root’) where user=’root’;
或者#set password=password(“root”);
#flush privileges;
#exit
1.13 將第7步改為需要密碼驗(yàn)證
1.14 添加遠(yuǎn)程賬戶
使用root賬戶登錄,并設(shè)置遠(yuǎn)程登錄賬戶
GRANT ALL PRIVILEGES ON *.* to ‘Alan_beijing’@’%’ IDENTIFIED by ‘Shanghai2019’ WITH GRANT OPTION
1.15 防火墻設(shè)置
方式一:關(guān)閉防火墻
//停止
systemctl stop firewalld.service
//禁止開(kāi)機(jī)啟動(dòng)
systemctl disable firewalld.service
方式二:開(kāi)啟端口
//這里發(fā)現(xiàn)防火墻是開(kāi)啟的,再來(lái)查看防火墻控制的端口
systemctl status firewalld
//查看防火墻控制的端口,發(fā)現(xiàn)我想要監(jiān)聽(tīng)的8081端口沒(méi)有開(kāi)啟
firewall-cmd –list-all
//永久開(kāi)啟3306端口
sudo firewall-cmd –zone=public –add-port=3306/tcp –permanent
//重載防火墻
sudo firewall-cmd –reload
1.16 重啟mysql服務(wù)
service mysql start
1.17 相關(guān)命令
1 .安裝numactl和libaio
yum -y install numactl
yum search libaio
yum install libaio
2.配置環(huán)境變量
export PATH=$PATH:/usr/local/mysql/bin
3.啟動(dòng)服務(wù)
方式一:服務(wù)方式
[root@localhost ~]service mysql start
如果服務(wù)在啟動(dòng)狀態(tài),直接重啟服務(wù)用以下命令:
[root@localhost ~]service mysql restart
方式二:命令行方式
[root@localhost bin]cd /usr/bin
[root@localhost bin]./mysqld_safe &
4.關(guān)閉服務(wù)
方式一:服務(wù)方式
[root@localhost ~]service mysql stop
方式二:命令行方式
[root@localhost ~]mysqladmin -u root shutdown
5.查看服務(wù)
方式一:
[root@localhost bin]ps -ef|grep mysql
方式二:
[root@localhost bin]netstat -nlp
6.進(jìn)程查詢和殺死
(1) ps -ef |grep Redis
ps:將某個(gè)進(jìn)程顯示出來(lái)
-A 顯示所有程序。
-e 此參數(shù)的效果和指定”A”參數(shù)相同。
-f 顯示UID,PPIP,C與STIME欄位。
grep命令是查找
中間的|是管道命令 是指ps命令與grep同時(shí)執(zhí)行
這條命令的意思是顯示有關(guān)redis有關(guān)的進(jìn)程
(2)kill[參數(shù)][進(jìn)程號(hào)]
kill -9 4394
kill就是給某個(gè)進(jìn)程id發(fā)送了一個(gè)信號(hào)。默認(rèn)發(fā)送的信號(hào)是SIGTERM,而kill -9發(fā)送的信號(hào)是SIGKILL,即exit。
exit信號(hào)不會(huì)被系統(tǒng)阻塞,所以kill -9能順利殺掉進(jìn)程。當(dāng)然你也可以使用kill發(fā)送其他信號(hào)給進(jìn)程。
7.查看mysql
方法一:status;
方法二:select version();
2 卸載mysql
2.1 RPM包安裝方式的MySQL卸載
1.檢查是否安裝了MySQL組件
# rpm -qa | grep -i mysql
2.卸載前關(guān)閉MySQL服務(wù)
# service mysql status
# service mysql stop
# service mysql status
3.卸載刪除MySQL各類(lèi)組件
# rpm -ev 組件名
4.收集MySQL對(duì)應(yīng)的文件夾信息
# find / -name mysql
5.收集MySQL對(duì)應(yīng)的文件夾信息
# rm -rf 路徑/文件名
6.刪除mysql用戶及用戶組
# more /etc/passwd | grep mysql
# more /etc/shadow | grep mysql
# more /etc/group | grep mysql
# userdel mysql
# groupdel mysql
7.確認(rèn)MySQL是否卸載刪除
# rpm -qa | grep -i mysql
2.2 yum包安裝方式的MySQL安裝
1.查看yum上提供的數(shù)據(jù)庫(kù)可下載版本
# yum list | grep mysql
2.安裝mysql.i686,mysql-devel.i686,mysql-server.i686
# yum -y install mysql mysql-server mysql-devel
3.查看是否開(kāi)機(jī)啟動(dòng)
# chkconfig –list | grep mysqld
4.設(shè)置為開(kāi)機(jī)啟動(dòng)
# chkconfig mysqld on
5.設(shè)置數(shù)據(jù)庫(kù)密碼
# service mysqld start
# mysqladmin -u root -p password ‘root’
2.3 service mysql start出錯(cuò):unrecognized service的解決辦法
[root@ctohome.com ~]# service mysql start
mysql: unrecognized service
[root@ctohome.com ~]# service mysql restart
mysql: unrecognized service
[root@ctohome.com ~]# rpm -q mysql 查詢發(fā)現(xiàn)mysql已經(jīng)正常安裝
mysql-5.1.52-jason.1
[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld 修改mysqld執(zhí)行權(quán)限
[root@ctohome.com ~]# service mysqld start 搞定
Starting mysqld: [ OK ]
[root@ctohome.com ~]# service mysqld status
mysqld (pid 9487) is running…
2.4 Navicat for mysql遠(yuǎn)程連接數(shù)據(jù)庫(kù)詳解(1130錯(cuò)誤解決方法)
1.進(jìn)入MySql控制臺(tái): mysql -u root -p
2.彈出Enter password: 輸入您的數(shù)據(jù)庫(kù)密碼
3.執(zhí)行下命令: GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘您的數(shù)據(jù)庫(kù)密碼’ WITH GRANT OPTION;
4.再執(zhí)行下下命令: flush privileges;
5.mysql服務(wù)啟動(dòng)、停止、重啟
(一)啟動(dòng)方式
(1)使用 service 啟動(dòng):service mysqld start
(2)使用 mysqld 腳本啟動(dòng):/etc/inint.d/mysqld start
(3)使用 safe_mysqld 啟動(dòng):safe_mysqld&
(二)停止
(1)使用 service 啟動(dòng):service mysqld stop
(2)使用 mysqld 腳本啟動(dòng):/etc/inint.d/mysqld stop
(3)mysqladmin shutdown
(4)殺掉進(jìn)程:
# ps -ef | grep mysqld
# kill -9 進(jìn)程號(hào)
(三)重啟
(1)(使用 service 啟動(dòng):service mysqld restart
(2)使用 mysqld 腳本啟動(dòng):/etc/inint.d/mysqld restart
6.mysql 查詢的基本命令
1)查看內(nèi)存
# top
2)mysql的安裝路徑和運(yùn)行路徑
# whereis mysqld
3)PATH變量指定的路徑中,搜索mysql的信息
# which mysqld
4)查看配置文件
# vi /etc/my.cnf
7.解決修改mysql的datadir所引發(fā)的錯(cuò)誤問(wèn)題
1)修改datadir指向的文件路徑
1))復(fù)制默認(rèn)指定路徑里面的文件到新的指定路徑的文件夾中
2))修改指定的文件夾的修改權(quán)限
2)配置apparmor權(quán)限
1))查看apparmor的配置:# vi /etc/apparmor.d/usr.sbin.mysqld
2))配置新路徑權(quán)限
3)PATH變量指定的路徑中,搜索mysql的信息
1))查看selinux的配置:# vi /etc/selinux/config
2))修改配置: SELINUX=disabled
三 JDK安裝
1.wget下載安裝包
我將jdk安裝包下載在/TestPackages/ 目錄下
wget url
2.解壓jdk安裝包
tar xzvf jdk-8u221-linux-x64.tar.gz
解壓后
3.配置環(huán)境變量
vim /etc/profile.d/java.sh
4.使環(huán)境變量生效
source /etc/profile
5.測(cè)試jdk是否安裝成功
java -version
四 Tomcat安裝
以安裝tomcat 8 為例
=》進(jìn)入Tomcat官網(wǎng),獲取Tomcat下載地址
https://tomcat.apache.org/download-80.cgi
=》wget
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz
=》解壓
tar -zxvf apache-tomcat-8.5.43.tar.gz
=》啟動(dòng)Tomcat
=>訪問(wèn)Tomcat
用ip訪問(wèn)
五 Redis安裝
(一) Redis服務(wù)搭建
1.在根路徑建立目錄 myredis
mkdir myredis
2.進(jìn)入myredis目錄
cd myredis/
3.Redis搭建
(1)下載Redis
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
(2)解壓Redis包
tar xzf redis-5.0.4.tar.gz
(3)切換到(2)解壓的包
cd redis-5.0.4
(4)編譯包
make
Tip:當(dāng)make命令出錯(cuò)時(shí),請(qǐng)?zhí)砑尤缦旅睿?/p>
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
yum install tcl
(二)Redis服務(wù)配置
Redis服務(wù)相關(guān)配置,主要集中在Redis.conf文件中。 在除此配置Redis服務(wù)時(shí),有六個(gè)參數(shù)是比較重要的:requirepass, bind,port,protected-mode,daemonize,logfile
1.requirepass:配置redis登錄密碼
redis.conf中,requirepass參數(shù)默認(rèn)是不需要的,即不需要密碼登錄。
?
這里,我將其更改為123456
2.bind:配置ip
redis.conf中,bind默認(rèn)綁定的ip為127.0.0.1
?
為了讓遠(yuǎn)程能夠訪問(wèn),請(qǐng)使用Linux服務(wù)器ip地址代替,查看ip命令:ifconfig
?
3.port:配置端口號(hào)
redis.conf默認(rèn)端口號(hào)為6379,你可以改為你自己的端口號(hào)
?
如下更改為6399
?
4.protected-mode:設(shè)置保護(hù)模式
redis.conf的protected-mode默認(rèn)是開(kāi)啟保護(hù)模式的,需要更改為非開(kāi)啟模式
?
如下設(shè)置為不保護(hù)模式
?
5.daemonize
daemonize表示是否在后臺(tái)啟動(dòng)redis-server,默認(rèn)表示為非在后臺(tái)啟動(dòng)服務(wù),將其設(shè)置為后臺(tái)運(yùn)行
?
6.logfile
redis.conf的logfile表示redis的配置文件,大家可以理解為sl4j.log等日志文件,
創(chuàng)建文件:myredis.log
vim /myredis/redis-5.0.4/myredis.log
?
配置logfile參數(shù),其路徑為myredis.log路徑
?
(三) 防火墻配置
如下為防火前配置的基本流程
1.查看防火墻狀態(tài)
防火墻狀態(tài)為running或not running,若非running,則設(shè)置為running
2.向防火墻添加開(kāi)放端口
firewall-cmd –permanent –zone=public –add-port=6399/tcp
–permanet參數(shù)表示永久,否則表示臨時(shí)
?
3.加載配置
firewall-cmd –reload
?
4.查看開(kāi)啟的端口
firewall-cmd –permanent –zone=public –list-ports
?
5.啟動(dòng)redis服務(wù)
需要注意的是,啟動(dòng)服務(wù)時(shí),要帶上redis配置文件
src/redis-server redis.conf
?
查看配置文件,發(fā)現(xiàn)redis已經(jīng)啟動(dòng)成功
?
(四) 訪問(wèn)Redis服務(wù)
1.通過(guò)xshell訪問(wèn)
src/redis-cli -h 192.168.202.134 -p 6399 -a 123456
如下為成功訪問(wèn)redis的截圖
?
測(cè)試一下:
?
2.通過(guò)redisDeskManager來(lái)訪問(wèn)redis服務(wù)
?
打開(kāi)db0,就能看到剛才set 的name
關(guān)于redis客戶端工具,目前市場(chǎng)上還是比較多的,這里我推薦兩款:
RedisDeskManager和RedisClient
(五) 相關(guān)命令
(1)關(guān)閉redis服務(wù)
redis-cli -h ip -p port shutdown