Linux 系统下常用的环境安装
一、Java 环境的安装
1、安装新的 JDK
首先到 jdk 官网上下载你想要的 jdk 版本,下载完成之后将需要安装的 jdk 安装包放到 Linux 系统指定的文件夹下,并且命令进入该文件夹下:这里演示的是把下载的安装包放在了 opt 下的文件夹下
cd /opt
2、解压 jDK 安装包
#解压到当前目录
tar -zxvf jdk-8u333-linux-x64.tar.gz #这句是解压代码
mv jdk1.8.0_333 jdk1.8 #重命名,可以不修改
3、在 usr/local 文件夹下创建 java 文件,并将在刚在 opt 文件夹下解压的 jdk 文件夹移动到新建的 java 文件夹下
mkdir /usr/local/java
mv /opt/jdk1.8 /usr/local/java #mv是移动的意思 紧接着是要移动的文件夹 最后一个是目标文件夹4、最后配置环境变量在/etc/profile 的文件进行配置,在最后插入要配置的内容
export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}5、修改了配置文件要重启配置才可以生效
source /etc/profile 执行后生效6、最后执行 java -version 进行验证即可
二、Nginx 环境安装
1、安装 nginx 前首先安装四个依赖包 –以下命令一键安装四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel2、下载并解压安装包
1、cd /usr/local
2、mkdir nginx
3、wget http://nginx.org/download/nginx-1.28.0.tar.gz
4、tar -zxvf nginx-1.28.0.tar.gz -C /usr/local/nginx ---解压nginx安装包
--- 通过 --strip-components 1 参数 解压到指定目录或当前目录(不含打包前原目录)
4.1、tar -zxvf nginx-1.28.0.tar.gz --strip-components 1 -C /usr/local/nginx

3、进入刚刚解压好的目录
cd /usr/local/nginx/nginx-1.28.0/
4、分别执行下面命令
SSL 模块 请使用
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module -- 使用nginx默认配置,并配置ssl不使用 SSL 模块请使用
./configure --prefix=/usr/local/nginx --with-http_stub_status_module配置完成后,运行命令
make --- 用来编译( 从Makefile中读取指令,然后编译)
make install --- 用来安装( 从Makefile中读取指令,安装到指定的位置)5、启动 nginx
cd /usr/local/nginx/sbin #首先要进入这个文件夹(否则下面命令无法执行)
./nginx #默认开启nginx
查看是否启动成功命令:ps -ef | grep nginx
#关闭nginx
./nginx -s quit #完全停止 或者 ./nginx -s stop #快速停止
//重启nginx
./nginx -s reload
还有一种启动方式
启动代码格式:nginx安装目录地址 -c nginx配置文件地址
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
注意:上防火墙一列开放你的nginx启动端口,否则访问不了!!!5.1、启动nginx时可能遇到的问题
问题描述:找不到日志的路径

解决方案:在对应位置创建对应文件,再次重新启动即可

6、关于防火墙端口号的开启与重启
#查看开放的端口号,设置新端口
命令:firewall-cmd --list-all
--查询端口是否开放
firewall-cmd --query-port=8080/tcp
--开放80端口
firewall-cmd --permanent --add-port=8080/tcp
--重启防火墙
firewall-cmd --reload三、mysql 的环境安装
mysql5 安装过程
下面记录了在 Linux(Centos 7)环境下安装 Mysql 的完整过程。
注意 1:本文档讲解安装版本为 mysql-5.7.24,对于 5.7.24 之后的版本,不适用此说明文档,主要原因在于之后版本的 mysql 配置文件的目录位置和结构有所改变,使用此说明可能会出现找不到配置文件或者配置后不生效的情况。
注意 2:安装过程中务必保证文件路径的前后统一,否则可能会导致不可预期的结果,推荐直接使用文中的命令进行操作。
1. 安装前准备
- 从官网下载是用于 Linux 的 Mysql 安装包(也可以直接到 mysql 官网上选择其他版本进行下载。)
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz2.安装 Mysql
1、在执行wget命令的目录下或你的上传目录下找到 Mysql 安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz执行解压命令:
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
ls
mysql-5.7.24-linux-glibc2.12-x86_64
mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz2、解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到**/usr/local/下,并将文件夹名称修改为mysql**。\
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql3、如果**/usr/local/下不存在mysql**文件夹,直接执行如下命令,也可达到上述效果。
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql4、在**/usr/local/mysql**目录下创建 data 目录
mkdir /usr/local/mysql/data5、更改 mysql 目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql6、编译安装并初始化 mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql补充说明:可能会出现缺少某个链接库文件的错误:

