jumpServer-02-安装与配置

jumpServer-02-安装与配置


文章目录

  • jumpServer-02-安装与配置
  • 一、什么是jumpServer?
  • 二、jumpServer安装配置
    • ①:初始化配置
      • 01:Linux服务器准备
      • 02:环境准备,关闭防火墙
      • 03: 配置yum源
      • 04:安装系统初始化所需的软件
      • 05:安装jumpserver运行所需的依赖环境
      • 06:修改系统的字符集,改为是中文的
    • ②:安装MySQL8
    • ③:安装Python3.6
      • 01:下载、解压、安装
      • 02: 配置python3的环境变量
      • 03:创建python运行所需的虚拟环境
      • 04: 激活虚拟环境,其实是默认修改了环境变量
    • ④:安装Redis
    • ⑤:jumpServer后台程序部署
      • 01. 下载、解压、安装依赖关系
      • 02. 安装运行jumpServer所需的模块
      • 03.配置文件
    • ⑥:数据库迁移并启动服务
      • 01:数据库迁移
      • 02:启动jms服务
      • 03:访问测试
    • ⑦:部署koko组件
      • 01:下载、解压、配置
      • 02:启动koko程序
    • ⑧:部署Guacanole组件
      • 01:下载、解压
      • 02:编译安装程序(一)
      • 03:安装FFmpeg工具
      • 04:编译安装程序(二)
      • 05:安装Java环境
      • 06:创建运行guacamole所需的文件夹
      • 07:下载tomcat工具
      • 08:部署guacamole和tomcat工具的结合,需要修改他们的配置文件
      • 09:设置guacamole的运行环境变量
      • 10:启动服务
    • ⑨:部署LINA组件
      • 01:下载、解压
    • ⑩:部署Luna组件
      • 01:下载、解压
  • 三、部署Nginx
    • ①:安装nginx
    • ②:修改配置文件


一、什么是jumpServer?

官网:https://www.jumpserver.org/

官方文档:https://docs.jumpserver.org/zh/master/

在这里插入图片描述
在这里插入图片描述

二、jumpServer安装配置

①:初始化配置

01:Linux服务器准备

1.硬件配置

  • 硬件配置如下:
    • 2cpu 4G内存 50G硬盘

2.想要运行jumpServer,需要软件如下

  • python 3.6.x
  • MySQL数据库 5.6以上 或者 mariadb数据库 5.6以上
  • redis 数据库

jumpserver是由python编程语言开发的,旧版的是python2开发的新版的是python3开发的

在这里插入图片描述

02:环境准备,关闭防火墙

执行命令如下:

# 1.清空iptables防火墙规则
iptables -F# 禁用自启动
systemctl disable firewalld# 关闭防火墙
systemctl stop firewalld

03: 配置yum源

1.配置yum源,准备好阿里云的yum源,以及epel源

# 先安装wget
yum install wget -ywget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2.清空原来yum缓存,生成新的yum缓存

#清空原有的yum缓存
yum clean all#生成新的yum缓存,便于加速软件下载
yum makecache

04:安装系统初始化所需的软件

比如:vim wget等

yum install -y bash-completion vim lrzsz wget expect nettools nc nmap tree dos2unix htop iftop iotop unzip telnet slpsmisc nethogs glances bc ntpdate openldap-devel

05:安装jumpserver运行所需的依赖环境

yum -y install git python-pip gcc automake autoconf pythondevel vim sshpass lrzsz readline-devel zlib zlib-devel openssl openssl-devel

06:修改系统的字符集,改为是中文的

# 查看当前系统的字符集设置
locale# 使用以下命令编辑/etc/locale.conf文件(将LANG变量设置为中文(中国)UTF-8编码):
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf# 运行以下命令使设置生效:
source /etc/locale.conf# 重新启动系统,使更改生效
reboot

在这里插入图片描述

②:安装MySQL8

安装笔记:https://blog.csdn.net/cygqtt/article/details/134258778

  • 安装完MySQL之后,我们需要创建jumpServer所需要的用户信息

1.创建数据库

create database jumpserver default charset 'utf8';

在这里插入图片描述

2.创建用户,且设置密码

create user 'jumpserver'@'%' IDENTIFIED BY 'WWW.jumpserver@666.com';

在这里插入图片描述

3.给创建的用户授予访问数据库的权限

