1. 程式人生 > 其它 >Centos8.4離線安裝JDK+Tomcat+MySQL8.0+Nginx

Centos8.4離線安裝JDK+Tomcat+MySQL8.0+Nginx

一、安裝JDK

注:以下命令環境在Xshell中進行。

1、查詢出系統自帶的OpenJDK及版本

rpm -qa | grep jdk

2、如果顯示已安裝openjdk則對其進行解除安裝。

輸入:rpm -e --nodeps + ‘要解除安裝的jdk全名’。


最後再用rpm -qa | grep jdk命令檢查一遍。

3、下載JDK。

下載對應版本即,可下載地址

4、上傳JDK到伺服器。

先進入要上傳的資料夾,我這裡上傳到/root/執行環境資料夾下(因為我要把jdk裝到這個資料夾下)。

cd /root/執行環境

5、上傳完成後檢視資料夾下資訊

ll命令檢視當前資料夾下的檔案。

6、解壓安裝

注:Xshell可以對檔案的名字可以用終端Ctrl+insert組合鍵複製,shift+insert組合鍵貼上。

tar -zxvf jdk-8u301-linux-x64.tar.gz

7、安裝完成後ll檢視

8、修改配置環境變數

1、vim /etc/profile(意思是 vim編輯某個檔案,如果和這個檔案在同一個資料夾下,直接跟檔名,不在同一個資料夾下,就輸入該檔案的完整路徑+檔名,有後綴需要帶字尾)。

vim /etc/profile

2、進入檔案後輸入英文字母i進行編輯,上下左右鍵控制方向。

3、在檔案最後,插入程式碼。

export JAVA_HOME=/root/執行環境/jdk1.8.0_301
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

4、編輯完成後按esc 鍵,然後按shift+:組合鍵會彈出輸入,輸入wq儲存並退出。

9、使環境變數生效

source /etc/profile

10、檢視是否安裝成功

最後使用java -version檢視,顯示版本,則配置成功。

java -version

11、安裝完成,刪除安裝包

rm jdk-8u301-linux-x64.tar.gz

刪除命令 : rm -rf +檔名稱 有後綴要帶字尾,就刪除了。


二、安裝Tomcat

1、下載Tomcat

去Tomcat官網下載Tomcat,然後上傳到伺服器。下載地址

3、上傳安裝包

下載完成後,在/root/執行環境 資料夾下進行上傳,如果不在此資料夾下輸入命令cd /root/執行環境 進入此資料夾下。

cd /root/執行環境

4、檢視資料夾資訊

上傳完成後輸入ls命令進行檢視

5、解壓安裝包

注:tar -zxv -f 是解壓命令,後面跟檔名稱帶字尾。

tar -zxvf apache-tomcat-9.0.52.tar.gz

6、進入bin資料夾下

1、安裝完成後進入cd /root/執行環境/apache-tomcat-9.0.52/bin目錄下

cd /root/執行環境/apache-tomcat-9.0.52/bin

2、然後輸入Tomcat的啟動檔案 ./startup.sh

./startup.sh

彈出下面的表示安裝成功。

8、開啟防火牆埠

安裝成功後開啟防火牆的8080埠(Tomcat的預設埠是8080,如果不是必要,還是不要更改),重啟防火牆

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

1、解決FirewallD is not running問題。

#檢視firewalld狀態,如果是dead狀態,即防火牆未開啟。
systemctl status firewalld
#開啟防火牆
systemctl start firewalld
#確認firewalld狀態。
systemctl status firewalld

2、重新啟動tomcat。(可以一步一步找到./startup.sh檔案啟動,也可以使用命令啟動)。

./startup.sh

#也可以
systemctl start tomcat

3、輸入netstat -lnpt可以檢視已開放的埠。

netstat -lnpt

4、然後在瀏覽器輸入伺服器ip地址+8080即可訪問。

彈出此頁面表示成功。

9、雲伺服器下的系統

如果是阿里的新開伺服器,阿里的伺服器控制檯8080埠預設是不開放的,在伺服器內防火牆開放埠也不能訪問,需要登陸阿里官網,進入伺服器控制檯設定。(一般騰訊雲的伺服器是預設開啟的)

10、VM虛擬機器下的系統

如果是在VM虛擬機器模擬,那麼得輸入命令手動開啟8080埠了,因為Centos系統預設開放的埠只有:21和22。需要將8080埠號加入配置,執行以下程式碼可解決:

#執行命令來開啟8080埠
firewall-cmd --permanent --zone=public --add-port=8080/tcp

#重啟防火牆
firewall-cmd --reload

#驗證開啟的8080埠是否生效
firewall-cmd --zone=public --query-port=8080/tcp

11、最後配置Tomcat的自啟動

1、為Tomcat新增啟動引數pid。

#進入tomcat/bin 目錄
cd /root/執行環境/apache-tomcat-9.0.52/bin

#建立並編輯,tomcat啟動的時候會呼叫
vi setenv.sh

2、進入後按i插入下面程式碼。

#add tomcat pid  
 
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
 
#add java opts  
 
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

3、插入成功後,先按esc,然後按shift+:組合鍵,然後輸入wq後,enter儲存退出。

#進入/usr/lib/systemd/system目錄
cd /usr/lib/systemd/system

#增加tomcat.service檔案
vi tomcat.service

4、插入的程式碼段:(記得有三處位置需要更改,如果位置一樣就不用改了)。

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking

#/root/執行環境/jdk1.8.0_301改為自己的jdk路徑
Environment="JAVA_HOME=/root/執行環境/jdk1.8.0_301"

# /root/執行環境/apache-tomcat-9.0.52/tomcat.pid改為自己的Tomcat路徑。
PIDFile=/root/執行環境/apache-tomcat-9.0.52/tomcat.pid

#/root/執行環境/apache-tomcat-9.0.52//bin/startup.sh改為自己的Tomcat路徑。
ExecStart=/root/執行環境/apache-tomcat-9.0.52/bin/startup.sh


ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

5、最後配置開機啟動使其生效(配置完成可以重啟伺服器試一下)。

systemctl enable tomcat.service
#常用命令

#啟動tomcat:  
systemctl start tomcat

#停止tomcat:  
systemctl stop tomcat

#重啟tomcat:  
systemctl restart tomcat

#檢視tomcat狀態:
systemctl status tomcat

12、補充

有的系統重啟後Tomcat啟動很慢,需要好幾分鐘才能訪問

#進入jdk的安裝目錄,找到java.security並進行編輯
cd /root/執行環境/JDK/jre/lib/security

vim java.security
把securerandom.source=file:/dev/random

改成securerandom.source=file:/dev/./urandom

大概在150行,修改完wq重啟系統發現速度變快。


三、安裝MySQL

1、檢查是否安裝過

#檢查是否安裝過
rpm -qa | grep -i mysql

#解除安裝之前的安裝
rpm -e --nodeps 軟體名 //強力刪除,對相關依賴的檔案也進行強力刪除

2、解除安裝系統自帶的Mariadb

rpm -qa| grep mariadb     //查詢出已安裝的mariadb

rpm -e --nodeps 檔名    //解除安裝 , 檔名為使用rpm -qa|grep mariadb 命令查出的所有檔案

3、下載安裝包

下載地址

選擇如下選項。

4、在 /root/執行環境 新建目錄“MySQL”

mkdir MySQL

5、上傳安裝包

將下載的二進位制壓縮包放到/root/執行環境/MySQL 目錄下。

6、依次安裝客戶端(mysql-client)

#-nodeps:不檢測依賴性安裝。	-force:強制安裝。
rpm -ivh mysql-community-common-8.0.26-1.el8.x86_64.rpm --nodeps --force

rpm -ivh mysql-community-libs-8.0.26-1.el8.x86_64.rpm --nodeps --force

#(前兩個是其依賴)

#安裝客戶端mysql-client
rpm -ivh mysql-community-client-8.0.26-1.el8.x86_64.rpm --nodeps --force

此命令還可以使用一次性安裝多個軟體包,僅需將包全名用空格分開即可,如下所示:

rpm -ivh a.rpm b.rpm c.rpm

7、安裝服務端(mysql-server)

#安裝服務端(mysql-server)
rpm -ivh mysql-community-server-8.0.26-1.el8.x86_64.rpm --nodeps --force
 rpm -qa | grep -i mysql

8、檢視是否安裝成功

#有以下方式檢視:
ps -ef | grep mysql

cat /etc/group | grep mysql

mysqladmin --version

9、初始化mysql

#建立資料檔案目錄和mysql系統資料庫 產生隨機root密碼
mysqld --initialize

10、啟動mysql服務

systemctl start mysqld

失敗原因:這是因為/var/lib/mysql目錄許可權不夠。

變更mysql目錄的所屬者為使用者root以及設定目錄許可權。

#變更目錄許可權為mysql使用者組下的root使用者
chown -R mysql.root /var/lib/mysql


#授權目錄
chmod 750 -R /root/執行環境/MySQL

11、啟動mysql服務

#啟動
systemctl start mysqld

#檢視mysql服務
ps -ef | grep mysql

12、檢視初始化隨機生成的root密碼

cat /var/log/mysqld.log | grep password

13、安全設定

mysql_secure_installation

14、mysql登入

#隨機密碼登入
mysql -uroot -p

15、重置密碼(Mysql8.0+有變化)

#先把root的舊密碼置空

use mysql;

update user set authentication_string='' where user='root';

#備註:Mysql5.7+ password欄位 已改成 authentication_string欄位
#重置成新密碼
#備註:Mysql8.0修改密碼方式已有變化(此處是個坑,需要注意)
#Mysql8.0之前;
update user set password=password('root') where user='root';

#Mysql8.0之後;
alter user 'root'@'localhost' identified by 'root';
  • 修改密碼策略配置
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 錯誤原因,版本8.0 預設設定密碼不能相同於使用者名稱

    validate_password.check_user_name | ON // 校驗密碼不能等同於使用者名稱
    validate_password.policy | LOW // 設定低級別策略
    validate_password.length | 4 // 設定最低長度為4

    #顯示密碼策略
    SHOW VARIABLES LIKE 'validate_password%'; 
    
    #校驗密碼不能等同於使用者名稱
    set global validate_password.check_user_name=OFF;
    
    #設定最低長度為4
    set global validate_password.length=4;
    
  • 重新修改密碼

    設定完密碼策略後重新輸入修改命令

    alter user 'root'@'localhost' identified by '123456';
    

16、退出後使用新密碼再登入mysql

#退出命令列
mysql> quit;
Bye

mysql -uroot -p123456

17、如何停止、重啟和檢視mysql服務

#停止服務
systemctl stop mysqld

#重啟服務
systemctl restart mysqld

#檢視mysql服務
systemctl status mysqld

18、mysql的相關安裝目錄檔案

1、相關命令 /usr/bin

ls /usr/bin/my*

2、配置檔案目錄 /usr/share/mysql-8.0/

ls /usr/share/mysql-8.0/

3、mysql的啟動配置檔案 /etc/my.cnf

ls /var/lib/mysql/

19、刪除上傳的安裝包

#這裡直接刪除所在的資料夾
rm -rf MySQL

四、安裝Nginx

網上有很多通過tar.gz包內網安裝nginx的,但前提需要安裝好多依賴,gcc、g++、perl、pcre、zlib、openssl安裝看的頭疼,特別容易卡住進行不下去。現記錄rpm包安裝方式。

1、下載安裝包

下載Nginx的rpm格式

2、上傳安裝包

將下載好的rpm包放入伺服器/root/執行環境/Nginx中

cd /root/執行環境/Nginx

3、安裝Nginx

#執行安裝命令
rpm -ivh nginx-1.20.1-1.el8.ngx.x86_64.rpm

4、啟動nginx並檢視是否啟動成功

#啟動
nginx

#檢視是否啟動成功
ps -ef | grep nginx

#重新載入配置檔案並重啟
nginx -s reload

#重啟
nginx -s reopen

#關閉nginx
nginx -s stop

#程序結束後關閉
nginx -s quit

#檢視當前nginx配置是否有錯誤
nginx -t

#檢查配置是否有問題,如果已在配置目錄,則不需要 -c
nginx -t -c <配置路徑>

#查詢nginx位置
whereis nginx

注:靜態nginx地址:/usr/share/nginx/html——>index.html。

5、編寫初始化的Nginx網頁介面

#curl http://IP地址

curl http://192.168.137.200

6、開啟防火牆的80埠

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

firewall-cmd --reload

7、配置Nginx開機自啟動

1、進入到/lib/systemd/system/目錄

cd /lib/systemd/system/

2、建立nginx.service檔案,並編輯

vim nginx.service

3、檔案內容

[Unit]

Description=nginx service

After=network.target

[Service]

Type=forking

ExecStart=/opt/nginx/sbin/nginx

ExecReload=/opt/nginx/sbin/nginx -s reload

ExecStop=/opt/nginx/sbin/nginx -s stop

PrivateTmp=true

[Install]

WantedBy=multi-user.target

[Unit]:服務的說明

Description:描述服務

After:描述服務類別

[Service]服務執行引數的設定

Type=forking是後臺執行的形式

ExecStart為服務的具體執行命令

ExecReload為重啟命令

ExecStop為停止命令

PrivateTmp=True表示給服務分配獨立的臨時空間

注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑

[Install]執行級別下服務安裝的相關設定,可設定為多使用者,即系統執行級別為3

儲存退出。

8、加入開機自啟動

systemctl enable nginx.service
  • 服務的啟動/停止/重新整理配置檔案/檢視狀態

    #啟動nginx服務
    systemctl start nginx.service
    
    #停止服務
    systemctl stop nginx.service
    
    #重新啟動服務
    systemctl restart nginx.service
    
    #檢視所有已啟動的服務
    systemctl list-units --type=service
    
    #檢視服務當前狀態
    systemctl status nginx.service
    
    #設定開機自啟動
    systemctl enable nginx.service
    
    #停止開機自啟動
    systemctl disable nginx.service
    
    

9、可以將上傳的安裝包刪除

#這裡直接刪除所在的資料夾
rm -rf Nginx