出现该问题首先检查该链接库文件liabio有没有安装,使用下面命令进行核查
rpm -qa | grep libaio运行命令后发现系统中无该链接库文件
yum install libaio-devel.x86_64安装成功后,继续运行数据库的初始化命令,此时可能会出现缺少链接库文件libnuma的错误:

执行如下命令后:
yum -y install numactl执行无误之后,再重新执行第 4 步初始化命令,无误之后再进行操作!

记录日志最末尾位置**root@localhost:**后的字符串,此字符串3bkxOW_/4<w9为 mysql 管理员临时登录密码。
7、编辑配置文件 my.cnf,添加配置如下
[client]
port=3306
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#日志存放目录
log-error=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
#表名不区分大小写
lower_case_table_names=18、启动 mysql 服务器
/usr/local/mysql/support-files/mysql.server start如果出现如下提示信息
Starting MySQL... ERROR! The server quit without updating PID file查看是否存在 mysql 和 mysqld 的服务,如果存在,则结束进程,再重新执行启动命令
# 查询服务
ps -ef|grep mysql
ps -ef|grep mysqld
# 结束进程
kill -9 PID
# 启动服务
/usr/local/mysql/support-files/mysql.server start9、添加软连接,并重启 mysql 服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart以后在任意目录下都可以通过mysql -uroot -p命令然后输入密码连接 mysql 客户端了。
10、登录 mysql,修改密码(密码为步骤 5 生成的临时密码)
mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');11、开放远程连接,更新权限
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;12、设置开机自动启动
# 1.将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 2.赋予可执行权限
chmod +x /etc/init.d/mysqld
# 3.添加服务
chkconfig --add mysqld
# 4.显示服务列表
chkconfig --list13、开启 3306 端口号
--查询端口是否开放
firewall-cmd --query-port=3306/tcp
--开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
--重启防火墙
firewall-cmd --reloadmysql8 安装过程
安装包及安装路径准备
1.1、切换目录到 /usr/local目录下,创建mysql文件夹
cd /usr/local
mkdir mysql;1.2、切换到 mysql 目录下,下载 mysql8 的安装包
cd mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz1.3、解压我们下载的 mysql8 安装包并修改解压后的文件夹名称为 mysql8
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8.0.201.4、在/usr/local/mysql 目录下面创建 data 目录,用来存储 mysql 的文件数据;创建一个文件用来存放 mysql 通用日志
mkdir data
touch mysql.log创建 linux 用户组以及用户信息,用来启动 mysql
1.1、分别创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql注:如果在创建时提示已经存在,说明服务器目前是存在这个用户组或用户,可以直接跳过这一步
1.2、对刚刚创建好的用户进行授权
chown -R mysql.mysql /usr/local/mysql/mysql8.0.20
chown -R mysql.mysql /usr/local/mysql/mysql.log
chmod 750 /usr/local/mysql/data -R配置 mysql 启动环境
1.1、编辑/etc/profile 文件,配置 mysql 的全局环境变量
vim /etc/profile打开文件后,在最后一行加上:export PATH=$PATH:/usr/local/mysql/mysql8.0.20/bin:/usr/local/mysql/mysql8.0.20/lib
然后保存退出
source /etc/profile //重新加载使配置生效1.2、编辑 mysql 配置文件 my.cnf 内容
vim /etc/my.cnf然后再文件内复制以下内容直接覆盖
[mysql]
default-character-set=utf8mb4
[client]
#port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
#port=3306
#server-id=3306
user=mysql
general_log = 1
general_log_file= /usr/loacl/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql/mysql8.0.20
datadir=/usr/local/mysql/data
log-bin=/usr/local/mysql/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
#
# include all files from the config directory注:做完前面全部的三大步骤,我们安装前的准备工作已经完成了,接下来就可以开始初始化基础信息(安装)了
Mysql 的初始化工作
1.1、把目录切换到 mysql 的 bin 目录下
cd /usr/local/mysql/mysql8.0.20/bin1.2、初始化基础信息,得到数据库的初始密码,并记录下密码。
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql8.0.20 --datadir=/usr/local/mysql/data/ --initialize1.3、复制 mysql.server 文件,在/usr/local/mysql/mysql8.0.20 目录下执行
cp -a ../support-files/mysql.server /etc/init.d/mysql
cp -a ../support-files/mysql.server /etc/init.d/mysqld1.4、赋予权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld1.5、检查一下/var/lib/mysql 是否存在,否则进行创建,然后再赋予权限
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/1.6、启动服务的工作就全部准备好了,现在我们切换 mysql 用户来启动 mysql
service mysql start注:如果发现启动失败,可以先查看 data 里面的 mysql.log,如果有提示 3306 这样的字样,第一个想到的应该是端口被占用,使用 lsof -i:端口号,查看是哪个 PID(进程号)占用了该端口,然后使用 kill PID(进程号)杀掉进程,重新执行 service mysql start。
启动mysql时可能遇到的问题
问题描述:error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