GRANT ALL PRIVILEGES ON jumpserver.* TO 'jumpserver'@'%' WITH GRANT OPTION;

在这里插入图片描述

4.刷新权限

flush privileges;

③:安装Python3.6

由于新版jumpserver是python3.6开发的,因此我们得准备好python3.6的环境

01:下载、解压、安装

# 在线下载
cd /opt && \
wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz# 解压
tar -zxf Python-3.6.10.tgz# 指定安装路径,与编译参数
cd Python-3.6.10/#指定位置安装,大概一分钟
./configure --prefix=/opt/python3-6-10/     lsmake && make install

02: 配置python3的环境变量

1.python3的安装目录 /opt/python3-6-10/bin

在这里插入图片描述

2.编辑 文件 /etc/profile

# 在/etc/profile 文件中最后添加一行 PATH="/opt/python3.6.10/bin:$PATH"
PATH="/opt/python3-6-10/bin:$PATH"或者echo PATH="/opt/python3-6-10/bin:$PATH" >> /etc/profile    # 刷新生效
source /etc/profile	tail -1 /etc/profile

在这里插入图片描述

3.测试

echo $PATHpythonpython3

在这里插入图片描述

03:创建python运行所需的虚拟环境

linux系统内置了python2解析器,那么在你安装了python3之后,你的系统上有多个解释器版本共存你得明确 你的项目用哪一个解释器去运行

在这里插入图片描述

为什么要用虚拟环境virtualenv工具

在这里插入图片描述

1.更新pip源 安装python3的模块

# 更新pip下载源 (先创建一个文件)
mkdir ~/.pip
touch ~/.pip/pip.conf# 在创建的pip.conf文件中添加pip的源
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

2.下载虚拟环境工具

pip3 install virtualenv

3.使用virtualenv虚拟环境工具,再创建出一个python3解释器,用于运行代码

 virtualenv --python=python3 jmp_venv1

在这里插入图片描述

  • 此时我们的Linux服务器中就有两个python3解释器了
    • 本地解释器(目录):/opt/python3.6.10/bin/python3
    • **创建的虚拟解释器(目录):/opt/Python-3.6.10/jmp_venv1/bin/python3**

在这里插入图片描述

04: 激活虚拟环境,其实是默认修改了环境变量

# 激活虚拟环境,其实是默认修改了环境变量
source /opt/python3-6-10/jmp_venv1/bin/activate# 使用python3此时使用的就是虚拟环境的
python3# 退出虚拟环境,查看解释器路径(此时变回了本地的虚拟解释器)
deactivate
which python3

在这里插入图片描述

④:安装Redis

安装笔记:https://blog.csdn.net/cygqtt/article/details/134440080

⑤:jumpServer后台程序部署

01. 下载、解压、安装依赖关系

1.下载

wget https://github.com/jumpserver/jumpserver/releases/download/v2.1.0/jumpserver-v2.1.0.tar.gz

在这里插入图片描述

2.解压

tar -zxf jumpserver-v2.1.0.tar.gz

在这里插入图片描述

3.安装依赖关系

yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel

02. 安装运行jumpServer所需的模块

  • 由python开发的程序,必须安装该程序使用到的一些模块,才能正确运行

1.进入到以下/opt/jumpserver-v2.1.0/requirements目录中并复制路径,之后会用

在这里插入图片描述
在这里插入图片描述

2.安装jumpServer模块,先激活虚拟环境,然后再安装

source /opt/python3-6-10/jmp_venv1/bin/activate

在这里插入图片描述

3.执行安装命令

# 首先,确保你已经安装了 MySQL 的开发依赖包
sudo yum install mysql-devel -y# 安装完 MySQL 的开发依赖包后,安装 mysqlclient 库
pip install mysqlclient==1.3.14
cd /opt/jumpserver-v2.1.0/requirements/  
pip install wheel  
pip install --upgrade pip setuptools 
pip install -r requirements.txt

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

03.配置文件

在这里插入图片描述

1.先拷贝一份配置文件

cp config_example.yml config.yml

2.可以先使用命令grep -Ev '^#|^$' config.yml查看一下配置文件

grep -Ev '^#|^$' config.yml

在这里插入图片描述

3.生成密钥

