天天看點

[Linux] Centos7搭建測試環境

[Linux] Centos7搭建測試環境
摘要
  • 環境安裝工具準備
  • JDK安裝
  • tomcat安裝
  • MySQL安裝

一、環境安裝工具準備

Linux系統:Centos7

安裝工具

  1. JDK8安裝包:jdk-8u131-linux-x64.rpm
  2. Tomcat8.5安裝包:apache-tomcat-8.5.41.tar.gz
  3. MySQL5.6安裝包:mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz

工具下載下傳

可從官網下載下傳。

已把安裝工具存于百度網盤:

  連結:https://pan.baidu.com/s/1ts1vRhtzKeMmP9VlnDi4gg

  提取碼:2nom

工具上傳

如何将安裝包上傳到Linux伺服器上?

兩個工具:WinSCP和SecureCRT(of course,其他的也可以滴)

二、JDK安裝

- JDK安裝包存放位置

  建議将安裝包存放到

/usr/local/

目錄下。[不要放在

/home

路徑下,容易涉及到不同使用者的通路權限]。

  我的存放到了

/usr/local/tools/

下,安裝工具都放到了這裡。

-執行安裝指令

進入到

/usr/local/tools/

下,執行:

rpm -ivh jdk-8u131-linux-x64.rpm
           
[Linux] Centos7搭建測試環境

-檢查是否安裝成功

  安裝完成後,輸入

java -version

檢查是否安裝成功。出現java的版本資訊,即安裝成功:

[Linux] Centos7搭建測試環境

- 配置環境變量

檢視JDK安裝路徑

配置環境變量前,我們需要知道JDK的安裝路徑。

如下圖,依次按照紅框内指令執行:

[Linux] Centos7搭建測試環境

圖上最後劃紅線的即安裝路徑。

配置環境變量

編輯

/etc/profile

檔案:

vim /etc/profile
           

[輸入i,進行編輯]

複制如下内容,粘貼到檔案末尾:

export JAVA_HOME=/usr/java/jdk1.8.0_131/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
           

[Esc退出編輯,:wq 儲存退出]。

重新加載環境變量使配置生效

輸入:

source /etc/profile
           

三、tomcat安裝

- 解壓Tomcat安裝包

進入到

/usr/local/tools/

下,執行指令解壓Tomcat安裝包:

tar -zxvf apache-tomcat-8.5.41.tar.gz
           

- 移動并重新命名檔案夾(非必須步驟)

我這裡将解壓後的Tomcat移動到了

/usr/local

下,并重新命名檔案夾:

mv apache-tomcat-8.5.41 /usr/local/tomcat8-80
           

- 修改Tomcat端口号(非必須步驟)

進入conf,編輯server.xml檔案,可修改端口号.

- Tomcat内多餘檔案(夾)的删除(非必須步驟)

在webapps下,除了ROOT及其目錄下的檔案(測試啟動是否成功,通路用),其他都可删除,可删除目錄如下紅框内:

[Linux] Centos7搭建測試環境

- 啟動Tomcat

到bin目錄下,輸入

./startup.sh

,啟動Tomcat,浏覽器輸入

ip:端口号

通路(確定伺服器已開啟端口通路權限),若成功通路,則配置成功。

- 一個Linux伺服器内啟動多個Tomcat

多個Tomcat安裝在同一台作業系統上,需修改Tomcat的配置檔案server.xml的三個端口

1. 8005端口

  • 作用:關閉Tomcat通信接口。該端口負責監聽關閉Tomcat的請求。

    這裡我改成了8006

    [Linux] Centos7搭建測試環境

2. 8080端口

  • 作用:建立http連接配接,例如浏覽器通路。

    這裡我改成了8081

    [Linux] Centos7搭建測試環境

3. 8009端口

  • 作用:與其他http伺服器通信接口,用于http伺服器集合

    這裡我改成了8010

    [Linux] Centos7搭建測試環境
    以上三個端口,各個Tomcat隻要不沖突即可。

四、MySQL安裝

- 檢查是否安裝過mysql

查詢:

rpm -qa|grep -i mysql
           

删除遺留MySQL:

rpm -e 檔案名 --nodeps
           

- 解壓

進入MySQL安裝包所在目錄,執行解壓指令:

tar -zxvf mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz 
           

- 重命名

将解壓後的MySQL(移動)重命名為mysql,

/usr/local/

下:

mv mysql-5.6.45-linux-glibc2.12-x86_64 /usr/local/mysql
           

- 添加使用者組和使用者

指令

groups mysql

檢視使用者組,若已添加,會提示已存在,可不用再重複添加。

添加使用者組:

groupadd mysql
           

添加使用者:

useradd -r -g mysql mysql
           

- 修改配置檔案

進入到

/usr/local/mysql

目錄下:

  • 複制配置檔案
cp support-files/my-default.cnf /etc/my.cnf
           
  • 配置my.cnf