解决方案:
#、根据报错内容可以看出,是因为在启动mysql的时候加载了libtinfo.so.5库文件。此时我们可以查看Anolis8系统中是否存在改库文件。
[root@Anolis8.6 ~]# find / -name "libncurses*"
/usr/lib64/libncurses.so.6
/usr/lib64/libncurses.so.6.1
/usr/lib64/libncursesw.so.6
/usr/lib64/libncursesw.so.6.1
#、从上面的查询结果中可以看到,我现在使用的系统中并没有安装对应5版本的库文件,这个时候可以将高版本创建
[root@Anolis8.6 ~]# ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5mysql 的启动工作已经完成,现在我们可以来登录 mysql,修改 root 账号密码
1.1、修改数据库 root 账号的密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
flush privileges;1.2、设置可以远程访问(因为 root 默认是不能远程访问的)
use mysql;
update user set host='%' where user='root';
flush privileges;四、Redis 环境安装
安装 Redis 依赖
Redis
是基于 C 语言编写的,因此首先需要安装 Redis 所需要的 gcc 依赖:
yum install -y gcc tcl上传安装包并解压
一般都放到了/usr/local/src
cd /usr/local/src
tar -xzf redis-6.2.6.tar.gz进入 redis 目录:
cd redis-6.2.6运行编译命令:
make && make install如果没有出错,应该就安装成功了。
默认的安装路径是在 /usr/local/bin目录下:

该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令。其中:
- redis-cli:是 redis 提供的命令行客户端
- redis-server:是 redis 的服务端启动脚本
- redis-sentinel:是 redis 的哨兵启动脚本
启动
默认启动
安装完成后,在任意目录输入 redis-server 命令即可启动 Redis:
redis-server
这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则 Redis 停止。不推荐使用。
指定配置启动
如果要让 Redis 以后台方式启动,则必须修改 Redis 配置文件,就在我们之前解压的 redis 安装包下(/usr/local/src/redis-6.2.6),名字叫 redis.conf:

我们先将这个配置文件备份一份:
cp redis.conf redis.conf.bck然后修改 redis.conf 文件中的一些配置:
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123321Redis 的其它常见配置:
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"启动 Redis:
# 进入redis安装目录
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf停止服务:
# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u 123321 shutdown开机自启
我们也可以通过配置来实现开机自启。
首先,新建一个系统服务文件:
vi /etc/systemd/system/redis.service内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target然后重载系统服务:
systemctl daemon-reload现在,我们可以用下面这组命令来操作 redis 了:
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis执行下面的命令,可以让 redis 开机自启:
systemctl enable redis
