首頁 > 軟體

超全詳解Java開發環境搭建

2020-06-16 16:33:59

       在專案產品開發中,開發環境搭建是軟體開發的首要階段,也是必須階段,只有開發環境搭建好了,方可進行開發,良好的開發環境搭建,為後續的開發工作帶來極大便利。

       對於大公司來說,軟體開發環境搭建工作一般是由運維來做,然而,對於小公司來說,這個工作就交給開發人員來做了,如開發經理。不管這個工作是交給運維人員做,還是

交給開發人員做,能確定的是:做這件事的人,一定是個資深的人,如此,方可讓開發環境穩定執行,從而為後續的開發提供便利。

       現實中,只有極少部分開發人員接觸伺服器(能接觸的人,基本都是開發組長及其以上,或資深開發,小公司除外),然而,對於一個技術人員來說,伺服器相關環境搭建是個必

不可少的環節,這就產生了一個矛盾:伺服器相關搭建工作是程式設計師不可或缺技術,但大部分程式設計師又少接觸伺服器。鑑於此,本篇文章將詳解這個專題,對於沒搭建過伺服器的開發

人員,初中級開發人員,.NET轉Java開發人員提供幫助。

       本篇文章內容包括:Linux理論與實操,MySQL實操,JDK實操,Tomcat實操和Tomcat實操。

一 Linux環境搭建


   本小結側重於操作,主要內容大致包括:

  • 兩大類作業系統簡要介紹
  • VMware Workstation Pro 15簡要介紹及安裝
  • CentOS簡要介紹及基於Wi'n'dows 作業系統的安裝

(一 )關於作業系統的介紹


    1.Windows 系統

       Window作業系統,是我們再熟悉不過的系統了。

  • 用戶端作業系統:windows xp(已過時),win7,win8,win10
  • 伺服器作業系統:windows server 2008(R2),windows server 2012(R2),windows server 2016

     2.Linux 系統

         Linux系統是一款開源的多使用者作業系統(開源主要指它的核心),由於開源,從而衍生出不同版本Linux作業系統。它的核心最初只是由芬蘭人李納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的。

它是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多使用者、多工、支援多執行緒和多CPU的作業系統。它能能執行主要的UNIX工具軟體、應用程式和網路協定。它支援32位元和64位元硬體。

Linux繼承了Unix以網路為核心的設計思想,是一個效能穩定的多使用者網路作業系統。

目前市面上較知名的發行版有:UbuntuRedHat、CentOS、Debian、FedoraSUSE、OpenSUSE、Arch Linux、SolusOS 等。從商業角度來說,分為商業版(收費,如Rechart系列)和非商業版(免費,如CentOS)。

(二)虛擬機器


      關於虛擬機器,當前有兩款比較流行:VMware  Workstation 和 VirtualBox。

      在本篇文章中,我們將選擇VMware Workstation Pro 15(Wmware當前最新版本)作為演示虛擬機器。

     1.下載地址

     官網:https://www.vmware.com/products/workstation-pro.html。官網提供了兩種不同平台的虛擬機器,即windows和linux。

   2.序列號

    GV7N2-DQZ00-4897Y-27ZNX-NV0TD

   3.安裝步驟

       =》下載虛擬機器

      由於本次演示是基於windows的,因此下載windows版本的虛擬機器

=》安裝

下載好的虛擬機器安裝包如下,雙擊進行安裝。

注意:一般在安裝新軟體時,盡量把防毒軟體關閉。

彈出介面,選擇“下一步”

接受許可協定,下一步

 

選擇安裝路徑,選擇增強版(也可以不選),下一步

下一步

下一步

安裝

安裝中....

安裝結束,輸入許可證

輸入許可證

重新啟動電腦,安裝完畢。

 

(三) CentOS


     Linux映象官網:https://www.centos.org/download/

從官網,可以看出提供了三種型別的CentOS映象:

1.DVD ISO:常用版本,包含大部分功能,大小為4.2G左右;

2.Everything ISO:功能最全版本,大小為8.8G左右;

3.Minimal ISO:壓縮版本,大小為906M左右,很多功能需要線上安裝;

4.無論是哪個版本映象,均分為32位元(x86)和64位元(x64);

(四) 安裝CentOS


 1.啟動虛擬機器,檔案=》新建虛擬機器

典型,下一步

選擇安裝包,下一步

下一步

儲存單個檔案,下一步

自定義硬體設定

設定記憶體為8G,關閉

完成

安裝準備中(等待60秒,自動安裝,不要操作滑鼠)

準備中

選擇簡體中文(中國),繼續

基本設定結束後,選擇開始安裝

安裝中

設定Root密碼

完成設定

重新啟動

 登入

 

注意:如果安裝視覺化桌面,請按照如下步驟

軟體選擇

 GNOME

 登入

桌面

 

二  MySQL安裝


 1  搭建mysql

1.1  官網下載mysql壓縮包

下載壓縮包時,可以先把安裝包下載到本地,再上傳到伺服器,也可以在linux伺服器上wget:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

官網: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 將壓縮包移動到 /usr/local/mysql/

