[Success]CentOS7 64安裝-jdk+tomcat+mysql+redis+elasticsearch
一. 安裝JDK
1.1 準備工作
-
確保系統中沒有其它已安裝的jdk,輸入命令:rpm -qa | grep java,如果有,使用命令rpm -e --nodeps 解除安裝已安裝的jdk
-
切換到root使用者並進入usr目錄: cd /usr
-
在usr目錄下建立software資料夾
-
將jdk-8u181-linux-x64.tar.gz拷貝或上傳到/usr/software目錄下(可藉助Xftp等工具)
-
進入/usr/java資料夾下:cd /usr/software/
1.2 安裝步驟:
-
修改許可權,引數“jdk-8u181-linux-x64.tar.gz”為你自己上傳的jdk安裝檔案
chmod 755 jdk-8u181-linux-x64.tar.gz
-
解壓: tar -zxvf jdk-8u181-linux-x64.tar.gz
1.3 配置環境變數
-
vi /etc/profile
-
新增內容
export JAVA_HOME=/usr/software/jdk1.8.0_181
export PATH= JAVA_HOME/bin
export CLASSPATH=.: JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH -
重新編譯環境變數:source /etc/profile
-
檢查是否安裝成功,輸入命令:java -version
-
編寫java程式碼測試jdk的安裝
二. 安裝Tomcat
注意:關閉防火牆
2.1 準備工作
-
切換到/usr下:cd /usr/software
-
建立tomcat目錄:mkdir tomcat
-
進入tomcat的目錄中:/usr/software/tomcat
2.2 安裝步驟
-
上傳tomcat壓縮包到/usr/software/tomcat目錄
-
修改許可權:chmod 755 apache-tomcat-8.5.33.tar.gz
-
解壓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,不開放任何埠,宿主機也可以訪問虛擬機器的任意埠
- 檢查firewalld狀態
systemctl status firewalld
當前是masked狀態,是無法安裝firewalld的,需要執行以下操作
systemctl unmask firewalld
檢視當前firewalld狀態
systemctl status firewalld
-
安裝firewalld防火牆
yum install firewalld
-
啟動firewalld防火牆
systemctl start firewalld
檢視狀態:
-
開機自動啟動
systemctl enable firewalld
-
開啟埠
永久開放8080埠
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --zone=public --add-port=8080-8090/tcp //臨時
-
檢視某些埠打開了
firewall-cmd --permanent --zone=public --list-ports
-
開放埠之後,一定要重新載入firewalld配置
2.5 開機自動啟動
-
將apache-tomcat-8.5.34修改為tomcat8(名字太長,不方便後面配置)
-
進入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
-
在tomcat8/bin 目錄下面,新增 setenv.sh配置,catalina.sh啟動的時候會自動呼叫,配置內容如下:
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
- 在/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 其它
-
停止tomcat:./shutdown.sh
-
檢視tomcat日誌資訊:
tail -200f /usr/software/tomcat/apache-tomcat-8.5.33/logs/catalina.out
200表示最後顯示行數
- 用組合命令,啟動並檢視日誌:
進入tomcat的bin目錄
./startup.sh && tail -200f ../logs/catalina.out
三、安裝MySQL
3.1 解除安裝CentOS7自帶的mariadb資料庫
-
檢視是否有自帶的mariadb: rpm -qa | grep mariadb
-
解除安裝自帶的mariadb資料庫
刪除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3.2 準備工作
-
切換到/usr/local下:cd /usr/software
-
建立mysql目錄:mkdir mysql
-
上傳安裝包/usr/software/mysql目錄
-
安裝mysql需要依賴的:perl
yum install net-tools yum -y install perl perl-devel yum install -y perl-Module-Install.noarch
3.3 安裝步驟
-
解壓安裝包:
進入mysql目錄 : /usr/software/mysql 授權: chmod 777 * 解壓安裝包,得到安裝檔案:tar -xvf MySQL-5.6.36-1.el6.x86_64.rpm-bundle.tar
-
安裝伺服器:server
修改許可權:chmod 777 * 執行安裝:rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm --nodeps --force 注:--nodeps --force 表示不檢查依賴
-
安裝客戶端:client
修改許可權:chmod 777 * 執行安裝:rpm -ivh MySQL-client-5.6.36-1.el6.x86_64.rpm --nodeps --force
-
啟動和關閉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: