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

1.安装jdk

1.1准备环境和软件

  • jdk-8u251-linux-x64.tar.gz
  • CentOS 7.6

1.2 创建软件目录

使用root用户,在/mnt下创建java目录。

mkdir /mnt/java

1.3 解压安装包

tar -zxvf jdk-8u251-linux-x64.tar.gz 

解压后得到文件 jdk1.8.0_251

1.4 移动软件解压包

# 创建文件目录
mkdir /usr/local/java
# 移动文件到/usr/local/java目录下
mv /mnt/java/jdk1.8.0_251 /usr/local/java/.

1.5配置JDK环境变量

#  运行命令:
vi /etc/profile
  
# 在文件末尾添加如下内容,并保存:
export JAVA_HOME=/usr/local/java/jdk1.8.0_251
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
  
# 让配置生效
source /etc/profile
  
# 查看JDK环境变量是否配置成功,并且出现配置信息。
java -version
  
# java version "1.8.0_251"
# Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
# Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

2.安装nginx

参考文档链接:https://www.cnblogs.com/boonya/p/7907999.html

2.1 创建目录解压安装包

# 创建nginx 目录
mkdir /mnt/nginx
# 解压安装包
tar -zxvf nginx-1.18.0.tar.gz

2.2 安装nginx 相关组件服务

 yum -y install gcc-c++
 
 yum -y install openssl openssl-devel
  
 yum -y install pcre pcre-devel
  
 yum -y install zlib zlib-devel

2.3 使用默认配置

# 进入到 /mnt/nginx/nginx-1.18.0文件里
./configure
# 编译安装
make 
make install

2.4启动停止nginx

# 进入nginx 的安装目录
cd /usr/local/nginx/sbin/
# 启动nginx
./nginx
# 停止nginx 
./nginx -s stop
# 2.4安装nginx ,这个命令如果报错,需要把换行生成的空格去掉。

./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模块

#以上配置参数可根据自身实际情况相应调整。

 # 2.5 配置环境变量
  vi /etc/profile
  
 ##  文件内添加如下内容
  
export NGINX_HOME=/usr/local/nginx

export PATH=$PATH:$NGINX_HOME/sbin
  
 ## 让配置生效
 source /etc/profile
  
 # 2.6 设置nginx为系统服务
 # 在/lib/systemd/system目录下创建nginx.service文件,
 # 运行命令:
  vi /lib/systemd/system/nginx.service
 # 输入下个代码框的内容