mv -v mysql-5.7.26-linux-glibc2.12-x86_64 /usr/lcoal/mysql

1.4 建立使用者組和新增使用者

groupadd mysql
useradd -r -g mysql mysql

1.5 將安裝目錄所有者及所屬組改為mysql,這個根據自己的目錄來

#chown -R mysql.mysql /usr/local/mysql

1.6  在mysql目錄下建立data資料夾

#mkdir data 

1.7 初始化資料庫

#/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
如果出現以下錯誤是因為5.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
# 取消密碼驗證
//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加入到服務

#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

1.10 開機啟動

#chkconfig mysql on

1.11 啟動mysql

#service mysql start

1.12 設定密碼

由於在第7步my.cnf組態檔中取消了密碼驗證,故登入mysql不需要密碼驗證。

/usr/local/mysql/bin/mysql -uroot

無密碼登入之後,修改密碼:

#use mysql;
#update user set authentication_string=password('root') where user='root';
或者#set password=password("root");
#flush privileges;
#exit

1.13 將第7步改為需要密碼驗證

1.14 新增遠端賬戶

使用root賬戶登入,並設定遠端登入賬戶

GRANT ALL PRIVILEGES ON *.* to 'Alan_beijing'@'%' IDENTIFIED by 'Shanghai2019' WITH GRANT OPTION

1.15 防火牆設定

方式一:關閉防火牆

//停止
systemctl stop firewalld.service
//禁止開機啟動
systemctl disable firewalld.service

方式二:開啟埠

//這裡發現防火牆是開啟的,再來檢視防火牆控制的埠
systemctl status firewalld
//檢視防火牆控制的埠,發現我想要監聽的8081埠沒有開啟
firewall-cmd --list-all
//永久開啟3306埠
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
//過載防火牆
sudo firewall-cmd --reload

1.16 重新啟動mysql服務

service mysql start

1.17 相關命令

  1 .安裝numactl和libaio

    yum -y install numactl
    yum search libaio
    yum install libaio

  2.設定環境變數

      export PATH=$PATH:/usr/local/mysql/bin

 3.啟動服務

方式一:服務方式

[root@localhost ~]service mysql start
如果服務在啟動狀態,直接重新啟動服務用以下命令:
[root@localhost ~]service mysql restart

方式二:命令列方式

[root@localhost bin]cd /usr/bin

[root@localhost bin]./mysqld_safe &

 4.關閉服務

方式一:服務方式

[root@localhost ~]service mysql stop

方式二:命令列方式

[root@localhost ~]mysqladmin -u root shutdown

 5.檢視服務

方式一:

[root@localhost bin]ps -ef|grep mysql

方式二:

[root@localhost bin]netstat -nlp

 6.進程查詢和殺死

(1) ps -ef |grep redis

ps:將某個進程顯示出來
-A  顯示所有程式。 
-e  此引數的效果和指定"A"引數相同。
-f  顯示UID,PPIP,C與STIME欄位。 
grep命令是查詢
中間的|是管道命令 是指ps命令與grep同時執行

這條命令的意思是顯示有關redis有關的進程

(2)kill[引數][進程號]

   kill -9 4394

kill就是給某個進程id傳送了一個信號。預設傳送的信號是SIGTERM,而kill -9傳送的信號是SIGKILL,即exit。

exit信號不會被系統阻塞,所以kill -9能順利殺掉進程。當然你也可以使用kill傳送其他信號給進程。

7.檢視mysql

方法一:status;
方法二:select version();

2  解除安裝mysql
2.1 RPM包安裝方式的MySQL解除安裝

 1.檢查是否安裝了MySQL元件
   # rpm -qa | grep -i mysql

 2.解除安裝前關閉MySQL服務
     # service mysql status 

     # service mysql stop

     # service mysql status

 3.解除安裝刪除MySQL各類元件

     # rpm -ev  元件名 
 4.收集MySQL對應的資料夾資訊

     # find / -name mysql
5.收集MySQL對應的資料夾資訊

     # rm -rf  路徑/檔名
6.刪除mysql使用者及使用者組

    # more /etc/passwd | grep mysql

    # more /etc/shadow | grep mysql 

    # more /etc/group | grep mysql  

    # userdel mysql

    # groupdel mysql

7.確認MySQL是否解除安裝刪除

    #  rpm -qa | grep -i mysql

2.2  yum包安裝方式的MySQL安裝
1.檢視yum上提供的資料庫可下載版本
    #  yum list | grep mysql

2.安裝mysql.i686,mysql-devel.i686,mysql-server.i686
   #  yum -y install mysql mysql-server mysql-devel

3.檢視是否開機啟動
   # chkconfig --list | grep mysqld

4.設定為開機啟動
   #  chkconfig mysqld on

5.設定資料庫密碼
  #  service mysqld start

  #  mysqladmin -u root -p password 'root'

2.3  service mysql start出錯: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   查詢發現mysql已經正常安裝
mysql-5.1.52-jason.1

