## 環境準備
[TOC]
**jdk: jdk-8u191-linux-x64**
**nginx:?nginx-1.14.2**
**mysql:?mysql-5.7.24-1.el7.x86\_64**
**redis:?redis-5.0.3**
**注意:****不同的操作系統和基礎軟件版本,安裝或配置可能會存在差異,本文只保證如上所列版本安裝和配置的正確性。**
* * *
我在/mnt下掛載了一個數據盤,基礎軟件我都先下載到此目錄后再安裝,如果你沒有此目錄的話,可以mkdir創建一個或根據自己的實際情況調整。
## 一、安裝jdk
1).?使用root用戶,在/mnt下創建java目錄。
運行命令:**mkdir /mnt/java**
2).?進入/mnt/java目錄,下載jdk安裝包。
運行命令:**wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz**
3). 在/mnt/java目錄下,解壓安裝包。
運行命令:**tar -zxvf jdk-8u191-linux-x64.tar.gz**
解壓后得到文件jdk1.8.0\_191。
4). 在/usr/local目錄下創建java目錄。
運行命令:**mkdir /usr/local/java**
5). 將/mnt/java/jdk1.8.0\_191移動到/usr/local/java目錄下。
運行命令:**mv /mnt/java/jdk1.8.0\_191 /usr/local/java/.**
6). 配置JDK環境變量。
運行命令:**vi /etc/profile**
在文件末尾添加如下內容,并保存:
* * *
export JAVA\_HOME=/usr/local/java/jdk1.8.0\_191
export CLASSPATH=.:$JAVA\_HOME/lib:$JAVA\_HOME/lib/tools.jar
export PATH=$PATH:$JAVA\_HOME/bin
* * *
7). 讓配置生效。
運行命令:**source /etc/profile**
8). 查看JDK環境變量是否配置成功。
運行命令:**java -version**
如果出現java版本信息,則說明JDK環境變量配置成功。
## 二、安裝nginx
1). 使用root用戶,在/mnt下創建nginx目錄。
運行命令:**mkdir nginx**
2). 進入/mnt/nginx目錄,下載nginx安裝包。
運行命令:?**wget?****http://nginx.org/download/nginx-1.14.2.tar.gz**
3). 在/mnt/nginx目錄下,解壓安裝包。
運行命令:**tar -zxvf nginx-1.14.2.tar.gz**
解壓后得到文件nginx-1.14.2。
4). 在安裝nginx之前,請確保系統中已經安裝過了相關組件:gcc、openssl、pcre、zlib,否則需要先安裝相關組件。
5).?gcc默認是安裝的,可通過命令:gcc -v查看,如已安裝則跳過此步,否則執行如下命令安裝。
運行命令:**yum install gcc-c++**
6). 安裝openssl,如已安裝則跳過此步。
運行命令: **yum -y?install openssl openssl-devel**
7). 安裝pcre,如已安裝則跳過此步。
運行命令:**yum -y install pcre pcre-devel**
8). 安裝zlib,如已安裝則跳過此步。
運行命令:**yum -y install zlib zlib-devel**
9). 安裝nginx,進入/mnt/nginx/nginx-1.14.2目錄。
運行命令:**./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http\_stub\_status\_module --with-http\_ssl\_module --with-http\_realip\_module? && make && make install**
\--prefix nginx的安裝根路徑
\--sbin nginx的啟動程序路徑
\--conf-path nginx的配置路徑
\--with-\* nginx需要加載的模塊,如果需要nginx支持https,則需要加入**http\_ssl\_module**模塊
以上配置參數可根據自身實際情況相應調整。
10). 配置nginx環境變量。
運行命令:**vi /etc/profile**
在文件末尾添加如下內容:
* * *
export NGINX\_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX\_HOME/sbin
* * *
11). 讓配置生效。
運行命令:**source /etc/profile**
12). 設置nginx為系統服務。
在/lib/systemd/system目錄下創建nginx.service文件,
運行命令:**vi /lib/systemd/system/nginx.service**
輸入如下內容,nginx啟動程序路徑根據自身實際情況調整:
* * *
\[Unit\]
Description=nginx service
After=network.target
\[Service\]
Type=forking
ExecStart=**/usr/local/nginx/sbin/nginx**
ExecReload=**/usr/local/nginx/sbin/nginx** -s reload
ExecStop=**/usr/local/nginx/sbin/nginx** -s quit
PrivateTmp=true
\[Install\]
WantedBy=multi-user.target
* * *
13). 設置開機自啟動。
運行命令:**systemctl enable nginx**
14). 以后就可使用如下命令,來管理nginx了:
* * *
\# systemctl start nginx???????? ??????啟動服務
\# systemctl stop nginx????????? ?????停止服務
\# systemctl restart nginx?????? ??????重新啟動服務
\# systemctl list-units --type=service??? ?查看所有已啟動的服務
\# systemctl status nginx????????? ??????查看服務當前狀態
\# systemctl enable nginx????????? ?????設置開機自啟動
#systemctl disable nginx???????? ??????停止開機自啟動
* * *
## 三、安裝mysql
1). 使用root用戶,在/mnt下創建mysql目錄。
運行命令:**mkdir mysql**
2). 進入/mnt/mysql目錄,下載mysql安裝包。
運行命令:**wget?https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-1.el7.x86\_64.rpm-bundle.tar**
3). 在/mnt/mysql目錄下,解壓安裝包。
運行命令:**tar?-xvf mysql-5.7.24-1.el7.x86\_64.rpm-bundle.tar**
解壓后會得到多個rpm包,這里我只安裝mysql server,但它需要依賴其它幾個包,依賴關系如下:
* * *
mysql-community-common-5.7.24-1.el7.x86\_64.rpm??
mysql-community-libs-5.7.24-1.el7.x86\_64.rpm?????????????--(依賴于common)??
mysql-community-client-5.7.24-1.el7.x86\_64.rpm??????????--(依賴于libs)??
mysql-community-server-5.7.24-1.el7.x86\_64.rpm?????????--(依賴于client、common)?
* * *
4). 安裝mysql server,依次運行如下命令,順序不能顛倒:
**rpm -ivh mysql-community-common-5.7.24-1.el7.x86\_64.rpm**
**rpm -ivh mysql-community-libs-5.7.24-1.el7.x86\_64.rpm**
**rpm -ivh mysql-community-client-5.7.24-1.el7.x86\_64.rpm**
**rpm -ivh?mysql-community-server-5.7.24-1.el7.x86\_64.rpm**
我在安裝過程中出現了兩個錯誤,如果你也有出現同樣錯誤,可按照如下方法解決,否則跳過此節。
**錯誤一如下:**

