1. 程式人生 > >CentOS 7 離線安裝Java Web伺服器環境(JRE8+Tomcat8+MySQL5.6)

CentOS 7 離線安裝Java Web伺服器環境(JRE8+Tomcat8+MySQL5.6)

本篇教程不採用yum線上安裝,我們可以自由選擇安裝的版本。例如:這裡我們採用的是Server JRE,專門針對伺服器的Java執行環境,yum只能安裝OpenJDK;容器採用Tomcat8,yum目前只能安裝7;資料庫選擇的是MySQL,而不是預設的MariaDB。總之yum的線上安裝雖然方便,但只能安裝yum倉庫中的特定版本,沒有離線安裝包來的靈活,具體採用哪種安裝方式就要視實際情況而定了。

開啟網路

在VMware中成功安裝CentOS 7.4後(由於本人採用的是最小化安裝,有些工具需要另外自行安裝,後面會提到),首先需要將網路設定為開機自動啟動:
cd /etc/sysconfig/network-scripts


vi ifcfg-ens33
將ONBOOT由no改為yes

這裡寫圖片描述

:wq
systemctl restart network 重啟網路

上傳安裝包

ip addr檢視ip
根據ip連線xshell,並點選圖示位置開啟xftp

這裡寫圖片描述

然後進入/usr目錄

這裡寫圖片描述

上傳下載好的server-jre-8u144-linux-x64.tar.gz、apache-tomcat-8.0.47.tar.gz、MySQL-server-5.6.37-1.el7.x86_64.rpm、MySQL-client-5.6.37-1.el7.x86_64.rpm
關閉xftp,回到xshell,將tar.gz進行解壓:
cd /usr


tar -xzvf server-jre-8u144-linux-x64.tar.gz
tar -xzvf apache-tomcat-8.0.47.tar.gz

配置Java環境變數

vi /etc/profile
檔案末尾新增:

export JAVA_HOME=/usr/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar

這裡寫圖片描述

:wq退出
執行下面的命令使所做的更改生效:
. /etc/profile
java -version

檢視環境變數是否生效

Tomcat開機啟動

在/usr/lib/systemd/system目錄下增加tomcat.service
vi /usr/lib/systemd/system/tomcat.service,內容如下:

[Unit]
Description=tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment='JAVA_HOME=/usr/jdk1.8.0_144'
Environment='CATALINA_PID=/usr/apache-tomcat-8.0.47/bin/tomcat.pid'
Environment='CATALINA_HOME=/usr/apache-tomcat-8.0.47/'
Environment='CATALINA_BASE=/usr/apache-tomcat-8.0.47/'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

WorkingDirectory=/usr/apache-tomcat-8.0.47/

ExecStart=/usr/apache-tomcat-8.0.47/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

:wq
啟動Tomcat
systemctl start tomcat
設定開機自啟:
systemctl enable tomcat
檢查狀態:
systemctl status tomcat -l

其他命令:
停止服務:systemctl stop tomcat
重啟服務:systemctl restart tomcat

這時主機無法訪問到VMware中Tomcat的主頁,原因在於CentOS啟用了防火牆,我們需要將8080埠開放出來,注意CentOS 7防火牆採用了firewall而不是之前版本的iptables,命令如下:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
systemctl restart firewalld重啟防火牆
主機中訪問http://虛擬機器ip:8080,測試是否成功

這裡寫圖片描述

解除安裝Mariadb

解除安裝系統自帶的Mariadb:
1、查詢出已安裝的mariadb:
rpm -qa|grep mariadb
2、解除安裝:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

安裝MySQL

由於本人安裝的CentOS版本為最小化安裝,無法直接rpm安裝MySQL,因此需要自己手動預先安裝依賴工具
安裝perl:
yum -y install perl
安裝net-tools:
yum -y install net-tools
安裝perl-Data-Dumper
yum -y install perl-Data-Dumper
依賴工具完成後,就可以安裝資料庫了:
1、進入安裝包目錄
cd /usr
2、安裝資料庫客戶端
rpm -ivh MySQL-client-5.6.37-1.el7.x86_64.rpm
3、安裝資料庫伺服器
rpm -ivh MySQL-server-5.6.37-1.el7.x86_64.rpm
到此資料庫安裝完畢!

配置MySQL

開啟資料庫:
systemctl start mysql
設定開機啟動:
systemctl enable mysql
檢查狀態:
systemctl status mysql -l
檢視資料庫臨時密碼:
vi /root/.mysql_secret

這裡寫圖片描述

mysql_secure_installation 進入安全配置嚮導

Enter current password for root (enter for none): 輸入上一步得到的臨時密碼
Change the root password? [Y/n] 輸入y,修改root密碼
New password: 輸入新密碼
Re-enter new password: 再次輸入
Remove anonymous users? [Y/n] 輸入y,移除匿名使用者
Disallow root login remotely? [Y/n] 輸入n,可以使用root使用者遠端連線
Remove test database and access to it? [Y/n] 輸入y,刪除test資料庫
Reload privilege tables now? [Y/n] 輸入y,立即重新整理許可權表

登入資料庫:
mysql -u root -p
輸入修改後的密碼,然後設定遠端主機登入,注意下面的password改成你的root密碼:
GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;重新整理許可權表
\q退出資料庫
這裡我們需要開放3306埠,才能遠端主機進行登入:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld重啟防火牆