if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi#(jmp_venv1) [root@localhost jumpserver-v2.1.0]# echo $SECRET_KEY (查看生成的密钥)
Ma6MnUujphfqJAE5ILInVnZ9KMCio08MayRmMlbC2P8BavmRof

在这里插入图片描述

4.生成Token

if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi# (jmp_venv1) [root@localhost jumpserver-v2.1.0]# echo $BOOTSTRAP_TOKEN (查看生成的Token)
CVl02JJvBI5s2l6i

在这里插入图片描述

5.修改配置文件/opt/jumpserver-v2.1.0/config.yml

# 加密秘钥 生产环境中请修改为随机字符串,请勿外泄, 可使用命令生成 
# $ cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo
SECRET_KEY: Ma6MnUujphfqJAE5ILInVnZ9KMCio08MayRmMlbC2P8BavmRof# SECURITY WARNING: keep the bootstrap token used in production secret!
# 预共享Token coco和guacamole用来注册服务账号,不在使用原来的注册接受机制
BOOTSTRAP_TOKEN: CVl02JJvBI5s2l6i# 使用Mysql作为数据库
DB_ENGINE: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_USER: jumpserver
DB_PASSWORD: WWW.jumpserver@666.com
DB_NAME: jumpserver# When Django start it will bind this host and port
# ./manage.py runserver 127.0.0.1:8080
# 运行时绑定端口
HTTP_BIND_HOST: 0.0.0.0
HTTP_LISTEN_PORT: 8080
WS_LISTEN_PORT: 8070# Use Redis as broker for celery and web socket
# Redis配置
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379
REDIS_PASSWORD: 123456

在这里插入图片描述
在这里插入图片描述

  • 修改后保存退出

  • 再次使用命令查看配置文件 (刚刚配置的信息已经有了)

grep -Ev '^#|^$' config.yml

在这里插入图片描述

⑥:数据库迁移并启动服务

01:数据库迁移

  • jumpserver这个程序是由python的web框架django开发而来,必须得先进行数据库迁移,生成库表的信息,才能运行程序

1.可以先看以下此时jumpserver数据库中一张表也没有

在这里插入图片描述

2.生成相应的数据库迁移文件。这些迁移文件包含了对数据库进行更改的指令,例如创建新的表格、添加或删除字段等

进入到这个目录下cd /opt/jumpserver-v2.1.0/apps/里面有一个manage.py的python程序就是jumpserve留的后台入口

# 生成相应的数据库迁移文件。这些迁移文件包含了对数据库进行更改的指令,例如创建新的表格、添加或删除字段等
python3 /opt/jumpserver-v2.1.0/apps/manage.py makemigrations

在这里插入图片描述

3. 开始数据库迁移

python3 /opt/jumpserver-v2.1.0/apps/manage.py migrate

在这里插入图片描述

4.我们在查看一下jumpserver数据库中的表(可以看到生成了很多表)

在这里插入图片描述

02:启动jms服务

1.进入到jumpserver文件中/opt/jumpserver-v2.1.0l里面有一个jms可执行文件

在这里插入图片描述

2.启动

./jms start -d

在这里插入图片描述

03:访问测试

1.先开放8080端口

# 开放 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent# 重新加载防火墙配置
firewall-cmd --reload

在这里插入图片描述

2.访问 http://192.168.100.137:8080/

在这里插入图片描述

⑦:部署koko组件

在这里插入图片描述

koko组件实现了SSH Server和Web Terminal Server 的组件,提供 SSH和WebSocket接口,使用 Paramiko和Flask开发

01:下载、解压、配置

1.下载koko源代码

wget https://github.com/jumpserver/koko/releases/download/v2.1.0/koko-v2.1.0-linux-amd64.tar.gz

在这里插入图片描述
在这里插入图片描述

2.解压

tar -zxf koko-v2.1.0-linux-amd64.tar.gz

在这里插入图片描述

3.配置

  • 1.修改一下koko-v2.1.0-linux-amd64文件夹权限(最大权限)
chown -R root:root koko-v2.1.0-linux-amd64

在这里插入图片描述

  • 2. 修改配置文件/opt/koko-v2.1.0-linux-amd64