請先卸載mariadb-libs-1:5.5.60-1.el7\_5.x86\_64(還可通過命令rpm
\-qa | grep mariadb查看安裝了mariadb哪些包,也可一起卸載掉)。
運行命令: **rpm -e mariadb-libs-1:5.5.60-1.el7\_5.x86\_64?--nodeps**
**錯誤二如下:**

請先安裝libaio依賴包。
運行命令:**yum install libaio.x86\_64**
5). 初始化mysql,有兩種方式可選擇,此處我選擇方式一。
運行命令:
**#方式一:mysql的root用戶創建隨機密碼**
**mysqld --initialize --user=mysql**
**\# 方式二:不為mysql的root用戶創建密碼**
**mysqld --initialize-insecure --user=mysql**
如果當前用戶是root,且沒有創建mysql用戶則需要帶--user參數,且值為mysql。如果當前用戶是mysql,則可不帶--user參數。
按方式一執行后,會在/var/log/mysqld.log文件里生成隨機密碼,此處為:Kp.Qsu3aXWRI,如下所示:

6). 設置開機啟動。
運行命令: **systemctl enable mysqld**
以后就可以使用如下命令,來啟停mysql了:
* * *
\# systemctl start mysqld???????????? ?啟動服務
\# systemctl stop mysqld??????????????? 停止服務
\# systemctl restart mysqld????????????? 重新啟動服務
\# systemctl list-units --type=service???? 查看所有已啟動的服務
\# systemctl status mysqld????????????? 查看服務當前狀態
\# systemctl enable mysqld???????????? 設置開機自啟動
#systemctl disable mysqld???? ????????停止開機自啟動
* * *
7). 啟動mysql。
運行命令:**systemctl start mysqld**
8). 登錄mysql。
運行命令:**mysql -uroot -p**
輸入剛才生成的密碼。
9). 登錄之后,修改root用戶密碼(否則有些命令執行不了,需要修改密碼后才能執行)。
運行命令:**alter user 'root'@'localhost' identified by '密碼';**
如果要root用戶在任何機器都可連接mysql,需要將localhost改為%。
10). 創建數據庫。
運行命令:**create database 數據庫名 default charset utf8 collate?utf8\_general\_ci;**
11). 創建用戶。
運行命令:**create user '用戶名'@'%' identified by '密碼';**
查看用戶命令:**select user,host from mysql.user;**
12). 為用戶分配某個數據庫的權限。
運行命令:**grant all privileges on 數據庫名.\* to '用戶名'@'%' with grant option;**
13). 刷新權限。
運行命令:**flush privileges;**
查看用戶權限命令: **show grants for 用戶名;**
14). 設置表名不區分大小寫。
運行命令: **show variables like?"%case%";**
如果lower\_case\_file\_system=OFF,則需要修改lower\_case\_table\_names=1,修改/etc/my.cnf文件。
在操作系統命令行下,執行:**vi /etc/my.cnf**
在\[mysqld\]節點最后添加如下一行: lower\_case\_table\_names=1
最后重啟mysql服務,讓設置生效,運行命令:**systemctl restart mysqld**
## 四、安裝redis
1). 使用root用戶,在/mnt下創建redis目錄。
運行命令:**mkdir redis**
2). 進入/mnt/redis目錄,下載redis安裝包。
運行命令:**wget?http://download.redis.io/releases/redis-5.0.3.tar.gz**
3). 在/mnt/redis目錄下,解壓安裝包。
運行命令:**tar?-zxvf redis-5.0.3.tar.gz**
解壓后得到文件redis-5.0.3。
4). 進入redis-5.0.3目錄, 編譯redis。
運行命令:**make**
5). 編譯成功后,在/usr/local目錄下創建redis目錄。
運行命令:**mkdir /usr/local/redis**
6). 將/mnt/redis/redis-5.0.3移動到/usr/local/redis目錄下。
運行命令:**mv /mnt/redis/redis-5.0.3 /usr/local/redis/.**
7). 配置redis。
運行命令:**vi?/usr/local/redis/redis-5.0.3/redis.conf**
* * *
修改daemonize屬性的值為:**yes?** ? ? ? ? ? ?#設置redis為后臺啟動
修改requirepass屬性的值為:**密碼**? ? ? ? ? #設置redis的連接密碼
修改bind屬性的值為:**0.0.0.0**? ? ? ? ? ? ? ? ? #設置redis服務綁定的ip,默認127.0.0.1,只能本機連接,0.0.0.0表示任何地址都可連接
* * *
8). 配置redis環境變量。
運行命令:**vi /etc/profile**
在文件末尾添加如下內容:
* * *
export REDIS\_HOME=/usr/local/redis/redis-5.0.3
export PATH=$PATH:$REDIS\_HOME/src
* * *
9). 讓配置生效。
運行命令:**source /etc/profile**
10). 設置redis為系統服務。
在/lib/systemd/system目錄下創建redis.service文件,
運行命令:**vi /lib/systemd/system/redis.service**
輸入如下內容,redis啟動程序和配置路徑根據自身實際情況調整:
* * *
\[Unit\]
Description=RedisIn-Memory Data Store
After=network.target
\[Service\]
ExecStart=**/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-5.0.3/redis.conf? --daemonize no**
ExecStop=**/usr/local/redis/redis-5.0.3/src/redis-cli shutdown**
\[Install\]
WantedBy=multi-user.target
* * *
11). 加入開機自啟動。
運行命令:**systemctl enable redis**
以后就可使用如下命令,來啟停redis了:
* * *
\# systemctl start redis?????????????? 啟動服務
\# systemctl stop redis?????????????? 停止服務
\# systemctl restart redis???????????? 重新啟動服務
\# systemctl list-units --type=service???? 查看所有已啟動的服務
\# systemctl status redis??????????????? 查看服務當前狀態
\# systemctl enable redis?????????????? 設置開機自啟動
#systemctl disable redis?????????????? 停止開機自啟動