Linux系統搭建Java環境【JDK、Tomcat、MySQL】一篇就夠

Linux系統搭建Java環境【JDK、Tomcat、MySQL】一篇就夠
前言:全部項目在完成開發後都會部署上線的,通常都是用Linux系統做爲服務器的,不多使用Windows Server(大多數項目的開發都是在Windows桌面系統完成的),通常有專門負責上線的人員。做爲一個開發人員固然也能玩轉Linux,畢竟Linux是不少IT人員的喜愛。
  下面就使用純淨的Linux系統完成Java Web項目的部署。html

安裝一個VMware workstation
在虛擬機上面安裝CentOS系統 (這裏使用的CentOS6.7 64位)
安裝Java開發環境JDK 1.8
Tomcat8.5 其餘服務器也能夠
數據庫安裝MySQL5.7 (Oracle、MS Server也能夠)
1、搭建Linux環境
  1.下載並安裝一個VMware workstation, 這個是虛擬機的平臺(自行度娘下載~),虛擬機是在後面要在裏面搭建Linux系統。java

  2.下載一個centos安裝包,linux版本有多種,好比說redhat、ubuntu、deepin、BT3,我的比較習慣使用centos,這裏下載一個 CentOS-6.4-i386-bin-DVD1.iso,6.4版本的。node

  3.新建一個虛擬機,並把這個安裝包導入進去,記住期間步驟有一步是須要建一個用戶和設置密碼,這裏的用戶是linux環境的普通帳戶,可是密碼是根帳戶root和這個普通用戶共用的密碼(這節的教程也在個人博客上一節有詳細的步驟)mysql

  4.安裝完成後,是圖形化界面,通常咱們要用到的是命令行界面,因此這裏能夠用快捷鍵 CTRL+ALT+F2,就能夠切換到命令界面了。(命令行界面有幾種方式能夠進入,這邊小七推薦的是Xshell5 比較方便使用。須要的能夠留言!)
XShell 5linux

  5.用命令ifconfig查看IP 地址,而後能夠考慮用Xshell來鏈接虛擬機,這樣操做命令會比較方便,不用頻繁的切換出來或者切換出去。sql

  上面的安裝及配置有問題的能夠自行百度,網上資源不少。主要是搭建好Linux系統環境…shell

2、JDK安裝
首先下載一個JDK版本,我這裏下載的是jdk-8u221-linux-x64.gz 這個版本。(JDK1.8目前用得比較多!)
也能夠自行到JDK官網下載 http://www.oracle.com/technet...數據庫

用xftp上傳到linux環境中去。上傳的路徑爲: /usr/java在這裏插入圖片描述
將剛纔下載好的 壓縮包解壓,獲得一個jdk1.8.0_221的文件夾。使用tar -xzvf命令解壓
而後用Xftp上傳至linux環境中去。有兩種方式
第一種,經過功能欄紅框內的「向右傳輸」 傳過去
第二種,直接拖動文件夾,拖過去。
很是重要的一點,linux環境中的路徑 是 /usr/java…在這裏插入圖片描述
JDK傳過去以後,如今就開始着手配置JDK環境了apache

配置JDK環境,須要給予這個文件夾最高的權限,爲了後續的方便,這邊直接賦予最高權限
首先,經過XFTP打開Xshell(打開方式上一節有講到)
1)切換到"/「目錄下 cd …/…
2)切換到local路徑下 cd /usr/java
3)賦予JDK文件最高權限 chmod 777 -R jdk1.8.0_221ubuntu

配置JDK環境變量:
1)切換到"/「目錄下 cd …/…
2)切換到etc路徑下 cd etc
3)編輯profile文件 vim profile
4)按下鍵盤的 insert 鍵,進入編輯模式
5)配置JDK的環境變量,在profile中輸入以下內容(空白位置填入便可,添加在最後):建議配置變量參考下面的配置方式
export JAVA_HOME=/usr/java/jdk1.8.0_221 【特別說明:這個就是你的jdk的安裝路徑!!!不要弄錯了!要以你本身的路徑爲準!】
6) 按住鍵盤的ESC鍵,而後輸入 :wq,就保存了你剛剛設置的環境變量
7)讓你剛剛設置的環境變量生效 source profile
8)如何查看你的JDK是否配置完成呢?輸入命令 java -version,看到下面的對應安裝JDK版本的截圖,就說明你配置成功了!

在etc下面的profile裏面最後面配置export…

export JAVA_HOME=/usr/java/jdk1.8.0_221
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
在這裏插入圖片描述在這裏插入圖片描述
經過java -version檢查是否安裝成功! 到此,JDK的配置就算完成了
在這裏插入圖片描述

3、服務器安裝
Tomcat8.5下載 https://tomcat.apache.org/dow...
在這裏插入圖片描述