# 先拷贝一份
cp config_example.yml config.yml# 修改 配置文件 config.yml
vim config.yml# 修改以下内容
# Jumpserver项目的url, api请求注册会使用
CORE_HOST: http://127.0.0.1:8080
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: CVl02JJvBI5s2l6i
# 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]
LOG_LEVEL: INFO
# Redis配置
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379
REDIS_PASSWORD: 123456
REDIS_CLUSTERS:
REDIS_DB_ROOM:
  • BOOTSTRAP_TOKEN 使用的之前生成的Token具体的值在这里插入图片描述

  • 3.使用命令查看一下

grep -Ev '^#|^$' /opt/koko-v2.1.0-linux-amd64/config.yml 

在这里插入图片描述

02:启动koko程序

1.先进入到/opt/koko-v2.1.0-linux-amd64目录下有一个koko的可执行文件

在这里插入图片描述

2.启动程序(加 -d后台运行)

./koko -d

在这里插入图片描述

3.查看一下koko的进程

(jmp_venv1) [root@localhost koko-v2.1.0-linux-amd64]# ps -ef | grep koko
root      93795      1  0 21:28 ?        00:00:00 ./koko -d
root      96009   9957  0 21:29 pts/0    00:00:00 grep --color=auto koko
(jmp_venv1) [root@localhost koko-v2.1.0-linux-amd64]# (jmp_venv1) [root@localhost koko-v2.1.0-linux-amd64]# tail /opt/koko-v2.1.0-linux-amd64/data/logs/koko.log 
2024-01-04 21:28:13 [INFO] Exchange share room type: local
2024-01-04 21:28:13 [INFO] Start HTTP server at 0.0.0.0:5000
2024-01-04 21:28:13 [INFO] Start SSH server at 0.0.0.0:2222
(jmp_venv1) [root@localhost koko-v2.1.0-linux-amd64]#

在这里插入图片描述

⑧:部署Guacanole组件

在这里插入图片描述

01:下载、解压

该软件包github已经找不到了,可以通过docker下载,这里直接提供网盘链接

1.下载源码
链接:https://pan.baidu.com/s/1LML-8bitAWuM69bbmcRe8Q?pwd=Coke
提取码:Coke

  • 给下载后的文件修改一个名字

2.解压并改名

  • 1.第一步解压并给解压后的文件改一个名字
tar -xf guacamole-v2.1.0.tar.gz mv docker-guacamole-2.1.0 guacamole
  • 2.持续解压
    • 进入到这个/opt/guacamole目录中后发现还有压缩包 我们继续解压
    • 解压guacamole-server-1.2.0.tar.gz后台服务和ssh-forward.tar.gz 转发的包
(jmp_venv1) [root@localhost opt]# cd guacamole/(jmp_venv1) [root@localhost guacamole-v1-2.1.0]# ls
Dockerfile           guacamole-auth-jumpserver-1.0.0.jar  README.md  s6-overlay-amd64.tar.gz
guacamole-1.0.0.war  guacamole-server-1.2.0.tar.gz        root       ssh-forward.tar.gz(jmp_venv1) [root@localhost guacamole-v1-2.1.0]# tar -zxf guacamole-server-1.2.0.tar.gz (jmp_venv1) [root@localhost guacamole-v1-2.1.0]# tar -zxf ssh-forward.tar.gz 

02:编译安装程序(一)

1.准备编译环境(安装一些依赖包)

yum install cairo-devel libjpeg-turbo-devel libpng-devel libtool uuid-devel -y# 可选的一些依赖包(我们也安装了)
yum install  freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel -y

在这里插入图片描述

03:安装FFmpeg工具

  • 这个工具主要用来处理音视频的,因为jumpserver提供了录制视频功能

1.执行以下命令安装

sudo yum install epel-release -ysudo rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.rosudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpmyum install ffmpeg ffmpeg-devell -y

在这里插入图片描述

04:编译安装程序(二)

1.首先进入到/opt/guacamole-v1-2.1.0/guacamole-server-1.2.0目录下

cd /opt/guacamole/guacamole-server-1.2.0

在这里插入图片描述

2.开始编译、安装

./configure --with-init-dir=/etc/init.dmake && make install

05:安装Java环境

  • 安装jdk

安装笔记:https://blog.csdn.net/cygqtt/article/details/134440080

06:创建运行guacamole所需的文件夹

mkdir -p /config/guacamole /config/guacamole/extensions /config/guacamole/record  /config/guacamole/drivechown daemon:daemon /config/guacamole/record  /config/guacamole/drivecd /config

