【Linux】全程离线安装jdk/mysql/nginx/redis/nacos/xxl-job/elasticsearch等
- 【一】JDK
- 【二】安装mysql
- -----------mysql5.7-------------
- (1)下载官方安装包
- (2)修改配置文件:vim /etc/my.cnf (没有就新建)
- (3)初始化
- (4)登录
- (5)配置mysql环境变量
- (6)如果mysql区分表名大小写,怎么改配置
- (7)mysql的启动、停止、重启
- (8)卸载
- -----------mysql8-------------
- (1)下载官方安装包
- (2)删除Linux中的mysql(如果有的话),上传安装包
- (3)重命名文件为mysql-server
- (4)修改配置
- (5)初始化数据
- (6)添加mysqld服务
- (7)授权以及添加服务(删除)
- (8)启动mysql
- (9)修改root密码
- (10)修改远程连接并生效
- (11)配置mysql的环境变量
- (12)登录
- (14)开放防火墙3306端口
- (15)运维操作
- 【3】5.7版本和8版本的一些不兼容的地方
- 【三】安装redis
- 【四】安装nginx
- ---------------1.20版本-----------------
- (1)进入官网下载nginx资源
- (2)解压安装包
- (3)配置基本信息
- (4)进行编译安装
- (5)进入安装的目录下
- (6)进入sbin目录下,执行一下启动命令
- (7)访问ip:80
- (8)停止和重启nginx
- (9)配置开启启动nginx
- (9)卸载nginx
- ---------------1.24版本-----------------
- -----------离线安装nginx编译需要的环境-------------
- (1)安装编译环境
- (1)解压安装包
- (3)配置基本信息
- (4)进行编译安装
- (5)进入安装的目录下
- (6)修改配置conf,然后重启
- (7)停止和重启nginx
- (8)配置开启启动nginx
- 【五】安装nacos
- 【六】安装xxl-job
- 【七】安装elastic-search
- 【八】整体的yml配置
【一】JDK
(1)检查防火墙状态
systemctl status firewalld
下图表示防火墙运行中,需要执行关闭命令
(2)关闭防火墙
systemctl stop firewalld
(3)关闭防火墙自启动服务
systemctl disable firewalld
(1)下载jdk安装包
xftp传入服务器,上传到/usr/local文件夹下
(2)解压安装包
解压文件到当前目录下
解压命令:
tar -zxvf jdk-8u301-linux-x64.tar.gz
给解压后的文件夹重命名
mv jdk1.8.0_371 jdk8
现在/usr/local路径下就有了一个jdk8文件夹
(3)修改环境变量
(1)编辑全局配置文件/etc/profile
vim /etc/profile
如果提示“vim: 未找到命令”,那就安装vim
yum -y install vim*
(2)输入i 插入以下代码
export JAVA_HOME=/usr/local/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
按ESC + :wq! 保存退出
输入命令让配置文件生效:source /etc/profile
(3)验证
配置成功
(4)vi .bash_profile和vim /etc/profile的区别?
/etc/profile 是全局变量用于所有用户,使文件生效:source /etc/profile
~/.bash_profile 是当前用户变量,编辑vim ~/.bash_profile,生效 source ~/.bash_profile
【二】安装mysql
-----------mysql5.7-------------
(1)下载官方安装包
选择对应的5.7版本安装包
解压安装包
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
创建数据目录:mkdir -p /data/mysql
(2)修改配置文件:vim /etc/my.cnf (没有就新建)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
(3)初始化
解压后的mysql-5.7.35-linux-glibc2.12-x86_64文件移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息)
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
(4)登录
(1)查看初始化密码
cat /data/mysql/mysql.err
(2)修改密码
开启免密码登陆:修改my.cnf文件,默认在/etc/my.cnf
vim /etc/my.cnf
在【mysqld】模块下面添加:skip-grant-tables 保存退出。
(3)重启服务,使配置生效
service mysql restart
(4)登录
/usr/local/mysql/bin/mysql -u root -p //不输入密码直接敲回车键
(5)刷新规则允许外部访问
use mysql #选择访问mysql库
update user set host = ‘%’ where user = ‘root’; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
(6)修改密码
ALTER USER “root”@“%” IDENTIFIED BY “1234”;
FLUSH PRIVILEGES; #刷新
(7)退出
quit
把/etc/my.cnf免密删掉
重启服务:service mysql restart
(8)重新登录
/usr/local/mysql/bin/mysql -u root -p //输入刚修改的密码1234敲回车键
(5)配置mysql环境变量
(6)如果mysql区分表名大小写,怎么改配置
例如数据库中的表名是sys_user,而项目中的sql执行的表名是SYS_USER,这个时候mysql是区分大小写的,这完全是两张不同的表,我们想不区分表名大小写,查到的数据相同
一 :修改方式
1:修改数据库参数文件:my.cnf
2:在mysqld下 添加或修改 lower_case_table_names = 1
3:重启数据库
二 :参数值含义
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的
unix,linux下lower_case_table_names默认值为 0
Windows下默认值是 1
Mac OS X下默认值是 2
三:查看修改
show variables like 'lower_case_table_names';
(7)mysql的启动、停止、重启
(8)卸载
查看当前安装的mysql情况
rpm -qa|grep -i mysql
如果有,全部删除所列的内容,直至rpm -qa|grep -i mysql 时没有内容
逐个卸载上述文件,若不按照顺序卸载,可能会提示“约束依赖”从而导致删除文件失败,所以直接在删除指令后加–nodeps强行删除。
rpm -ev mysql-community-libs-5.6.37-2.el7.x86_64
查找mysql相对应的文件夹
find / -name mysql
用rm-rf命令删除所有文件夹
再用rpm -qa | grep -i mysql查看时候,如果什么也没出现那么说明已经将mysql删除
输入 find / -name mysql 查看相关文件。
输入下列代码删除相关文件。
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /var/log/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
输入 find / -name mysql 指令检验相关文件是否完全删除。至此mysql5.7已经完全卸载干净。
-----------mysql8-------------
(1)下载官方安装包
择linux通用版本
选择glibc 64位压缩包
(2)删除Linux中的mysql(如果有的话),上传安装包
(1)先查看mysql是否存在
rpm -qa|grep -i mysql
如果使用这个命令之后没有出现任何内容,表示没有安装过mysql,如果有出现,则删除。
(2)如果存在,那么停止mysql,删除所有的服务
使用如下命令:
find / -name mysql
删除出现的所有文件
(3)重命名文件为mysql-server
(1)解压压缩包
然后将下载好的压缩包放到 /usr/local 目录下,输入指令解压到当前目录
tar -xvf 可以解压tar.xz后缀的压缩文件
tar -zxvf 可以解压tar.gz后缀的压缩文件
cd /usr/local/
tar -xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
(4)创建mysql用户组和用户并修改权限(可省略)
groupadd mysql
useradd -r -g mysql mysql
(5)创建目录并赋予权限(可省略)
mkdir -p /opt/mysql/data
mkdir -p /opt/mysql/logs #创建目录
chown mysql:mysql -R /opt/mysql
chown mysql:mysql -R /opt/mysql/data
chown mysql:mysql -R /opt/mysql/logs
(3)解压后重命名
回到/usr/local目录下
(这里也可以选择创建一个名为mysql-server软连接指向文件)
cd /usr/local/
mv mysql-8.0.33-linux-glibc2.17-x86_64-minimal /opt/mysql/mysql-server
chown mysql:mysql -R /opt/mysql/mysql-server
#赋予权限
(4)修改配置
(1)覆盖my.cnf
使用本地“mysql\config\my.cnf”文件内容覆盖“/etc/my.cnf”中内容
系统原始的/etc/my.cnf的内容为
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 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=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
(2)MySQL8出现only_full_group_by的解决办法
执行:vi /etc/my.cnf
在[mysqld]后面添加以下内容
[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
重启数据库
(5)初始化数据
进入mysql的bin目录
cd /opt/mysql/mysql-server/bin/
执行初始化数据
./mysqld --defaults-file=/etc/my.cnf --basedir=/opt/mysql/mysql-server/ --datadir=/opt/mysql/data/ --user=mysql --initialize
mysqld --initialize
查询初始化密码
grep 'temporary password' /opt/mysql/logs/mysqld.log
(6)添加mysqld服务
将mysql.server放置到/etc/init.d/mysql中
cp /opt/mysql/mysql-server/support-files/mysql.server /etc/init.d/mysql
(7)授权以及添加服务(删除)
chmod +x /etc/init.d/mysql
chkconfig --add mysql
(8)启动mysql
service mysql start
ps -ef|grep mysql
SUCCESS则表示启动mysql成功
可以用service mysql status 再次查看mysql启动状态
(9)修改root密码
登录
./mysql -u root -p #bin目录下
接下来修改root密码,将123456换成你的新密码
别忘了结尾有个分号“;”
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
然后刷新权限 使密码生效
flush privileges;
(10)修改远程连接并生效
选中mysql数据库
use mysql;
设置允许远程连接并生效
update user set host='%' where user='root';
flush privileges;
root表示想要被连接的数据库的用户名
其中“%”表示允许所有机器能访问root用户
注意本次配置文件里设定了端口号是8010,上图的3306要改成8010
(11)配置mysql的环境变量
全局配置文件加上
vim /etc/profile
:/opt/mysql/mysql-server/bin
输入命令让配置文件生效
source /etc/profile
(12)登录
mysql -uroot -p
用修改之后的密码
登录成功提示
(14)开放防火墙3306端口
到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行
–permanent代表永久生效,否则重启linux后则需要再次开启
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
查看防火墙端口开放状态
firewall-cmd --list-all
自此在linux系统上安装mysql8已经完成,并且可以使用图形化界面远程连接
(15)运维操作
(1)启动
1、使用linux命令service 启动:
service mysqld start
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:
safe_mysqld&
(2)停止
1、使用 service 启动:
service mysqld stop
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop
3、 mysqladmin shutdown
(3)重启
1、使用 service 启动:
service mysqld restart
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld restart
(4)查看mysql端口是否已经使用
使用netstat -anp 命令查看服务器端口使用情况。
【3】5.7版本和8版本的一些不兼容的地方
【三】安装redis
-----------离线安装redis编译需要的环境-------------
另外一篇博客:RedHat离线安装工具yum+gcc+pcre+zlib+openssl+openssh
-----------redis5-------------
(1)下载redis
上传到/usr/local文件夹下
(2)安装C++环境,解压redis
安装C++环境命令:
yum install gcc-c++
cd /usr/local
解压redis命令:
tar -zxvf redis-7.0.4.tar.gz
使用linux命令对解压后的文件夹进行重命名
mv redis-5.0.10 redis
(3)编译安装redis
进入redis目录下执行
cd /usr/local/redis
编译命令:
make
进入redis目录下的src目录,执行以下命令
cd /usr/local/redis/src
安装命令:
make install
在 redis 目录下创建 bin 和 etc 两个文件夹
cd /usr/local/redis
mkdir bin
mkdir etc
将 redis 里的主配置文件 redis.conf 移动到刚创建的 etc 文件夹
mv /usr/local/redis/redis.conf /usr/local/redis/etc
再将 src 目录部分的文件移动到刚创建的 bin 文件夹
cd /usr/local/redis/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /usr/local/redis/bin/
进入 etc 目录,修改 redis.conf 文件
cd /usr/local/redis/etc/
vi redis.conf
(1)注释掉 bind 127.0.0.1 这一行
(2)protected-mode 属性改为 no (关闭保护模式,不然会阻止远程访问)
(3)将 daemonize 属性改为 yes (这样启动时就在后台启动)
(4)设置密码 123456 requirepass 123456
也可以通过以下方式设置密码(前提是初始密码为空,连接客户端时不需要输入密码)
连接客户端,输入以下命令,密码就设置成功了
config set requirepass ‘123456’
(4)在 redis 目录下执行
cd /usr/local/redis/
./bin/redis-server /usr/local/redis/etc/redis.conf
查看redis-server启动状态
ps -ef | grep redis
使用redis客户端连接redis服务端
./bin/redis-cli
auth 123456
(5)启动/停止服务
启动服务
service redis start
停止服务
service redis stop
(4)将redis文件夹中的redis.conf文件复制一份到/usr/local/bin下,方便运行redis服务端
(1)为了便于区分,将复制过来的redis.conf重命名为myredis.conf
(2)进入/usr/local/bin
1-将myredis.conf中的daemonize设置为yes(默认为no),redis就将会在后台运行
2-将myredis.conf中的bind 127.0.0.1 -::1注释(所有服务器可以远程连接redis)
3-保护模式,关闭保护模式,否则外部ip无法连接
(3)测试连接
进入/usr/local/bin目录下
输入以下命令启动redis:
redis-server myredis.conf
测试连接:
redis-cli
(4)开机自启动
vi /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/myredis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机自启动
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
reboot #重启
-----------redis6-------------
(1)升级gcc
安装C++环境命令:
yum install gcc-c++
gcc得版本问题,新版本redis6.0要求gcc必须5.3及以上版本
# 查看gcc版本
gcc -v
升级
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
#注意:scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。
#如果要长期生效的话,执行如下:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
再看一下版本
# 查看gcc版本
gcc -v
(2)解压redis
创建用户
groupadd redis
useradd -r -g redis redis
cd /usr/local
解压redis命令:
tar -zxvf redis-6.0.20.tar.gz
使用linux命令对解压后的文件夹进行重命名
mkdir -p /opt/redis
mv redis-6.0.20 /opt/redis/redis
(3)编译安装redis
进入redis目录下执行
cd /opt/redis/redis
编译命令:
make
进入redis目录下的src目录,执行以下命令
cd /opt/redis/redis/src
安装命令:
make install
在 redis 目录下创建 bin 和 etc 两个文件夹
cd /opt/redis/redis
mkdir bin
mkdir etc
将 redis 里的主配置文件 redis.conf 移动到刚创建的 etc 文件夹
mv /opt/redis/redis/redis.conf /opt/redis/redis/etc
再将 src 目录部分的文件移动到刚创建的 bin 文件夹
cd /opt/redis/redis/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /opt/redis/redis/bin/
(4)修改配置文件
(或者直接把准备的redis-6379.conf复制进去)
进入 etc 目录,修改 redis.conf 文件
cd /opt/redis/redis/etc/
vi redis.conf
(1)注释掉 bind 127.0.0.1 这一行
(2)protected-mode 属性改为 no (关闭保护模式,不然会阻止远程访问)
(3)将 daemonize 属性改为 yes (这样启动时就在后台启动)
(4)设置密码 123456 requirepass 123456
也可以通过以下方式设置密码(前提是初始密码为空,连接客户端时不需要输入密码)
连接客户端,输入以下命令,密码就设置成功了
config set requirepass ‘123456’
(5)在 redis 目录下执行
cd /opt/redis/redis/
./bin/redis-server /opt/redis/redis/etc/redis.conf
或者
cd /opt/redis/redis/
mkdir -p /opt/redis/6379
./bin/redis-server /opt/redis/redis/etc/redis-6379.conf
查看redis-server启动状态
ps -ef | grep redis
使用redis客户端连接redis服务端
./bin/redis-cli
auth 123456
(6)启动/停止服务
启动服务
service redis start
停止服务
service redis stop
【四】安装nginx
---------------1.20版本-----------------
(1)进入官网下载nginx资源
因为是linux安装,所以下载linux安装的资源包
资源下载好以后,使用xftp工具上传到linux服务器,位置随意,可以在/home目录下新建一个个人用户的文件夹,然后把安装包放在这里
(2)解压安装包
解压:tar -zxvf 资源包
(3)配置基本信息
#配置configure --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module查看nginx的客户端状态
./configure --prefix=/usr/local/nginx-1.20.2 --with-http_ssl_module --with-http_stub_status_module
特别注意一下,解压后的文件是在/home/myqxin/java下的,而配置的安装路径是在/usr/local/nginx-1.20.2下,这两个路径不能一样,否则最后安装的时候不会出现sbin目录(部署的时候自己把解压后的包用mv移动到/usr/local/nginx-1.20.2了,然后再使用上面的命令安装到/usr/local/nginx-1.20.2,导致安装失败,不会出现sbin目录和启动脚本)
执行完成如下
然后可以看到我们的目录下,多了一个Makefile文件
(4)进行编译安装
还是在解压包里/home/myqxin/java/nginx-1.20.2
#编译安装nginx
make & make install
如果没有权限,可以使用sudo以root用户权限安装
#编译安装nginx
sudo make & make install
/configure配置环境,configure 脚本根据系统信息将 Makefile.in 模版文件转换为 Makefile文件
make是编译的意思。就是把源码包编译成二进制可执行文件
make install 就是安装的意思
make&& make install的意思是:make与makeinstall是两个命令,在你./configuration生成了Makefile之后执行编译安装;
安装完成
(5)进入安装的目录下
在上面的./configure命令里已经配置了安装位置,也就是/usr/local/nginx-1.20.2
(6)进入sbin目录下,执行一下启动命令
./nginx
(7)访问ip:80
(8)停止和重启nginx
注意systemctl
进入nginx的安装目录下:/usr/local/nginx-1.20.2
(1)启动:./sbin/nginx -c ./conf/nginx.conf
或者systemctl start nginx
(2)停止:./sbin/nginx -s stop
或者./sbin/nginx -s quit
或者先用ps -ef|grep nginx查看nginx进程id,然后使用kill -9 pid来关闭
或者使用systemctl stop nginx
(3)重启:./sbin/nginx -s reload
或者systemctl restart nginx
或者systemctl reload nginx
(4)检查默认配置文件:./sbin/nginx -t -c ./conf/nginx.conf
(9)配置开启启动nginx
编辑文件/etc/rc.d/rc.local在后面添加内容
/usr/local/nginx-1.20.2/sbin/nginx
ll查看下rc.local文件,如果不是绿色表示没有执行权限,则执行指令chmod +x /etc/rc.d/rc.local
设置开机启动或者使用:systemctl enable nginx
关闭开机启动使用:systemctl disable nginx
(9)卸载nginx
---------------1.24版本-----------------
-----------离线安装nginx编译需要的环境-------------
另外一篇博客:RedHat离线安装工具yum+gcc+pcre+zlib+openssl+openssh
(1)安装编译环境
安装gcc
yum install gcc gcc-c++ -y
安装openssl openssl-devel
yum install openssl openssl-devel -y
(1)解压安装包
(1)把安装包上传到/usr/local目录下
(2)执行解压命令
cd /usr/local
tar -zxvf nginx-1.24.0.tar.gz
(3)配置基本信息
首先在/opt下新建nginx目录
mkdir -p /opt/nginx
然后进入刚才解压后的目录下
cd /usr/local/nginx-1.24.0
然后配置安装信息
#配置configure --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module查看nginx的客户端状态
./configure --prefix=/opt/nginx/nginx --with-http_ssl_module --with-http_stub_status_module
特别注意一下,解压后的文件是在/home/myqxin/java下的,而配置的安装路径是在/usr/local/nginx-1.20.2下,这两个路径不能一样,否则最后安装的时候不会出现sbin目录(部署的时候自己把解压后的包用mv移动到/usr/local/nginx-1.20.2了,然后再使用上面的命令安装到/usr/local/nginx-1.20.2,导致安装失败,不会出现sbin目录和启动脚本)
执行完成如下
然后可以看到我们的目录下,多了一个Makefile文件
(4)进行编译安装
还是在解压包里/usr/local/nginx-1.24.0
cd /usr/local/nginx-1.24.0
#编译安装nginx
make & make install
如果没有权限,可以使用sudo以root用户权限安装
#编译安装nginx
sudo make & make install
/configure配置环境,configure 脚本根据系统信息将 Makefile.in 模版文件转换为 Makefile文件
make是编译的意思。就是把源码包编译成二进制可执行文件
make install 就是安装的意思
make&& make install的意思是:make与makeinstall是两个命令,在你./configuration生成了Makefile之后执行编译安装;
安装完成
(5)进入安装的目录下
在上面的./configure命令里已经配置了安装位置,也就是/opt/nginx/nginx
进入sbin目录下,执行一下启动命令
cd /opt/nginx/nginx/sbin
./nginx
访问ip:80
(6)修改配置conf,然后重启
nginx.conf的存放路径在/opt/nginx/nginx/conf下面
要添加的内容
(注意,要修改ip地址,还有静态文件web的存放路径,把/home/yatop改成具体的用户名下)
upstream damp.gw {
server 192.168.21.38:20110;
}
server {
listen 20100;
server_name localhost;
#文件最大值
client_max_body_size 100m;
#charset koi8-r;
location / {
if ($request_filename ~* .*\.(?:htm|html)$){
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
root /home/yatop/web/main;
index index.html;
try_files $uri $uri/ /index.html;
}
location /subapp {
if ($request_filename ~* .*\.(?:htm|html)$){
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
alias /home/yatop/web/subapp;
try_files $uri $uri/ /index.html;
}
location /dapapi/ {
proxy_pass http://damp.gw/;
proxy_redirect off;
}
location /sysapi/ {
proxy_pass http://damp.gw/dap-sys-api/;
proxy_redirect off;
}
location /qltyapi/ {
proxy_pass http://damp.gw/dap-qlty-api/;
proxy_redirect off;
}
location /stdapi/ {
proxy_pass http://damp.gw/dap-std-api/;
proxy_redirect off;
}
location /dataserve_api/ {
proxy_pass http://damp.gw/dap-dataserve-api/;
proxy_redirect off;
}
location /dmapi/ {
proxy_pass http://damp.gw/dap-dm-api/;
proxy_redirect off;
}
location /reqtapi/ {
proxy_pass http://damp.gw/dap-reqt-api/;
proxy_redirect off;
}
location /assetapi {
proxy_pass http://damp.gw/dap-asset-api/;
proxy_redirect off;
}
location /metaapi {
proxy_pass http://damp.gw/dap-meta-api/;
proxy_redirect off;
}
location /secapi {
proxy_pass http://damp.gw/dap-sec-api/;
proxy_redirect off;
}
location /dictapi {
proxy_pass http://damp.gw/dap-dict-api/;
proxy_redirect off;
}
location /maindataapi {
proxy_pass http://damp.gw/dap-maindata-api/;
proxy_redirect off;
}
}
server {
listen 20101;
server_name localhost;
#文件最大值
client_max_body_size 100m;
#charset koi8-r;
location / {
if ($request_filename ~* .*\.(?:htm|html)$){
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
root /home/yatop/web/portal;
index index.html;
try_files $uri $uri/ /index.html;
}
location /sysapi/ {
proxy_pass http://damp.gw/dap-sys-api/;
proxy_redirect off;
}
location /assetapi {
proxy_pass http://damp.gw/dap-asset-api/;
proxy_redirect off;
}
location /dapapi/ {
proxy_pass http://damp.gw/;
proxy_redirect off;
}
}
(7)停止和重启nginx
注意systemctl
进入nginx的安装目录下:/opt/nginx/nginx
cd /opt/nginx/nginx/sbin
(1)启动:./sbin/nginx -c ./conf/nginx.conf
或者systemctl start nginx
(2)停止:./sbin/nginx -s stop
或者./sbin/nginx -s quit
或者先用ps -ef|grep nginx查看nginx进程id,然后使用kill -9 pid来关闭
或者使用systemctl stop nginx
(3)重启:./sbin/nginx -s reload
或者systemctl restart nginx
或者systemctl reload nginx
(4)检查默认配置文件:./sbin/nginx -t -c ./conf/nginx.conf
(8)配置开启启动nginx
编辑文件/etc/rc.d/rc.local在后面添加内容
/usr/local/nginx-1.20.2/sbin/nginx
ll查看下rc.local文件,如果不是绿色表示没有执行权限,则执行指令chmod +x /etc/rc.d/rc.local
设置开机启动或者使用:systemctl enable nginx
关闭开机启动使用:systemctl disable nginx
【五】安装nacos
【1】下载nacos
【2】nacos解压
(1)上传安装包到/usr/local目录下
(2)进入/usr/local目录,执行解压命令
cd /usr/local
tar -xzvf nacos-server-2.2.3.tar.gz
(3)移动文件夹位置,并且重命名
mkdir -p /opt/nacos
mv nacos /opt/nacos/nacos
再进入解压后的文件夹查看
cd /opt/nacos/nacos
nacos文件如下
解压完成
【3】创建用户,并授予数据库连接权限
groupadd nacos
useradd -r -g nacos nacos
【4】nacos持久化
(1)找到sql脚本
cd /opt/nacos/nacos/conf
#复制nacos-mysql.sql在数据库中执行此脚本,生成nacos相关的表,这些表可以存储nacos配置文件信息
(2)方法一:用Navicat工具
可以复制里面的sql脚本到Navicat里执行,不方便的话就直接用mysql命令执行
(3)方法二:用mysql命令
先登录
mysql -uroot -p123456
然后创建库
create database nacos CHARSET=utf8 COLLATE=utf8_bin;
使用nacos库
use nacos;
最后执行sql脚本
source /opt/nacos/nacos/conf/mysql-schema.sql
(4)创建nacos用户,并授权
后面修改nacos的配置文件,配置数据源的时候会用到这个账号和密码进行连接
# 用户名是nacos,密码也是nacos
create user 'nacos'@'%' identified with mysql_native_password by 'nacos';
# 授予权限
grant all privileges on nacos.* to 'nacos'@'%';
# 刷新权限
FLUSH PRIVILEGES;
【5】修改配置文件,连接数据库
(1)进入conf文件夹
cd /opt/nacos/nacos/conf
(2)编辑配置文件
vi application.properties
(3)修改内容
注意的是确定好mysql的ip和端口号,灵活设置。
#取消注释:
spring.datasource.platform=mysql
db.num=1
### Connect URL of DB: 相关的
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
#默认端口,可以按自己需求改其他
server.port=8848
#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
# nacos.inetutils.prefer-hostname-over-ip=false
### Specify local server's IP:
# nacos.inetutils.ip-address=
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
#这个注释放开,注意取消注释后不能有空格
spring.datasource.platform=mysql
### Count of DB:
#这个注释放开,注意取消注释后不能有空格,如果是多个数据库,这里按数据库个数修改
db.num=1
### Connect URL of DB:
#这个注释放开,注意取消注释后不能有空格 ,连接数据库
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=dxhy
db.password.0=Qb0&%ZR4MlNbh(2b
### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
【6】修改通用配置(可跳过)
将“/opt/nacos/nacos/conf/application.properties”文件中相关配置项的值改为如下配置项的值
server.tomcat.basedir=/opt/nacos/nacos
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=Yatop@123.2023
nacos.core.auth.plugin.nacos.token.secret.key=YatopSecretKey012345678901234567890123456789012345678901234567890123456789
【7】修改启动文件
在“/opt/nacos/nacos/bin/startup.sh”文件开始处增加如下图配置
cd /opt/nacos/nacos/bin
vi startup.sh
增加下面这行配置(这个路径就是上面安装jdk的路径)
JAVA_HOME = /usr/local/jdk8
【8】启动
(1)进入nacos的bin目录
cd /opt/nacos/nacos/bin
(2)执行启动命令
#单机版启动命令
./startup.sh -m standalone
#查看启动日志
cat /opt/nacos/nacos/logs/start.out
启动成功。如果启动失败,根据失败日志定位问题
【9】访问nacos客户端
启动完之后,访问nacos管理页面http://127.0.0.1:8848/nacos/#/login,nacos默认账号密码nacos,登录进去就可以使用nacos了。
#127.0.0.1 是nacos所在服务器的外网ip
【六】安装xxl-job
【1】下载安装包2.3版本
下载地址:xxl-job下载地址
选择不同的分支branch,就可以选择不同的版本了
另一种下载tar.gz后缀的文件,方法如下:
然后复制到一个地址栏上,然后把这个zip的后缀改成tar.gz就行了,最后按回车,就会自动下载tar.gz的文件了
安装环境:
Maven3+
Jdk1.8+
Mysql8
【2】上传文件并解压
(1)把压缩包上传到/usr/local目录下面
(2)解压压缩包
cd /usr/local
tar -zxvf xxl-job-2.3.0.tar.gz
(3)移动安装包到opt目录下
mkdir -p /opt/xxl-job
mv xxl-job-2.3.0 /opt/xxl-job/xxl-job
【3】初始化数据库
(1)登录mysql
mysql -uroot -p123456
(2)导入安装包里的sql脚本
source /opt/xxl-job/xxl-job/doc/db/tables_xxl_job.sql
(3)查看数据库情况
show databases;
use xxl_job;
show tables;
【4】修改配置文件
vim /opt/xxl-job/xxl-job/xxl-job-admin/src/main/resources/application.properties
修改内容如下
# 默认端口8080
server.port=8080
# 修改数据库信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
【5】修改日志位置
(1)先创建文件夹
mkdir /opt/xxl-job/xxl-job/logs
(2)修改配置
vim /opt/xxl-job/xxl-job/xxl-job-admin/src/main/resources/logback.xml
修改内容如下
修改路径
<property name="log.path" value="/opt/xxl-job/xxl-job/logs/xxl-job-admin.log"/>
【6】修改执行器配置文件
vim /opt/xxl-job/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
修改内容如下
# 默认端口8081
server.port=8081
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
xxl.job.executor.logpath=/opt/xxl-job/xxl-job/jobhandler
【7】修改执行器日志文件位置
vim /opt/xxl-job/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/logback.xml
修改内容如下
<property name="log.path" value="/opt/xxl-job/xxl-job/logs/xxl-job-executor-sample-springboot.log"/>
【8】安装maven
(1)下载
下载地址:maven下载
(2)上传安装包到/usr/local目录下,并解压
cd /usr/local
tar -zxvf apache-maven-3.8.8-bin.tar.gz
(3)重命名
mv apache-maven-3.8.8 /usr/local/maven
(4)修改环境变量的配置文件
vim /etc/profile
添加下面的内容
export MAVEN_HOME=/usr/local/maven
export PATH=${PATH}:${MAVEN_HOME}/bin
使文件生效
source /etc/profile
测试是否生效
mvn -v
【9】编译xxl-job项目(也就是打成jar包)
在解压目录下执行
cd /opt/xxl-job/xxl-job
mvn package
【10】启动xxl-job
看一下生成的jar包名称
nohup java -jar /opt/xxl-job/xxl-job/xxl-job-admin/target/xxl-job-admin-2.3.0.jar >> /opt/xxl-job/xxl-job/logs/admin.log 2>&1 &
nohup java -jar /opt/xxl-job/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.3.0.jar >> /opt/xxl-job/xxl-job/logs/executor.log 2>&1 &
可以查看启动的日志
cat /opt/xxl-job/xxl-job/logs/executor.log
cat /opt/xxl-job/xxl-job/logs/executor.log
【11】验证启动效果
访问:http://xxx:8080/xxl-job-admin
如果连接不上
安装netstat工具
yum install net-tools -y
查看8080端口是否有线程
netstat -anp|grep 8080
netstat -anp|grep 8081
可以查看启动的日志
cat /opt/xxl-job/xxl-job/logs/executor.log
cat /opt/xxl-job/xxl-job/logs/executor.log
有报错
--------------如果已经有现成的jar包了----------------
(1)在服务器外面就把配置的信息改好
(1)把整个文件夹放到/usr/local下面
【七】安装elastic-search
【1】下载
【2】解压
把下载好的安装包放到/usr/local目录下
然后开始执行解压命令
cd /usr/local
tar -zxvf elasticsearch-7.17.10-linux-x86_64.tar.gz
然后开始移动文件夹,并且重命名
mkdir -p /opt/elasticsearch
mv elasticsearch-7.17.10 /opt/elasticsearch/elasticsearch
【3】创建es用户
Elasticsearch不允许用root身份启动,所以要新建一个用户并授予权限
useradd elasticsearch
passwd elasticsearch
(密码为:DAXIEmima123456)
chown -R elasticsearch:elasticsearch /opt/elasticsearch
【4】修改es配置文件
修改ES的核心配置文件
vim /opt/elasticsearch/elasticsearch/config/elasticsearch.yml
在文件末尾添加以下几行
cluster.name: elasticsearch
node.name: node-1
# 访问地址
network.host: 0.0.0.0
# 访问端口
http.port: 9200
# 集群主节点列表
cluster.initial_master_nodes: ["node-1"]
修改内存参数配置
vim /opt/elasticsearch/elasticsearch/config/jvm.options
我的服务器是2核4G,这里更改为1g
温馨提示:修改此参数时请参考服务器的内存大小,否则一启动ES整个服务器直接卡死
【5】修改系统配置文件
修改/etc/security/limits.conf
vim /etc/security/limits.conf
在末尾加入以下内容
# 每个进程可以打开的文件数限制
# elasticsearch soft nofile 65536
# elasticsearch hard nofile 65536
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch soft nofile 65535
elasticsearch hard nofile 65535
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
修改/etc/security/limits.d/20-nproc.conf
vim /etc/security/limits.d/20-nproc.conf
在末尾加入以下内容
# 每个进程可以打开的文件数限制
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
修改/etc/sysctl.conf
vim /etc/sysctl.conf
在末尾加入以下内容
# 一个进程可以拥有的虚拟内存区域的数量
vm.max_map_count=262144
重新加载
sysctl -p
【6】启动es
启动Elasticsearch之前一定要切换到elasticsearch用户,执行以下命令
# 切换用户
su elasticsearch
# 切换到bin目录
cd /opt/elasticsearch/elasticsearch/bin
# 启动命令,加上-d为后台启动
./elasticsearch -d
(启动的时候最好是带上-d,然后es后台启动,否则shell关闭的时候,可能也会导致es自动挂掉)
启动成功后通过浏览器访问http://服务器IP地址:9200查看,出现以下内容为启动成功
【7】配置es的用户名和密码
(1)编辑配置文件
vim /opt/elasticsearch/elasticsearch/config/elasticsearch.yml
末尾处添加以下内容
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
(2)重启ES
前台运行通过Ctrl + C 终止程序
后台运行则查看进程id并杀死进程
# 查看进程
ps -ef|grep elastic
# 杀死进程
kill -9 id
(3)设置用户名密码
/opt/elasticsearch/elasticsearch/bin/elasticsearch-setup-passwords interactive
根据提示输入密码即可
(4)验证密码是否生效
重新用浏览器访问es,弹出以下窗口即为成功
默认用户名为elastic
密码为刚才设置的密码
【8】注意事项
设置密码之前Elasticsearch需要启动一次,否则报错
ERROR: Elasticsearch keystore file is missing
设置密码时Elasticsearch必须处于启动状态,否则报错
ERROR: Failed to connect to elasticsearch at http://127.0.0.1:9200/_security/_authenticate?pretty
请确保项目中使用的Elasticsearch版本与安装的ES版本一致,可以在外部库中查看当前版本
【9】运维操作
首先要进入安装包的bin目录里
cd /opt/elasticsearch/elasticsearch/bin
(1)启动
./elasticsearch -d
(2)停止
ps -ef | grep elasticsearch
kill -9 pid
(3)
【八】整体的yml配置
spring:
## servlet 配置
servlet:
## multipart 配置
multipart:
## 上传最大文件大小
max-file-size: 100MB
## 总上传请求大小
max-request-size: 100MB
## 数据库配置
datasource:
## 驱动
driver-class-name: com.mysql.cj.jdbc.Driver
## 连接url
url: jdbc:mysql://自己的ip:8010/damp_qlty?useUnicode=true&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true&characterEncoding=utf-8&autoReconnect=true&useUnicode=true&allowMultiQueries=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
## 用户名
username: root
## 密码
password: 123456
## cloud 配置
## cloud 配置
cloud:
## nacos 配置
nacos:
## nacos 注册中心配置
discovery:
## 服务器地址
server-addr: 自己的ip:8848
## 命名空间ID
namespace: 1449fa14-971c-44fe-bac5-b3987c00b98a
group: DEFAULT_GROUP
username: nacos
password: nacos
redis:
# redis服务器地址(默认为localhost)
host: 自己的ip
# redis端口(默认为6379)
port: 6379
# redis访问密码(默认为空)
elasticsearch:
rest:
uris:
- 自己的ip:9200
## mybatis-plus 配置
mybatis-plus:
## 数据库类型
db-type: mysql
## 打印sql配置
# configuration:
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
## mybatis-plus 配置
mybatis-plus:
## 数据库类型
db-type: mysql
plugin:
datasource:
path: /home/yatop/api/plugins