下面來介紹下Tomcat的配置

首先下載 一個tomcat版本,我這裏用的是apache-tomcat-6.0.37版本apache-tomcat-6.0.37.tar.gz是對應的壓縮包。

能夠用XFTP 直接把已經解壓的apache-tomcat-6.0.37上傳到 /usr/local路徑,上傳完畢,而後這裏就須要對環境變量進行配置,而後後面的tomcat纔會順利啓動

配置tomcat環境變量:
1)切換到"/「目錄下 cd …/…
2)換到etc路徑下 cd etc
3)編輯profile文件 vi profile
4)按下鍵盤的 i 鍵,進入編輯模式
5)配置tomcat的環境變量,在profile中輸入以下內容(配置JDK環境變量後面添加多這行便可):建議配置變量參考下面紅色字體的配置方式
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.37 【特別注意:這裏就是就是配置你的tomcat的安裝路徑!不要弄錯了!】,以下圖所示:
7)編輯完畢後,按住鍵盤的ESC鍵,而後輸入 :wq,就保存了你剛剛設置的tomcat環境變量
8)讓你剛剛設置的環境變量生效 source profile

注意:上面的JDK配置及tomcat路徑的配置可能存在點問題 ,建議啓用下面的配置方式

配置JDK環境變量及配置tomcat路徑:
1)首先回到home路徑,即頂級目錄,命令: cd ~
2)而後打開並編輯環境變量的文件,輸入命令: vi .bashrc
3)進入環境變量編輯環境,加入以下環境變量:

export JAVA_HOME=/usr/local/jdk1.6.0_45
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.37
4)編輯完畢,就保存內容,命令: 先按ESC,而後輸入 」:wq「就能夠保存了。
5)配置完畢後要讓配置生效,用命令:source ~/.bashrc

4.能夠啓動一下tomcat,看是否配置成功了:

1)切換到"/「目錄下 cd …/…
2 ) 切換到啓動命令所在的bin路徑:cd /usr/local/apache-tomcat-6.0.37/bin
3 ) 輸入tomcat 啓動命令 ./startup.sh,若是遇到下面的提示,就說明你對bin文件裏面的命令操做權限不夠,就須要賦予權限:
4 ) 返回到bin的上級目錄 cd …
5 ) 賦予 bin文件的最高權限 chmod 777 -R bin
6 ) 切換到bin路徑下 cd bin
7 ) 而後再次執行tomcat啓動命令: ./startup.sh,出現以下截圖,則代表啓動成功。
8 ) 通常默認的端口則是8080,因此直接在你的PC端電腦的瀏覽器輸入 你的ip地址加上端口號,便可以訪問到tomcat的首頁了。 http://【你的linux服務器IP地址】:8080
PS:ip地址 是你Linux服務器的ip地址,如何獲取?—>在Linux中輸入ifconfig 就能夠獲取到了!
10) 可是任何配置都不會這麼輕鬆就配置成功的,會出現防火牆關閉或者端口被佔用的問題,這裏咱們能夠切換到 tomcat下的bin 目錄,執行下面這個命令,查看tomcat日誌: ./catalina.sh run, 通常日誌格式以下:
注:若是訪問不了,能夠嘗試關閉防火牆,在Linux下輸入命令: service iptables stop,而後再訪問就能夠了!
11)在瀏覽器輸入IP地址加端口號,若是看到tomcat 的首頁,則代表成功了,以下所示:
在這裏插入圖片描述

4、數據庫
安裝開源數據庫MySQL

選擇yum安裝
經過tar.gz壓縮包進行安裝
4.1 yum安裝
  校驗當系統是否安裝mysql:

rpm -qa | grep mysql
  卸載mysql:

// 強力刪除模式,若是使用上面命令刪除時,提示有依賴的其它文件,則用該命令能夠對其進行強力刪除
rpm -e --nodeps
  三行命令:

yum install mysql
yum install mysql-server
yum install mysql-devel
  也能夠一行:

yum install -y mysql mysql-server mysql-devel
在這裏插入圖片描述

4.2 經過tar.gz壓縮包進行安裝
操做系統:Centos6.4 64位
工具:Xftp五、Xshell5
安裝軟件:mysql5.7
說明:使用官方編譯好的二進制文件進行安裝

在這裏插入圖片描述

移動安裝文件到指定目錄
在這裏插入圖片描述

檢查是否安裝Mysql
rpm -qa | grep mysql
解壓
tar -xvzf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

重命名mysql57

[root@VM_0_17_centos mysql]# mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql57
在這裏插入圖片描述

進行到這裏說明:
 將mysql的壓縮包解壓到/usr/mysql/目錄下面,而且rm重命名爲mysql57
  此時數據庫的文件目錄爲 /usr/mysql/mysql57

