本文章是在阿里云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). 使用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环境变量配置成功。
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 停止开机自启动
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
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 停止开机自启动