vim /etc/my.cnf
           

檔案末尾添加以下配置資訊(也可将原檔案内容清空,把以下内容複制,注意basedir和datadir要替換成自己mysql的目錄位置):

[mysql] 
default-character-set=utf8
[mysqld] 
#skip-grant-tables
skip-name-resolve 
port = 3306 
# 解壓後的mysql的位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data 
max_connections=200 
character-set-server=utf8 
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
           

- 安裝

進入到

/usr/local/mysql

目錄下,執行安裝指令:

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/
           

若執行指令時出現如下報錯資訊(一般是相應庫沒有安裝,我安裝時遇到以下兩個錯誤,從網上查一下解決辦法,安裝相應庫即可):

  1. please install the following Perl modules before executing ./scripts/mysql_install_db:

    [Linux] Centos7搭建測試環境
    解決方法:安裝autoconf庫:
yum -y install autoconf
           
  1. ...error while loading shared libraries: libaio.so.1...

    [Linux] Centos7搭建測試環境
    解決方法:安裝libaio庫:
yum -y install libaio*
           

- 修改目錄權限

進入到mysql下

修改目前目錄擁有者為root使用者:

chown -R root:root ./
           

修改data目錄擁有者為mysql使用者:

chown -R mysql:mysql data
           

- 啟動

啟動方法一

service mysqld start
           

若啟動時,出現如下錯誤:

Failed to start mysqld.service: Unit not found.

[Linux] Centos7搭建測試環境
  • 問題原因:

  由于

/etc/init.d/

不存在mysqld指令。但是有的安裝完成後存在,是因為安裝包中有相應的指令将mysql.server檔案copy到

/etc/init.d/

下面了。

  • 解決方法1:

進入到mysql目錄下,執行如下指令:

cp ./support-files/mysql.server /etc/init.d/mysqld
           

再執行以下任何指令,都可成功:

service mysqld status    # 檢視mysql目前啟動狀态
service mysqld stop      # 停止mysql服務
service mysqld start     # 啟動mysql服務
service mysqld restart   # 重新開機mysql服務
           
  • 解決方法2

【網上的另一種解決方法】

第1步 安裝mariadb-server

yum install -y mariadb-server
           

第2步 啟動服務

systemctl start mariadb.service
           

第3步 添加到開啟啟動

systemctl enable mariadb.service
           

以前版本的CentOS都是使用MySQL作為資料庫的,而從CentOS 7開始啟用了MariaDB。

相關參考:CentOS 7為什麼放棄了MySQL,而改使用MariaDB?

啟動方法二

該啟動方法,不存在方法一的問題,mysql目錄下執行指令:

./support-files/mysql.server start
           

如何關閉mysql服務?将上面的指令start改為stop即可,如下:

./support-files/mysql.server stop
           

- 修改密碼

登入資料庫

以root賬号登入mysql,預設是沒有密碼的:

mysql -h127.0.0.1 -P3306 -uroot -p
           

提示輸入密碼的時候,直接回車即可。

但當用指令

mysql -uroot -p

登入時,報錯:

  • 問題描述:

    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

    [Linux] Centos7搭建測試環境
  • 問題原因:

目标檔案mysql.lock找不到。mysql.sock可能會根據實際安裝方式的不同,存放在不同的目錄下,可能是/var/lib/mysql.sock或/tmp/mysql.sock或其他目錄下,我的是在/tmp/mysql.sock下:

  • 解決方法:

建立軟連接配接:

ln -s 源檔案 目标檔案

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
           

然後重新用

mysql -uroot -p

,登入成功!

參考連結:https://blog.csdn.net/JustinQin/article/details/79209073

密碼修改

root賬号登入後,檢視mysql賬号資訊:

SELECT user,host,password FROM mysql.user;
           
[Linux] Centos7搭建測試環境

上圖我們可以看到,所有賬号都是沒有密碼的。

修改root登入密碼為root:

update mysql.user set password=password('root') where user='root';
           

如果想設定不同host登入密碼不同,可在條件上加上

and host=''

;

update mysql.user set password=password('root') where user='root' and host='localhost';
           

修改完後,記得重新整理權限:

flush privileges;
           

- 設定遠端主機登入

若允許root使用者隻能在特定ip進行遠端登入,并具有所有庫的操作權限,則需要指定ip:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'特定ip' IDENTIFIED BY '你的登入密碼' WITH GRANT OPTION;
           

允許root使用者在任何地方進行登入,并具有所有庫的操作權限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的登入密碼' WITH GRANT OPTION;
           

修改完後,記得重新整理權限:

flush privileges;
           

總結

  以上,Linux搭建測試環境步驟就告一段落啦,在安裝MySQL的時候,遇到了很多問題,不過遇到問題就解決,并及時記錄下來,還是學到了很多東西的~~

要努力學技術,畢竟技術才是硬道理!

繼續閱讀