Linux CentOS 7.6环境下jdk、nginx、mysql和redis的安装

  Janix520

本文章是在阿里云Linux CentOS 7.6环境下安装和配置基础软件(jdk、nginx、mysql、redis)的过程,各个基础软件的版本如下所示:

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创建一个或根据自己的实际情况调整。

1. 安装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环境变量配置成功。

2. 安装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 停止开机自启动


3. 安装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

4. 安装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 停止开机自启动

------你的笑你的泪,是我筑梦路上,最美的太阳。