[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

3.安装mysql

参考链接: https://www.cnblogs.com/xiongnanbin/p/11834979.html

3.1 创建目录

使用root用户,在/mnt下创建mysql目录。

mkdir /mysql

3.2 在/mnt/mysql目录下,解压安装包

tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
# 将解压的文件夹移动到 /usr/local 下 并且改名为 
mv /mnt/mysql/mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/.
# 改名为mysql
mv mysql-5.7.32-linux-glibc2.12-x86_64/ mysql

3.3进入mysql , 由于5.7没有data目录,自己创建一个

# 进入目录
cd  mysql
# 创建dota目录
mkdir data

3.4 创建mysql用户和用户组

groupadd mysql

useradd mysql -g mysql

# useradd -r参数表示mysql用户是系统用户,不可用于登录系统

3.5改变mysql目录权限,之前的是root权限,现在设置成mysql 权限

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

3.6初始化数据库

这里有个前提:拥有libaio库文件。

#  初始化数据库
./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

# 初始化报错 : error while loading shared
# 原因: 缺少libaio库文件
# 解决方法:
  yum install -y libaio

3.7 把mysql 服务放在本地系统服务中

cp -a ./support-files/mysql.server /etc/init.d/mysqld

3.8由于mysql内没有my-default.cnf文件,直接编辑的 /etc/my.cnf

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

user=mysql

port=3306

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

symbolic-links=0

max_connections=200

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=32M

explicit_defaults_for_timestamp=true

[mysqld_safe]

log-error=/var/log/mysql/mysql.log

pid-file=/var/run/mysql/mysql.pid

注意:mysql连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock,这个socket路径不要修改,不然连本地mysql的时候回报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

因为my.cnf中配置了log-error、pid-file路径,因此需要在/var/log/、/var/run/创建mysql目录,并且给mysql用户全部的权限(chmod)

chmod -R 777 /var/log/mysql/

chmod -R 777 /var/run/mysql/

3.9 启动服务并修改密码

密码:建议别太简单,这里推荐密码生成器

# 启动服务 
service mysqld start

# 查看初始密码
cat /root/.mysql_secret
# 在/usr/local/mysql下登录客户端 
bin/mysql -u root -p

# 修改密码
SET PASSWORD FOR 'root'@localhost=PASSWORD('NFn728$vD2Lrvx6Q');

# 配置环境变量
vi /etc/profile
增加如下配置: export PATH=$PATH:/usr/local/mysql/bin
#  立即生效
source /etc/profile
# 开机自启
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

chkconfig --level 345 mysqld on

# systemctl start mysqld              启动服务

# systemctl stop mysqld                停止服务

# systemctl restart mysqld              重新启动服务

# systemctl list-units --type=service     查看所有已启动的服务

# systemctl status mysqld              查看服务当前状态

# systemctl enable mysqld             设置开机自启动

#systemctl disable mysqld             停止开机自启动

然后重启电脑

reboot

查看mysql运行状态

service mysqld status

# 限制ip 段 登录

mysql -u root -p

use mysql;

update user set host = '%' where user = 'root';

FLUSH PRIVILEGES;

增加只有新增,查询,更新权限的用户。

到这里 应该完成数据库 nny_examine的建立

数据和结构同步完成。

//查询所有用户
select * from user;
//创建一个用户,并且允许所有ip登录
CREATE USER 'gm123'@'%' IDENTIFIED BY '123456'; 
//指定部分权限(数据库nny_examine的所有表,分配Select,Update,Insert,Delete权限)
grant Select,Update,Insert,Delete on nny_examine.* to 'gm123'@'%' identified by '123456'; 
//刷新权限
flush privileges; 

[Unit]

Description=RedisIn-Memory Data Store

After=network.target

[Service]

ExecStart=/usr/local/redis/redis-5.0.10/src/redis-server /usr/local/redis/redis-5.0.10/redis.conf  --daemonize no

ExecStop=/usr/local/redis/redis-5.0.10/src/redis-cli shutdown

[Install]

WantedBy=multi-user.target

4.redis 服务安装

参考链接:https://blog.csdn.net/linyifan_/article/details/86508298

4.1 进入/mnt/redis 目录

##  解压redis
tar -zxvf redis-5.0.10.tar.gz 
##将redis 移动到 /usr/local/目录下
mv /mnt/redis/redis-5.0.10 /usr/local/.
## 进入/usr/local
cd /usr/local/
// 完成改名
mv redis-5.0.10  redis

4.2 进入redis 目录内完成编译安装

## 进入redis 目录内
cd /usr/local/redis
## 编译源码 
make
## 修改配置文件
vi redis.conf (这里可以直接上传我们配置好的)

4.3配置文件修改详解

a.远程访问需要把bind注释掉
  bind 127.0.0.1 修改为 # bind 127.0.0.1
b.默认启动时为后台启动
  daemonize yes
c.设置密码,找到
 # requirepass foobared 字符
 修改为
 requirepass password  
 ##(密码建议使用加密的)

4.4进入 src 文件夹以配置文件的形式启动项目

## 此刻我们身处在 /usr/local/redis 下
cd src
## 以上层目录的配置文件作为启动文件。。
./redis-server ../redis.conf
## 查看是否启动成功,如果有 6379 端口的服务代表启动成功
netstat -nlpt
## 进入redis客户端
./redis-cli
## 进入客户端交互模式输入密码
auth password
## 测试是否可用
set test test
get test

4.5 设置redis 开机自启动

## a.在/etc目录下新建redis目录
cd /etc
mkdir redis
## b.复制配置文件
cp /usr/local/redis/redis.conf  /etc/redis/6379.conf
## c.将redis的启动脚本复制一份放到/etc/init.d目录下
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd
## d.切换到/etc/init.d目录下 然后执行自启命令
cd /etc/init.d/
chkconfig redisd on

4.6 redis 报错集合

## a.如果报service redisd does not support chkconfig 错误
## 解决办法
则修改redisd 文件 vi redisd 在第一行加入如下两行注释,保存退出

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database


## b.启动 关闭 redis ,关闭redis 失败
service redisd start
service redisd stop
#(error) NOAUTH Authentication required.
#    Waiting for Redis to shutdown ...
#     Waiting for Redis to shutdown ...
#     Waiting for Redis to shutdown ...

## 修改启动脚本 关闭时的密码 

vi redisd
将 $CLIEXEC -p $REDISPORT shutdown 修改为
$CLIEXEC -a "password" -p $REDISPORT shutdown

## c.   如果stop失败 报/usr/local/bin/redis-cli: No such file or directory

## 需要修改启动脚本 资源包路径

将
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
修改为
EXEC=/usr/local/redis-5.0.3/src/redis-server
CLIEXEC=/usr/local/redis-5.0.3/src/redis-cli

5.KkFileView 在线查看服务

参考链接:https://kkfileview.keking.cn/zh-cn/docs/production.html

5.1环境要求

  1. Java: 1.8+
  2. OpenOffice或LiberOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)

5.2虚拟机部署

## 解压压缩包
tar -zxvf kkFileView-2.2.1.tar.gz 
## 打开解压后文件夹的bin目录,运行startup脚本
注意:(Windows下以管理员身份运行startup.bat,Linux以root用户运行startup.sh)
## 部署完成

6. 部署jar 包

nohup java -jar <jar包名称> >/mnt/jixiao/log/nny.log 2>&1 &
posted @ 2021-01-28 13:44  GMGood007  阅读(385)  评论(0)    收藏  举报