1. 程式人生 > >[Success]CentOS7 64安裝-jdk+tomcat+mysql+redis+elasticsearch

[Success]CentOS7 64安裝-jdk+tomcat+mysql+redis+elasticsearch

一. 安裝JDK

1.1 準備工作

  1. 確保系統中沒有其它已安裝的jdk,輸入命令:rpm -qa | grep java,如果有,使用命令rpm -e --nodeps 解除安裝已安裝的jdk

  2. 切換到root使用者並進入usr目錄: cd /usr

  3. 在usr目錄下建立software資料夾

  4. 將jdk-8u181-linux-x64.tar.gz拷貝或上傳到/usr/software目錄下(可藉助Xftp等工具)

  5. 進入/usr/java資料夾下:cd /usr/software/

1.2 安裝步驟:

  1. 修改許可權,引數“jdk-8u181-linux-x64.tar.gz”為你自己上傳的jdk安裝檔案

           chmod 755 jdk-8u181-linux-x64.tar.gz
    
  2. 解壓: tar -zxvf jdk-8u181-linux-x64.tar.gz

1.3 配置環境變數

  1. vi /etc/profile

  2. 新增內容

    export JAVA_HOME=/usr/software/jdk1.8.0_181
    export PATH= P A T

    H : PATH: JAVA_HOME/bin
    export CLASSPATH=.: J A V
    A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar:
    JAVA_HOME/lib/tools.jar
    export JAVA_HOME PATH CLASSPATH

  3. 重新編譯環境變數:source /etc/profile

  4. 檢查是否安裝成功,輸入命令:java -version

  5. 編寫java程式碼測試jdk的安裝

二. 安裝Tomcat

注意:關閉防火牆

2.1 準備工作

  1. 切換到/usr下:cd /usr/software

  2. 建立tomcat目錄:mkdir tomcat

  3. 進入tomcat的目錄中:/usr/software/tomcat

2.2 安裝步驟

  1. 上傳tomcat壓縮包到/usr/software/tomcat目錄

  2. 修改許可權:chmod 755 apache-tomcat-8.5.33.tar.gz

  3. 解壓tomcat壓縮檔案:tar -zxvf apache-tomcat-8.5.33.tar.gz

2.3 啟動tomcat

進入tomcat的bin目錄:cd /usr/software/tomcat/apache-tomcat-8.5.33/bin
啟動tomcat web伺服器:./startup.sh 或者 sh startup.sh

訪問:http://192.168.206.101:8080/

2.4 Centos開放8080埠-使用firewalld操作

CentOS 7.0預設使用的是firewall作為防火牆。

在當前的centos7的版本中,iptables系統已不再支援,即使已經安裝成功,並且成功執行,系統也不會識別iptables的攔截 也就是說,在當前的centos7中,即使開啟了iptables,不開放任何埠,宿主機也可以訪問虛擬機器的任意埠

  1. 檢查firewalld狀態

systemctl status firewalld

當前是masked狀態,是無法安裝firewalld的,需要執行以下操作

systemctl unmask firewalld

    檢視當前firewalld狀態

   systemctl status firewalld
  1. 安裝firewalld防火牆

    yum install firewalld
    
  2. 啟動firewalld防火牆

 systemctl start firewalld

檢視狀態:

  1. 開機自動啟動

    systemctl enable firewalld
    
  2. 開啟埠

永久開放8080埠

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

firewall-cmd --zone=public --add-port=8080-8090/tcp //臨時
  1. 檢視某些埠打開了

     firewall-cmd --permanent --zone=public --list-ports
    
  2. 開放埠之後,一定要重新載入firewalld配置

2.5 開機自動啟動

  1. 將apache-tomcat-8.5.34修改為tomcat8(名字太長,不方便後面配置)

  2. 進入tomcat/bin目錄下,修改setclasspath.sh

    在setclasspath.sh的檔案中的

    這行前面增加下面兩行:

    export  JAVA_HOME=/usr/software/jdk1.8.0_181
    
    export  JRE_HOME=/usr/software/jdk1.8.0_181/jre
    
  3. 在tomcat8/bin 目錄下面,新增 setenv.sh配置,catalina.sh啟動的時候會自動呼叫,配置內容如下:

#add tomcat pid

CATALINA_PID="$CATALINA_BASE/tomcat.pid"

  1. 在/usr/lib/systemd/system目錄下增加tomcat.service,目錄必須是絕對目錄
    內容如下:注意tomcat8的路徑是否一致,不一致,就需要修改

