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、下載安裝包
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