設置mysql目錄訪問權限,用戶組

將mysql目錄訪問權限賦爲myql用戶

[root@VM_0_17_centos mysql57]# chown -R mysql /usr/mysql/mysql57

改變mysql目錄的用戶組屬於mysql組

[root@VM_0_17_centos mysql57]# chgrp -R mysql /usr/mysql/mysql57

查看mysql目錄下全部的目錄及文件夾所屬組合用戶

[root@VM_0_17_centos mysql57]# cd /usr/mysql/mysql57

[root@VM_0_17_centos mysql57]# ll
total 56
drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:24 bin
-rw-r--r-- 1 mysql mysql 17987 Dec 28 2017 COPYING
drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:40 data
drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:24 docs
drwxr-xr-x 3 mysql mysql 4096 Aug 11 21:23 include
drwxr-xr-x 5 mysql mysql 4096 Aug 11 21:24 lib
drwxr-xr-x 4 mysql mysql 4096 Aug 11 21:23 man
-rw-r--r-- 1 mysql mysql 2478 Dec 28 2017 README
drwxr-xr-x 28 mysql mysql 4096 Aug 11 21:24 share
drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:24 support-files
權限被修改

配置mysql(重點部分)
建立如下文件,設置訪問權限,用於mysql配置中

第一步:建立文件/tmp/mysql.sock。並設置權限

建立文件

[root@VM_0_17_centos mysql57]# mkdir tmp
[root@VM_0_17_centos mysql57]# cd tmp

[root@VM_0_17_centos tmp]# ll
total 0

[root@VM_0_17_centos tmp]# touch mysql.sock

[root@VM_0_17_centos tmp]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 11 21:59 mysql.sock
設置權限

[root@VM_0_17_centos tmp]# chown -R mysql:mysql /usr/mysql/mysql57/tmp/mysql.sock

[root@VM_0_17_centos tmp]# chmod 755 /usr/mysql/mysql57/tmp/mysql.sock
第二步:建立/log/mysqld.log。並設置權限

[root@VM_0_17_centos mysql57]# mkdir log
[root@VM_0_17_centos mysql57]# cd log

[root@VM_0_17_centos log]# ll
total 0

[root@VM_0_17_centos log]# touch mysqld.log
[root@VM_0_17_centos log]# chown -R mysql:mysql /usr/mysql/mysql57/log/mysqld.log
[root@VM_0_17_centos log]# chmod 755 /usr/mysql/mysql57/log/mysqld.log
若是出錯,說明路徑沒有寫全,要寫絕對路徑

第三步:建立/tmp/mysqld.pid。並設置權限

[root@VM_0_17_centos log]# cd ../tmp
[root@VM_0_17_centos tmp]# touch mysqld.pid
[root@VM_0_17_centos tmp]# chown -R mysql:mysql /usr/local/mysql57/tmp/mysqld.pid
[root@VM_0_17_centos tmp]# chmod 755 /usr/local/mysql57/tmp/mysqld.pid
初始化mysql
[root@VM_0_17_centos mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/mysql/mysql57/ --datadir=/usr/local/mysql57/data/
可能會報錯。報錯信息

bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
  解決方法:
緣由:
yum安裝的是libnuma.so.1,但安裝時默認安裝的是32的,而db2須要的是64位的

1.若是已經安裝了libnuma.so.1,先yum remove libnuma.so.1
[root@VM_0_17_centos mysql57]# yum remove libnuma.so.1
2.安裝依賴包 yum -y install numactl.x86_64
[root@VM_0_17_centos mysql57]# yum -y install numactl.x86_64
3.安裝完成後從新,執行
[root@VM_0_17_centos mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/mysql/mysql57/ --datadir=/usr/local/mysql57/data/
  安裝成功 臨時密碼
在這裏插入圖片描述

 配置SSL參數(在mysql目錄下)

[root@VM_0_17_centos mysql57]# bin/mysql_ssl_rsa_setup --datadir=/usr/mysql/mysql57/data/
 因爲mysql-5.7.23版本my.cnf不在/support-files下,故咱們建立my.cnf文件。

[root@VM_0_17_centos mysql57]# touch /etc/my.cnf
[root@VM_0_17_centos mysql57]# vim /etc/my.cnf
  複製以下內容(每一個人安裝路徑可能不同,須要修改):

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql57
datadir=/usr/local/mysql57/data
port = 3306
socket=/tmp/mysql.sock
log-error=/usr/local/mysql57/log/mysqld.log
pid-file=/usr/local/mysql57/tmp/mysqld.pid

表名不區分大小寫

lower_case_table_names = 1
max_connections=5000
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
配置完成

啓動mysql
方式一
[root@VM_0_17_centos mysql57]# bin/mysqld_safe --user=mysql &
查看mysql的運行狀況

[root@VM_0_17_centos mysql57]# ps -ef |grep mysql
第一我沒有成功,由於我有個地方出問題了。我在方式二配置成功。

方式二
配置mysql自動啓動(可根據須要配置)
[root@VM_0_17_centos mysql57]# cp support-files/mysql.server /etc/init.d/mysql
[root@VM_0_17_centos mysql57]# vim /etc/init.d/mysql
添加配置(i 進入編輯;esc–> :wq保存退出)

若配置了mysql自啓動方式則可使用服務方式啓動mysql

查看mysql狀態

/etc/init.d/mysql status 或者 service mysql status

啓動mysql

/etc/init.d/mysql start 或者 service mysql start

中止mysql

/etc/init.d/mysql stop 或者 service mysql stop

從新啓動mysql

/etc/init.d/mysql restart 或者 service mysql restart
查看mysql服務說明啓動成功
ps -ef|grep mysql
啓動mysql
[root@VM_0_17_centos tmp]# service mysql start
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql57/tmp/mysqld.pid).
報錯了,上面說沒有/usr/local/mysql57/tmp/mysqld.pid。

  解決方案:

a) 建立文件/usr/local/mysql57/tmp/mysqld.pid

