## 环境准备
[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**
我在安装过程中出现了两个错误,如果你也有出现同样错误,可按照如下方法解决,否则跳过此节。
**错误一如下:**
![](//upload-images.jianshu.io/upload_images/15986377-7370221cd44c4edf.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
请先卸载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**
**错误二如下:**
![](//upload-images.jianshu.io/upload_images/15986377-31dea5983fc4d471.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
请先安装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,如下所示:
![](//upload-images.jianshu.io/upload_images/15986377-f79076811c897a3f.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
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 停止开机自启动