在这里插入图片描述

07:下载tomcat工具

cd /opt/
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.84/bin/apache-tomcat-9.0.84.tar.gz

在这里插入图片描述

08:部署guacamole和tomcat工具的结合,需要修改他们的配置文件

cd /opt tar -xf apache-tomcat-9.0.84.tar.gz mv apache-tomcat-9.0.84 tomcat9 rm -rf /opt/tomcat9/webapps/* sed -i 's/Connector port="8080"/Connector port="8081"/g' /opt/tomcat9/conf/server.xml echo "java.util.logging.ConsoleHandler.encoding = UTF-8" >> /opt/tomcat9/conf/logging.propertiesln -sf /opt/guacamole/guacamole-1.0.0.war /opt/tomcat9/webapps/ROOT.war ln -sf /opt/guacamole/guacamole-auth-jumpserver-1.0.0.jar /config/guacamole/extensions/guacamole-auth-jumpserver-1.0.0.jar ln -sf /opt/guacamole/root/app/guacamole/guacamole.properties /config/guacamole/guacamole.properties

在这里插入图片描述

09:设置guacamole的运行环境变量

1.设置环境变量(其中的Toekn换成自己的)

export JUMPSERVER_SERVER=http://127.0.0.1:8080
echo "export JUMPSERVER_SERVER=http://127.0.0.1:8080" >> ~/.bashrcexport BOOTSTRAP_TOKEN=FBEVLP0OKHmNqRMl
export BOOTSTRAP_TOKEN=FBEVLP0OKHmNqRMl >> ~/.bashrc export JUMPSERVER_KEY_DIR=/config/guacamole/keys
echo "export JUMPSERVER_KEY_DIR=/config/guacamole/keys" >>~/.bashrcexport GUACAMOLE_HOME=/config/guacamole
echo "export GUACAMOLE_HOME=/config/guacamole" >> ~/.bashrc export GUACAMOLE_LOG_LEVEL=ERROR
echo "export GUACAMOLE_LOG_LEVEL=ERROR" >> ~/.bashrcexport JUMPSERVER_ENABLE_DRIVE=true
echo "export JUMPSERVER_ENABLE_DRIVE=true" >> ~/.bashrc

在这里插入图片描述

2.我们可以取出一个环境变量值,看是否配置成功

echo $JUMPSERVER_ENABLE_DRIVE

在这里插入图片描述

10:启动服务

# 启动服务命令
/etc/init.d/guacd start# 启动tomcat服务
sh /opt/tomcat9/bin/startup.sh 

在这里插入图片描述

⑨:部署LINA组件

在这里插入图片描述

01:下载、解压

1.下载源码

wget https://github.com/jumpserver/lina/releases/download/v2.1.0/lina-v2.1.0.tar.gz

2.解压

tar -zxf lina-v2.1.0.tar.gz

3.将文件lina-v2.1.0 的所有者和所属组都设置为 nginx

#安装nginx
yum install nginx -y    
systemctl start nginx
systemctl enable nginx# 需要提前装好nginxchown -R nginx:nginx lina-v2.1.0

在这里插入图片描述

⑩:部署Luna组件

在这里插入图片描述

01:下载、解压

1.下载、解压

wget https://github.com/jumpserver/luna/releases/download/v2.1.1/luna-v2.1.1.tar.gztar -zxf luna-v2.1.1.tar.gz

在这里插入图片描述

2.修改所属

chown -R root.root luna-v2.1.1

在这里插入图片描述

三、部署Nginx

nginx作用在处理静态文件,以及用于对jumpserver后台程序的反向代理

①:安装nginx

1.安装

yum install nginx -y

2.启动nginx并设置为开机自启

# 启动nginx
systemctl start nginx# 设置为开机自启
systemctl enable nginx# 查看运行状态
systemctl status nginx

在这里插入图片描述

②:修改配置文件

1.添加以下配置信息

server {listen 80;# server_name _;client_max_body_size 200m; # 文件大小限制# 前端 Linalocation /ui/ {try_files $uri / /index.html;alias /opt/lina-v2.1.0/;}# Luna 配置location /luna/ {try_files $uri / /index.html;alias /opt/luna-v2.1.1/;}# Core data 静态资源location /media/ {add_header Content-Encoding gzip;root /opt/jumpserver-v2.1.0/data/;}location /static/ {root /opt/jumpserver-v2.1.0/data/;}# KoKo Lion 配置location /koko/ {# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署proxy_pass http://localhost:5000;proxy_buffering off;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For 	$proxy_add_x_forwarded_for;access_log off;}# guacamole 配置location /guacamole/ {# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署proxy_pass http://localhost:8081;proxy_buffering off;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $http_connection;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;access_log off;}location /ws/ {# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_pass http://localhost:8070;proxy_http_version 1.1;proxy_buffering off;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";
}location /api/ {proxy_pass       http://localhost:8080;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}location /core/ {proxy_pass http://localhost:8080;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}location / {rewrite ^/(.*)$ /ui/$1 last;}
}

2.使用nginx -t 检查一下语法是否有误

nginx -t# 重启
nginx -s reload

在这里插入图片描述

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8087/tcp --permanent
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=2222/tcp --permanent
firewall-cmd --zone=public --add-port=5555/tcp --permanent
firewall-cmd --reload

或者直接关闭防火墙

sudo systemctl stop firewalld

重新进入python3虚拟环境环境重新启动下jms

cd jumpserver-v2.1.0/# 先停止./jms stop# 在启动
./jms start -d

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/604565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux习题2

解析:虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存,使得每个进程看到的内存空间一致。 解析:所谓系统调用,就是内核提供的、功能十分强大的一系列的函数。这些系统调用是在内核中实现的&…

Qt/QML编程学习之心得:Linux下读写文件File(24)

在Linux嵌入式系统中,经常会使用Qt来读写一个文件,判断一个文件是否存在,具体如何实现呢? 首先,要使用linux系统中相关的头文件: #include <unistd.h> #include <stdio.h> #include <stdlib.h> 其次,判断路径是否存在, if(!dir.exists()){mkdir(…

leetcode12 整数转罗马数字

题目描述&#xff1a;给定一个整数&#xff0c;将其转换为罗马数字。罗马数字由七个字符表示&#xff1a;I&#xff08;1&#xff09;、V&#xff08;5&#xff09;、X&#xff08;10&#xff09;、L&#xff08;50&#xff09;、C&#xff08;100&#xff09;、D&#xff08;5…

视频剪辑技巧:添加srt字幕,提升视频品质的方法

在视频制作和剪辑过程中&#xff0c;字幕的添加是一项常见的技巧。通过添加srt字幕&#xff0c;可以提升视频的品质和观感&#xff0c;让观众更好地理解视频内容。下面一起来看云炫AI智剪如何批量添加srt字幕的方法&#xff0c;如何通过这些技巧提升视频品质。 原视频画面与添…

JAVA中小型医院信息管理系统源码 医院系统源码

开发框架&#xff1a;SpringBootJpathymeleaf 搭建环境&#xff1a;jdk1.8idea/eclipsemaven3mysql5.6 基于SpringBoot的中小型医院信息管理系统&#xff0c;做的比较粗糙&#xff0c;但也实现了部分核心功能。 就诊卡提供了手动和读卡两种方式录入&#xff0c;其中IC读卡器使用…

基于YOLOv7算法的高精度实时水上漂浮物目标检测识别系统(PyTorch+Pyside6+YOLOv7)

摘要&#xff1a;基于YOLOv7算法的高精度实时水上漂浮物目标检测系统可用于日常生活中检测与定位bottle&#xff08;塑料瓶&#xff09;, grass&#xff08;野草&#xff09;, branch&#xff08;树枝&#xff09;, milk-box&#xff08;牛奶盒&#xff09;, plastic-bag&#…

【Spring Boot 源码学习】SpringApplication 的定制化介绍

Spring Boot 源码学习系列 SpringApplication 的定制化介绍 一、引言二、往期内容三、主要内容1. 基础配置1.1 设置关闭 Banner1.2 设置自定义 Banner 打印对象1.3 设置应用程序主入口类1.4 设置用于创建应用程序上下文的工厂1.5 添加 BootstrapRegistry 初始化器实现1.6 设置或…

Java-IO流-15

文件操作 文件创建 package com.edu.file;import org.junit.jupiter.api.Test;import java.io.File; import java.io.IOException;public class Demo01 {public static void main(String[] args) {}Test//方式1public void create01(){String filePath "D:\\new1.txt&q…

算法第十三天-组合总和Ⅱ

组合总和Ⅱ 题目要求 解题思路 按顺序搜索&#xff0c;设置合理的变量&#xff0c;在搜索的过程中判断是否会出现重复集结果。重点理解对输入数组排序的作用和参考代码中 大剪枝和小剪枝 的意思 这道题域上一问的区别在于&#xff1a; 第39题&#xff1a;candidates中的数字…

华为云Sys-default、Sys-WebServer和Sys-FullAccess安全组配置规则

华为云服务器默认安全组可选Sys-default、Sys-WebServer或Sys-FullAccess。default是默认安全组规则&#xff0c;只开放了22和3389端口&#xff1b;Sys-WebServer适用于Web网站开发场景&#xff0c;开放了80和443端口&#xff1b;Sys-FullAccess开放了全部端口。阿腾云atengyun…

ReentrantLock底层原理学习二

以 ReentrantLock 作为切入点&#xff0c;来看看在这个场景中是如何使用 AQS 来实现线程的同步的 ReentrantLock 的时序图 调用 ReentrantLock 中的 lock()方法&#xff0c;源码的调用过程我使用了时序图来展现。ReentrantLock.lock() 这个是 reentrantLock 获取锁的入口 pu…

PPT模板(100套IT科技互联网风)

哈喽&#xff0c;小伙伴们&#xff0c;最近是不是都在准备年终总结、年终述职&#xff0c;一个好的PPT模板是编写报告的开端。我最近也在准备年终总结报告&#xff0c;一块整理了一些PPT模板。这些模板适用于各种IT科技互联网相关的场合&#xff0c;如产品发布会、项目提案、工…

案例081:基于微信小程序的移动平台的远程在线诊疗系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

MybatisPlus—自定义SQL

目录 1. 自定义SQL介绍 2. 自定义SQL使用步骤 3. 自定义SQL实例 4.总结 1. 自定义SQL介绍 介绍&#xff1a;自定义SQL并不是由我们来编写全部SQL语句&#xff0c;而是通过利用MyBatisPlus的Wrapper来构建复杂的Where条件&#xff0c;然后自己定义SQL语句中剩下的部分。 使…

【AI视野·今日CV 计算机视觉论文速览 第283期】Thu, 4 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Thu, 4 Jan 2024 Totally 85 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers LEAP-VO: Long-term Effective Any Point Tracking for Visual Odometry Authors Weirong Chen, Le Chen, Rui Wang, Marc P…

13年测试老鸟,性能测试-全链路压测总结,一文打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、什么是全链路压…

2023湾区产城创新大会:培育数字化供应链金融新时代

2023年12月26日&#xff0c;由南方报业传媒集团指导&#xff0c;南方报业传媒集团深圳分社主办的“新质新力——2023湾区产城创新大会”在深圳举行。大会聚集里国内产城研究领域的专家学者以及来自产业园区、金融机构、企业的代表&#xff0c;以新兴产业发展为议题&#xff0c;…

Godot4.2——爬虫小游戏简单制作

目录 一、项目 二、项目功能 怪物 人物 快捷键 分数 游戏说明 提示信息 三、学习视频 UI制作 游戏教程 四、总结 一、项目 视频演示&#xff1a;Godot4爬虫小游戏简单制作_哔哩哔哩bilibili 游戏教程&#xff1a;【小猫godot4入门教程 C#版 已完结】官方入门案例 第…

云渲染有几种方式?适合设计师的渲染方式是哪种?

云渲染是很多公司首选的渲染方式&#xff0c;它能加快渲染速度提高工作效率&#xff0c;那么云渲染有几种渲染方式呢&#xff1f;这次我们一起来看看。 1、离线渲染 离线渲染也被称作预渲染&#xff0c;通常用于对真实感和复杂细节有高要求的场合&#xff0c;如电影、动画、特效…

深度学习数据集大合集—鱼类数据集

最近收集了一大波有关于各类鱼类的数据集&#xff0c;有淡水鱼、有深海鱼、有鱼的状态、有鱼的分类。大家可以详细查看。废话不多说&#xff0c;接下下来逐一的给大家介绍&#xff01;&#xff01; 1、鱼类检测数据集 包含鱼类的对象检测数据集 本数据集包含4种鱼类及其相关…