b) 修改權限

修改存放mysqld.pid文件目錄的權限

chown -R mysql /usr/local/mysql57/tmp
chgrp -R mysql /usr/local/mysql57/tmp
chmod 777 /usr/local/mysql57/tmp
從新啓動成功(若是還不行,就是中間某個步驟寫錯了。或者直接把mysql目錄權限賦爲777)

[root@VM_0_17_centos tmp]# /etc/init.d/mysql start
Starting MySQL. SUCCESS!
配置mysql到環境變量
[root@VM_0_17_centos tmp]# vim /etc/profile
在這裏插入圖片描述

export MYSQL57_HOME=/usr/mysql/mysql57/bin
export PATH=$PATH:${MYSQ57_HOME}
這個地方是冒號 ( :)

設置環境變量當即生效

[root@VM_0_17_centos tmp]# source /etc/profile
mysql忘記密碼
切換到mysql下的bin目錄

[root@localhost bin]# ./mysql -u root -p
Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
密碼錯誤。。並且以前安裝的密碼也忘記了

  解決方案:

第一步:跳過MySQL的密碼認證過程
(注:windows下修改的是my.ini)

[root@VM_0_17_centos bin]# vim /etc/my.cnf
在[mysqld]後面任意一行添加「skip-grant-tables 」用來跳過密碼驗證的過程,以下圖所示:
在這裏插入圖片描述

保存並退出(esc–> :wq)

第二步:重啓mysql
[root@VM_0_17_centos bin]# /etc/init.d/mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
第三步:登陸mysql
進入mysql/bin目錄,啓動mysql

[root@VM_0_17_centos bin]# ./mysql
啓動成功

第四步:使用sql語句修改密碼
mysql> use mysql;
mysql> update user set authentication_string=password(" 你的新密碼 ") where user="root";
mysql> flush privileges;
mysql> quit
第五步:從新編輯my.cnf
去掉[mysqld]後面的「skip-grant-tables」

[root@VM_0_17_centos bin]# vim /etc/my.cnf
在這裏插入圖片描述

重啓mysql

[root@VM_0_17_centos bin]# /etc/init.d/mysql restart
設置mysql遠程登陸
先本地登陸mysql

[root@localhost bin]# ./mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.7.21

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
1.報錯
忽然報錯

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解決方案:須要從新修改一下密碼

mysql> alter user 'root'@'localhost' identified by '修改的密碼';
mysql> flush privileges;
mysql> quit;
2.繼續配置
mysql> use mysql;

改表法

mysql> update user set host='%' where user='root';

受權法

mysql> GRANT ALL PRIVILEGES ON . TO 'myuser'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> quit;
3.重啓mysql
[root@VM_0_17_centos bin]# service mysql restart;
4.設置防火牆
a)配置防火牆開啓3306端口

[root@VM_0_17_centos bin]# /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT

[root@VM_0_17_centos bin]# /etc/rc.d/init.d/iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

[root@VM_0_17_centos bin]# /etc/rc.d/init.d/iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
b)臨時關閉防火牆

[root@VM_0_17_centos bin]# service iptables stop
c)永久關閉防火牆

重啓後永久生效

[root@VM_0_17_centos bin]# chkconfig iptables off
使用Navicat工具鏈接便可
在這裏插入圖片描述

5.部署項目下面是將項目打包部署到服務器上面了,有空的話我會接着寫下面的內容!!

相關文章
相關標籤/搜索