1. 程式人生 > >centos7 安裝jdk和tomcat mysql(親測)

centos7 安裝jdk和tomcat mysql(親測)

安裝jdk

1:首先到官網下載https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html 

jdk-8u181-linux-x64.tar.gz

2:FTP到指定位置 sudo mkdir /usr/local/java 

3:解壓 sudo tar zxvf jdk-8u181-linux-x64.tar.gz 

4:修改環境變數  vi /etc/profile 建議安裝vim   yum -y install vim

用 vim /etc/profile   修改之後 :wq

 

--------------複製內容開始---------

JAVA_HOME=/usr/local/java/jdk1.8.0

JRE_HOME=/usr/local/java/jdk1.8.0/jre

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export PATH JAVA_HOME CLASSPATH

--------------複製內容結尾------------------

使環境變數生效  source /etc/profile

驗證是否正確:echo $JAVA_HOME echo $CLASSPATH echo $PATH

 

檢驗最後是否成功 java -version

 


安裝tomcat

1:官方下載tar.gz包,上傳到/usr/local/tomcat目錄

2:解壓  tar -zxv -f apache-tomcat-8.0.53.tar.gz

3:重新命名資料夾為apache-tomcat

4 在/etc/profile檔案後再追加一條TOMCAT的環境變數
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat
備註:CATALINA是Tomcat的啟動程式,Tomcat的啟動指令碼都是使用CATALINA_HOME作為變數,所以這裡我們要設定CATALINA_HOME

使用source命令完成是配置生效

source /etc/profile

5:將Tomcat配置為服務

將Tomcat配置為系統服務後,就方便使用service命令來啟動或關閉Tomcat服務省的每次啟動後還要到tomcat的bin目錄下找startup指令碼

# 把tomcat的指令碼檔案拷一份到/etc/init.d目錄
cp /usr/local/tomcat/apache-tomcat/bin/catalina.sh /etc/init.d/tomcat8

# 並把改指令碼授權給所有使用者執行
chmod 755 /etc/init.d/tomcat8

拷貝的指令碼並不能直接使用,還需要修改新增一些配置。

vim /etc/init.d/tomcat8

新增chkconfig和description兩行註釋。有這兩行註釋才能支援chkconfig命令配置服務;同時加上JAVA_HOME和CATALINA_HOME兩個變數的宣告。加在第二行開始的位置

#chkconfig: 2345 10 90
#description: tomcat8 service

export JAVA_HOME=/usr/local/java/jdk1.8.0
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat
這裡配置的2345指的是2345這4個執行級別會開機自啟動,10是啟動優先順序,90是關閉優先順序,優先順序的值為0-99,越小優先順序越高。

前面在/etc/profile檔案配置中的環境變數只會在shell登入後執行,開機的過程中並不會載入/etc/profile,但是tomcat的啟動指令碼中需要這兩個變數,所以需要在啟動指令碼中加入這兩個變數。

使用chkconfig --add命令新增服務

[[email protected] ~]# chkconfig --add tomcat8

配置完成後Tomcat服務即可開機自啟動

同時還可以使用service tomcat8 startservice tomcat8 stop命令來啟動和停止tomcat服務。

chkconfig --list 檢視哪些開機服務

 

配置防火牆開啟8080埠並訪問測試

# 對內網網段,開啟8080埠
iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 8080 -j ACCEPT

防火牆設定


        最近公司新的server要求用CentOS7, 發現以前CentOS 6 系列中的 iptables 相關命令不能用了,

         查了下,發現Centos 7使用firewalld代替了原來的iptables,centos 6也可以使用

使用方法如下:

>>> 關閉防火牆

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

>>> 開啟埠
firewall-cmd --zone=public --add-port=80/tcp --permanent
 命令含義:
--zone #作用域
--add-port=80/tcp #新增埠,格式為:埠/通訊協議
--permanent #永久生效,沒有此引數重啟後失效
>>> 重啟防火牆
firewall-cmd --reload

檢視已經開放的埠:

firewall-cmd --list-ports

 

常用命令介紹
firewall-cmd --state                           ##檢視防火牆狀態,是否是running
firewall-cmd --reload                          ##重新載入配置,比如新增規則之後,需要執行此命令
firewall-cmd --get-zones                       ##列出支援的zone
firewall-cmd --get-services                    ##列出支援的服務,在列表中的服務是放行的
firewall-cmd --query-service ftp               ##檢視ftp服務是否支援,返回yes或者no
firewall-cmd --add-service=ftp                 ##臨時開放ftp服務
firewall-cmd --add-service=ftp --permanent     ##永久開放ftp服務
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服務
firewall-cmd --add-port=80/tcp --permanent     ##永久新增80埠 
iptables -L -n                                 ##檢視規則,這個命令是和iptables的相同的
man firewall-cmd                               ##檢視幫助

更多命令,使用  firewall-cmd --help 檢視幫助檔案

>>>  CentOS 7.0預設使用的是firewall作為防火牆,使用iptables必須重新設定一下
1、直接關閉防火牆

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

2、設定 iptables service
yum -y install iptables-services
如果要修改防火牆配置,如增加防火牆埠3306
vi /etc/sysconfig/iptables 
增加規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

儲存退出後
systemctl restart iptables.service #重啟防火牆使配置生效
systemctl enable iptables.service #設定防火牆開機啟動
最後重啟系統使設定生效即可。

 


mysql安裝

1檢視Linux發行版本

[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

2 下載MySQL官方的Yum Repository

wget -i http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

3:yum -y install mysql-community-server

找不到:

rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

4:安裝時候報了一個錯

Error: Package: mysql-community-server-5.7.24-1.el6.x86_64 (mysql57-community)

執行:rpm -ivh mysql-community-release-el7-5.noarch.rpm再執行3

5:啟動資料庫

systemctl start mysqld.service  

systemctl status mysqld.service 檢視啟動狀

改密碼詳細步驟
1. sudo vim /etc/my.cnf     加入  skip-grant-tables

2.重啟mysql    systemctl restart mysqld

3.終端輸入mysql  直接登入到資料庫  mysql>use mysql ; (不要去掉;)

4.update mysql.user set authentication_string=password("你的密碼大寫字母和數字儘量多而複雜") where user="root";(不要去掉;)

exit/quit/\q


5.編輯my.cnf檔案刪掉skip-grant-tables 這一行

然後重啟MySQL方法1:systemctl restart mysqld,2:/etc/init.d/mysqld restart,否則MySQL仍能免密碼登入

6.mysql -uroot -p

7.輸入密碼回車

mysql> SET PASSWORD = PASSWORD('Xiaoming250');

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION;

FLUSH PRIVILEGES; 

錯誤:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

接下來MySQL就可以正常運行了。
 

firewall-cmd --zone=public --add-port=3306/tcp --permanent 開啟3306

firewall-cmd --reload

 

問題1:mysql】You must reset your password using ALTER USER statement before executing this statement報錯處理

解決方式如下:

MySQL版本5.7.6版本以前使用者可以使用如下命令:

mysql> SET PASSWORD = PASSWORD('Xiaoming250'); 
MySQL版本5.7.6版本開始的使用者可以使用如下命令:

mysql> ALTER USER USER() IDENTIFIED BY 'Xiaoming250';
如果不清楚自己是什麼版本,可以將兩條都嘗試一下