[Unit]

Description=Tomcat

After=syslog.targetnetwork.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/usr/software/tomcat8/tomcat.pid

ExecStart=/usr/software/tomcat8/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

6、啟動

systemctl start tomcat.service

7、檢視狀態

 systemctl status tomcat.service

2.6 其它

  1. 停止tomcat:./shutdown.sh

  2. 檢視tomcat日誌資訊:

tail -200f /usr/software/tomcat/apache-tomcat-8.5.33/logs/catalina.out

200表示最後顯示行數

  1. 用組合命令,啟動並檢視日誌:

進入tomcat的bin目錄

 ./startup.sh && tail -200f ../logs/catalina.out

三、安裝MySQL

3.1 解除安裝CentOS7自帶的mariadb資料庫

  1. 檢視是否有自帶的mariadb: rpm -qa | grep mariadb

  2. 解除安裝自帶的mariadb資料庫

            刪除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    

3.2 準備工作

  1. 切換到/usr/local下:cd /usr/software

  2. 建立mysql目錄:mkdir mysql

  3. 上傳安裝包/usr/software/mysql目錄

  4. 安裝mysql需要依賴的:perl

     yum install net-tools
    
            yum -y install perl perl-devel
    
            yum install -y perl-Module-Install.noarch
    

3.3 安裝步驟

  1. 解壓安裝包:

           進入mysql目錄 : /usr/software/mysql
    
            
    
         授權:  chmod 777 *
    
    解壓安裝包,得到安裝檔案:tar -xvf MySQL-5.6.36-1.el6.x86_64.rpm-bundle.tar
    
  2. 安裝伺服器:server

           修改許可權:chmod 777 *
    
           執行安裝:rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm --nodeps --force
    
           注:--nodeps --force 表示不檢查依賴
    
  3. 安裝客戶端:client

           修改許可權:chmod 777 *
    
           執行安裝:rpm -ivh MySQL-client-5.6.36-1.el6.x86_64.rpm --nodeps --force
    
  4. 啟動和關閉mysql

           啟動mysql: systemctl start mysql 
    
           關閉mysql: systemctl stop mysql 
    
           重啟mysql:  systemctl restart mysql 
    

3.4 修改mysql配置

3.4.1 新增或修改密碼

如果是安裝的5.6,會生成隨機密碼,在安裝service端的日誌中有如下內容:

進入該檔案檢視密碼:cat /root/.mysql_secret

使用這個密碼登入 mysql –uroot –p密碼

登入mysql之後,修改密碼:SET PASSWORD = PASSWORD(‘123456’);

3.4.2 設定允許遠端連線mysql

測試一:

使用宿主機的資料庫客戶端嘗試使用遠端連線,發現報錯:

原因一:未開放3306埠號

開放3306埠

#開放3306埠

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

# 檢視埠開啟情況

firewall-cmd --permanent --zone=public --list-ports

# 重新載入firewall防火牆

 firewall-cmd --reload

上述錯誤錯誤原因:資料庫不允許該客戶端訪問mysql伺服器,因為沒有遠端許可權導致的

解決方案:

(1)進入 mysql:

mysql -u root -p123456

(2)使用 mysql庫:

use mysql;

(3)檢視使用者表 :

SELECT Host,User FROM user;

(4)授權使用者 :

grant all privileges on *.* to [email protected]'%' identified by '123456';

(5)強制重新整理許可權:

 flush privileges;

(6)連線成功

四、安裝redis

1.1 安裝步驟

1:上傳redis安裝包

2:解壓壓縮包:tar -zxvf redis-4.0.0.tar.gz

3:yum安裝gcc依賴:yum install gcc

4:跳轉到redis解壓目錄下

cd redis-4.0.0

5:編譯

 make MALLOC=libc 

6:安裝

cd src && make install

7:測試是否安裝成功

先切換到redis src目錄下

1、直接啟動redis

./redis-server

1.2、以後臺程序方式啟動redis

如1.1的方式:redis啟動成功,但是這種啟動方式需要一直開啟視窗,不能進行其他操作,不太方便。按 ctrl + c可以關閉視窗。

下面可以使用後臺程序的方式啟動redis

第一步:修改redis-4.0.0/redis.conf檔案

daemonize no  

修改為

daemonize yes

第二步:指定redis.conf檔案啟動

啟動方式一: ./redis-server …/redis.conf

啟動方式二:絕對路徑

./redis-server /usr/software/redis-4.0.0/redis.conf

第三步:關閉redis程序

