Linux常见环境安装


Linux 系统下常用的环境安装

一、Java 环境的安装

1、安装新的 JDK

首先到 jdk 官网上下载你想要的 jdk 版本,下载完成之后将需要安装的 jdk 安装包放到 Linux 系统指定的文件夹下,并且命令进入该文件夹下:这里演示的是把下载的安装包放在了 opt 下的文件夹下

cd /opt

image-20220618233317775

2、解压 jDK 安装包

#解压到当前目录
tar -zxvf jdk-8u333-linux-x64.tar.gz #这句是解压代码
mv  jdk1.8.0_333  jdk1.8             #重命名,可以不修改

image-20220618233818795

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-devel

2、下载并解压安装包

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

image-20220619003354670

image-20220619003607397

3、进入刚刚解压好的目录

cd /usr/local/nginx/nginx-1.28.0/

image-20220619003828890

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时可能遇到的问题

问题描述:找不到日志的路径

image-20250721094758299

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

image-20250721095217018

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. 安装前准备

  1. 从官网下载是用于 Linux 的 Mysql 安装包(也可以直接到 mysql 官网上选择其他版本进行下载。)
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

2.安装 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.gz

2、解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到**/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 mysql

3、如果**/usr/local/下不存在mysql**文件夹,直接执行如下命令,也可达到上述效果。

mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

4、在**/usr/local/mysql**目录下创建 data 目录

mkdir /usr/local/mysql/data

5、更改 mysql 目录下所有的目录及文件夹所属的用户组和用户,以及权限

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

6、编译安装并初始化 mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

补充说明:可能会出现缺少某个链接库文件的错误:

image-20220619011556632

出现该问题首先检查该链接库文件liabio有没有安装,使用下面命令进行核查

rpm -qa | grep libaio

运行命令后发现系统中无该链接库文件

yum install  libaio-devel.x86_64

安装成功后,继续运行数据库的初始化命令,此时可能会出现缺少链接库文件libnuma的错误:

image-20220619011700817

执行如下命令后:

yum -y install numactl

执行无误之后,再重新执行第 4 步初始化命令,无误之后再进行操作!

image-20220619011738737

记录日志最末尾位置**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=1

8、启动 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 start

9、添加软连接,并重启 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 --list

13、开启 3306 端口号

--查询端口是否开放
firewall-cmd --query-port=3306/tcp
--开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
--重启防火墙
firewall-cmd --reload

mysql8 安装过程

安装包及安装路径准备

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.xz

1.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.20

1.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/bin

1.2、初始化基础信息,得到数据库的初始密码,并记录下密码。

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql8.0.20 --datadir=/usr/local/mysql/data/ --initialize

1.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/mysqld

1.4、赋予权限

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

1.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

image-20250721104319211

解决方案:

#、根据报错内容可以看出,是因为在启动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.5

mysql 的启动工作已经完成,现在我们可以来登录 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目录下:

image-20230524103430607

该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令。其中:

  • redis-cli:是 redis 提供的命令行客户端
  • redis-server:是 redis 的服务端启动脚本
  • redis-sentinel:是 redis 的哨兵启动脚本

启动

默认启动

安装完成后,在任意目录输入 redis-server 命令即可启动 Redis:

redis-server

image-20230524103642475

这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则 Redis 停止。不推荐使用。

指定配置启动

如果要让 Redis 以后台方式启动,则必须修改 Redis 配置文件,就在我们之前解压的 redis 安装包下(/usr/local/src/redis-6.2.6),名字叫 redis.conf:

image-20230524103714084

我们先将这个配置文件备份一份:

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 123321

Redis 的其它常见配置:

# 监听的端口
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

文章作者: Liu Yuan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Liu Yuan !
—— 评论区 ——
  目录