[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld  修改mysqld執行許可權

[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遠端連線資料庫詳解(1130錯誤解決方法)
1.進入MySql控制台: mysql -u root -p

2.彈出Enter password:   輸入您的資料庫密碼

3.執行下命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的資料庫密碼' WITH GRANT OPTION;

4.再執行下下命令:  flush privileges;

5.mysql服務啟動、停止、重新啟動
(一)啟動方式

(1)使用 service 啟動:service mysqld start

(2)使用 mysqld 指令碼啟動:/etc/inint.d/mysqld start

(3)使用 safe_mysqld 啟動:safe_mysqld&

(二)停止

(1)使用 service 啟動:service mysqld stop

(2)使用 mysqld 指令碼啟動:/etc/inint.d/mysqld stop

(3)mysqladmin shutdown

(4)殺掉進程:

  #  ps -ef  |  grep mysqld

 #  kill -9  進程號 

(三)重新啟動

(1)(使用 service 啟動:service mysqld restart

(2)使用 mysqld 指令碼啟動:/etc/inint.d/mysqld restart

6.mysql 查詢的基本命令
   1)檢視記憶體
  #  top

 2)mysql的安裝路徑和執行路徑
  #  whereis mysqld

    3)PATH變數指定的路徑中,搜尋mysql的資訊
  #  which mysqld

    4)檢視組態檔
 #  vi /etc/my.cnf

7.解決修改mysql的datadir所引發的錯誤問題
 1)修改datadir指向的檔案路徑
   1))複製預設指定路徑裡面的檔案到新的指定路徑的資料夾中       

   2))修改指定的資料夾的修改許可權

    2)設定apparmor許可權
   1))檢視apparmor的設定:# vi /etc/apparmor.d/usr.sbin.mysqld

   2))設定新路徑許可權

    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.設定環境變數

vim /etc/profile.d/java.sh

4.使環境變數生效

source /etc/profile

5.測試jdk是否安裝成功

java -version

 

四 Tomcat安裝


 以安裝tomcat 8 為例

=》進入Tomcat官網,獲取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

=》啟動Tomcat

 

=>存取Tomcat

 用ip存取

 

 五 Redis安裝


 (一)  Redis服務搭建

     1.在根路徑建立目錄 myredis

        mkdir myredis

      2.進入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:當make命令出錯時,請新增如下命令:

        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服務設定


      Redis服務相關設定,主要集中在Redis.conf檔案中。 在除此設定Redis服務時,有六個引數是比較重要的:requirepass, bind,port,protected-mode,daemonize,logfile

      1.requirepass:設定redis登入密碼

      redis.conf中,requirepass引數預設是不需要的,即不需要密碼登入。

      ?

       這裡,我將其更改為123456

     ? 

       2.bind:設定ip

       redis.conf中,bind預設系結的ip為127.0.0.1

     ?

       為了讓遠端能夠存取,請使用Linux伺服器ip地址代替,檢視ip命令:ifconfig

    ? 

        3.port:設定埠號

         redis.conf預設埠號為6379,你可以改為你自己的埠號

      ?

        如下更改為6399

       ?

       4.protected-mode:設定保護模式

         redis.conf的protected-mode預設是開啟保護模式的,需要更改為非開啟模式

       ?

        如下設定為不保護模式

    ?   

       5.daemonize

         daemonize表示是否在後台啟動redis-server,預設表示為非在後台啟動服務,將其設定為後台執行

    ? 

       6.logfile

       redis.conf的logfile表示redis的組態檔,大家可以理解為sl4j.log等紀錄檔檔案,

       建立檔案:myredis.log

       vim  /myredis/redis-5.0.4/myredis.log

       ?

       設定logfile引數,其路徑為myredis.log路徑

       ?

(三)  防火牆設定


如下為防火前設定的基本流程
   1.檢視防火牆狀態

   防火牆狀態為running或not running,若非running,則設定為running

   ?

    2.向防火牆新增開放埠

   firewall-cmd --permanent --zone=public --add-port=6399/tcp

     --permanet參數列示永久,否則表示臨時

   ?

    3.載入設定

    firewall-cmd --reload

   ?

   4.檢視開啟的埠

    firewall-cmd --permanent --zone=public --list-ports

   ?

   5.啟動redis服務

   需要注意的是,啟動服務時,要帶上redis組態檔

   src/redis-server  redis.conf

   ?

   檢視組態檔,發現redis已經啟動成功

  ?

(四) 存取Redis服務


  1.通過xshell存取

   src/redis-cli -h 192.168.202.134 -p 6399 -a 123456

  如下為成功存取redis的截圖

  ?

  測試一下: 

  ?

  2.通過redisDeskManager來存取redis服務

  ?

  開啟db0,就能看到剛才set 的name

關於redis用戶端工具,目前市場上還是比較多的,這裡我推薦兩款:

 RedisDeskManager和RedisClient

(五)  相關命令


(1)關閉redis服務
  redis-cli -h ip -p port shutdown

六 版權區


  •  轉載部落格,必須註明部落格出處
  •  部落格園:http://www.cnblogs.com/wangjiming/ (側重.NET)
  •  CSDN:https://blog.csdn.net/u010228798  (側重JAVA)
  •  如您有新想法,歡迎提出,郵箱:2098469527@qq.com

IT145.com E-mail:sddin#qq.com