首先使用ps -aux | grep redis檢視redis程序

使用kill命令殺死程序

kill -9 3009

1.3 設定允許遠端訪問redis

1、開放6379埠

#開放6379埠

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

# 檢視埠開啟情況

firewall-cmd --permanent --zone=public --list-ports

# 重新載入firewall防火牆

firewall-cmd --reload

2、開放埠之後,發現連線還是失敗

3、需要修改redis4.0.0/redis.conf檔案,將127.0.0.1修改成0.0.0.0,如圖所示

1.4 設定redis開機自啟動

1、在/etc目錄下新建redis目錄

mkdir redis

2、將/usr/local/redis-4.0.0/redis.conf 檔案複製一份到/etc/redis目錄下,並命名為6379.conf

  cp /usr/software/redis-4.0.0/redis.conf /etc/redis/6379.conf

3、將redis的啟動指令碼複製一份放到/etc/init.d目錄下

cp /usr/software/redis-4.0.0/utils/redis_init_script /etc/init.d/redisd

4、設定redis開機自啟動

先切換到/etc/init.d目錄下

使用vim編輯redisd檔案,在第二行加入如下兩行註釋,儲存退出

# chkconfig: 2345 90 10

# description: Redis is a persistent key-value database

註釋的意思是,redis服務必須在執行級2,3,4,5下被啟動或關閉,啟動的優先順序是90,關閉的優先順序是10。

5、執行開機自啟命令,成功

chkconfig redisd on

現在可以直接已服務的形式啟動和關閉redis了

啟動:

service redisd start 

關閉:

service redisd stop

作業:安裝elasticsearch

提醒:elasticsearch的執行不能使用root賬號

五、安裝ElasticSearch–不能使用root賬戶執行

1.1 新建一個使用者

1:新建使用者命令:useradd bos

2:設定密碼:passwd bos

3:出於安全考慮,elasticsearch預設不允許以root賬號執行

  切換使用者:su - bos

1.2安裝步驟

1:上傳elasticsearch安裝包/home/bos目錄下

2:解壓壓縮包:tar -zxvf elasticsearch-6.2.4.tar.gz

3:跳轉到elasticsearch-6.2.4解壓目錄下

cd  elasticsearch-6.2.4

4:修改配置檔案./config/jvm.options

預設配置如下:

-Xms1g

-Xmx1g

記憶體佔用太多了,我們調小一些:

-Xms512m

-Xmx512m

5 修改配置檔案elasticsearch.yml

a、修改資料和日誌記錄

 path.data: /home/bos/data

 path.logs: /home/bos/logs

b、修改繫結的IP地址

network.host: 0.0.0.0 # 繫結到0.0.0.0,允許任何ip來訪問

C、修改節點的名字

6:建立data和logs資料夾

mkdir data

mkdir logs

7:執行

先切換到elasticsearch/bin目錄下

1、直接啟動elasticsearch

./elasticsearch

2、報錯1:java.nio.file.AccessDeniedException:
/data/wwwroot/elasticsearch-6.2.4/config/jvm.options

原因:當前使用者沒有執行許可權
解決方法: chown linux使用者名稱 elasticsearch安裝目錄 -R
本題解法:

切換到root使用者下:su - root,然後執行chown bos /home/bos -R

3 繼續執行,報錯2:

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

**解決:**切換到root使用者,編輯limits.conf 新增類似如下內容

vi /etc/security/limits.conf

新增如下內容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

4 繼續執行,報錯3:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解決:切換到root使用者修改配置sysctl.conf

vi /etc/sysctl.conf

新增下面配置:

vm.max_map_count=655360

並執行命令:

sysctl -p

4 執行,OK

1.3 後臺執行

nohup./bin/elasticsearch&

1.4 開放9200和9300埠

#firewall-cmd --permanent --zone=public --add-port=9200/tcp //永久

#firewall-cmd --permanent --zone=public --add-port=9300/tcp //永久

#firewall-cmd --permanent --zone=public --list-ports //檢視埠使用情況

1.5.1.安裝ik分詞器

上傳課前資料中的zip包:

使用unzip命令解壓:yum install unzip

unzip elasticsearch-analysis-ik-6.2.4.zip

得到一個名為elasticsearch的目錄,並將其改名為ik-analyzer

 mv elasticsearch ik-analyzer

然後將ik-analyzer目錄移動到elasticsearch/plugin目錄下

mv ./ik-analyzer/ ./elasticsearch-6.2.4/plugins/

重啟elasticsearch: