JumpServer 简介安装

2024-03-08 12:20
文章标签 安装 简介 jumpserver

本文主要是介绍JumpServer 简介安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、概念介绍

JumpServer 概述

JumpServer 功能

JumpServer 组件

JumpServer 架构

2、前置安装

环境要求

安装 ELRepo 库

更新内核

设置 grub2

安装 Python

配置 Python 虚拟环境

3、安装 Jumpserver Core 组件

下载安装

替换客户端组件

安装 Python 依赖库

安装 Redis

安装 MySQL

生成秘钥

修改 Jumpserver 配置文件

生成数据库表结构和初始化数据

编辑服务启动脚本

4、安装 Lina 组件(源码)

安装 node

安装 Lina

修改 Lina 配置文件

构建部署 lina

安装部署 Luna

5、部署 Koko 组件

安装 KoKo

修改配置文件

启动 KoKo

6、部署 Lion 组件

安装 guacamole

安装 Lion

启动服务

7、部署 Magus 组件

安装 wisp

安装 Magus

启动 wisp

8、设置 Nginx 整合各个组件

安装 Nginx

修改配置文件

创建 Jumpserver.conf 配置文件

启动 nginx

登录 jumpserver


1、概念介绍

跳板机概述

堡垒机概述

跳板机:就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。

跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中 还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人;

堡垒机:即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。

堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能

JumpServer 概述

Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。

Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。

Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。 为互联网企业提供了认证,授权,审计,自动化运维等功能。

JumpServer 功能

用户组/用户 :添加组方便进行授权,用户是授权和登陆的主体.

资产组/资产/IDC : 主机信息简洁完整,用户自定义备注登录,支持自动获取主页硬件信息.

Sudo/系统用户/授权规则 :支持 sudo 授权,系统用户用于登陆客户端,授权是将用户、资产和系统用户关联起来.

在线/登录历史/命令记录/上传下载 : 在线实时监控用户操作,统计和录像回放用户操作内容,阻断控制,详细记录上传下载.

上传/下载 : 支持文件上传下载,实现 lrzsz 方式.

默认设置 : 默认管理用户,设置包括用户密码密钥,默认信息为了方便添加资产而设计.

JumpServer 组件

Jumpserver 为管理后台,管理员可以通过 Web 页面进行资产管理、用户管理、资产授权等操作

Coco 为 SSH Server 和 Web Terminal Server(网页 linux 客户端)。用户可以通过使用自己的账户登录 SSH 或者 Web Terminal 直接访问被授权的资产。不需要知道服务器的账户密码,新版本的 coco 被 koko 取代。

Luna 为 Web Terminal Server 前端页面,用户使用 Web Terminal 方式登录所需要的组件 Guacamole 为 Windows 组件,用户可以通过 Web Terminal 来连接 Windows 资产 (暂时只能通过 Web Terminal 来访问)

JumpServer 架构

Core

是 JumpServer 的核心组件,其他组件依赖此组件启动。

Koko

是服务于类 Unix 资产平台的组件,通过 SSH、Telnet 协议提供字符型连接。

Lina

是 JumpServer 的前端 UI 项目,主要使用 Vue,Element UI 完成。

Luna

是 JumpServer 的前端 UI 项目,主要使用 Angular CLI 完成.

Lion

是服务于 Windows 资产平台的组件,用于 Web 端访问 Windows 资产。

Omnidb

是服务于数据库的组件,用于可视化界面纳管数据库。

Razor

是服务于 RDP 协议组件,该组件主要功能是通过 JumpServer Client 方式访问 Windows 资产。

Magnus

是服务于数据库的组件,用于通过客户端代理访问数据库。

Celery

是处理异步任务的组件,用于执行 JumpServer 相关的自动化任务。

2、前置安装
环境要求
  • 操作系统 4 核 8G
  • MySQL 8
安装 ELRepo 库
# 导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org# 安装ELRepo仓库的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
更新内核
# 查看可用的系统内核包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available# 装最新版本内核
yum --enablerepo=elrepo-kernel install -y kernel-ml
设置 grub2

内核安装好后,需要设置为默认启动选项并重启后才会生效

# 查看系统上的所有可用内核:
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

设置新的内核为grub2的默认版本:设置GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核:

sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g' /etc/default/grub# 生成 grub 配置文件并重启
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot# 查看内核
uname -a

安装 Python
# 软件下载地址:我们下载的是python3.9.16
wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz# 配置阿里源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo# 安装依赖包
yum install -y gcc gcc-c++ zlib-devel bzip2-devel openssl-devel \
ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel \
db4-devel libpcap-devel xz-devel libffi-devel git编译安装
tar -zxvf Python-3.9.16.tgz -C /usr/local/src/
cd /usr/local/src/Python-3.9.16/
./configure --prefix=/usr/local/python
make -j 4   
make install   # 给python做软连接
ln -s /usr/local/python/bin/* /usr/local/bin/# 查看python版本
python3 -V
配置 Python 虚拟环境

因为CentOS 6/7 自带的是 Python2,而Yum等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境

# 创建 py3 虚拟环境
[root@cong13 ~] python3 -m venv /opt/py3 
# 载入 py3 虚拟环境
[root@cong13 ~] source /opt/py3/bin/activate  # 把python虚拟环境设为开机自启动
(py3) [root@cong13 ~] echo "source /opt/py3/bin/activate" >> /root/.bashrc

看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行:(py3) [root@cong13 ~]#

3、安装 Jumpserver Core 组件
下载安装

# 解压代码
tar -zxvf jumpserver-3.2.0.tar.gz -C /opt
cd /opt/
mv jumpserver-3.2.0/  jumpserver
替换客户端组件
cd jumpserver/
rm -f apps/common/utils/ip/geoip/GeoLite2-City.mmdb apps/common/utils/ip/ipip/ipipfree.ipdbwget https://download.jumpserver.org/files/ip/GeoLite2-City.mmdb -O apps/common/utils/ip/geoip/GeoLite2-City.mmdbwget https://download.jumpserver.org/files/ip/ipipfree.ipdb -O apps/common/utils/ip/ipip/ipipfree.ipdb# 安装rpm依赖:直接安装rpm_requirements.txt文件中所有的软件
cd /opt/jumpserver/requirements/
sh rpm_pkg.sh

安装 Python 依赖库
# 修改pip安装加速:有时候我们pip下载特别慢,我们需要给pip指定国内的源来提升下载速度
mkdir /root/.pip
vim /root/.pip/pip.conf
---------------------------------------------------
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
---------------------------------------------------# 安装之前先更新pip版本,不然会报错
(py3) [root@cong13 requirements] pip install --upgrade pip setuptools wheel
(py3) [root@cong13 requirements] pip install -r requirements.txt

# #升级pip
(py3) [root@cong13 requirements]#python -m pip install -U --force-reinstall pip 
安装 Redis

Jumpserver使用Redis做cache和分布式任务队列,如果有搭建好的redis集群,可以不用搭建。也可以使用二进制包安装redis。

# jumpserver需要6版本的redis,添加reids6仓库
yum -y install epel-release https://repo.ius.io/ius-release-el7.rpm yum -y install redis6  # 启动redis
systemctl start redis   
# 把redins添加开机启动
systemctl enable redis  

安装 MySQL

# 解压并安装MySQL
tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
yum install -y mysql-community-*# 初始化数据
mysqld --initialize --console
# 更改数据目录权限
chown -R mysql:mysql /var/lib/mysql# 启动服务
systemctl start mysqld
systemctl enable mysqld# 查看MySQL初始密码
cat /var/log/mysqld.log | grep localhost
# 链接数据库
mysql -uroot -p'zQGQ9iijrd-o'
# 更改MySQL 密码
alter user root@'localhost' identified with mysql_native_password by 'jumpserver';

# 创建Jumpserver数据库并授权
mysql -uroot -p'123456'# 创建数据库
mysql> database jumpserver default charset 'utf8';# 创建用户
mysql> create user 'jumpserver'@'localhost' identified with mysql_native_password by 'jumpserver';# 授予权限
mysql> grant all privileges on jumpserver.* to 'jumpserver'@'localhost';
mysql> flush privileges;

生成秘钥

生成随机密钥,等修改配置文件需要

# 生成秘钥
cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo
# MJhcCtzfTjOsLlD5kMlD4XCP2tfbQBFVWOZGQlmCyrU7bvZQ7# 生成Token
cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16;echo
# rAToYbsyCN6HoGCK

修改 Jumpserver 配置文件

注意: 配置文件是Python 格式,不要用TAB,而要用空格

cd /opt/jumpserver/
cp config_example.yml config.yml
vim config.yml
--------------------------------------------------------------------------
# 加密密钥 生产环境中请修改为随机字符串,请勿外泄, 可使用命令生成
# $ cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo
SECRET_KEY: MJhcCtzfTjOsLlD5kMlD4XCP2tfbQBFVWOZGQlmCyrU7bvZQ7# SECURITY WARNING: keep the bootstrap token used in production secret!
# 预共享Token coco和guacamole用来注册服务账号,不在使用原来的注册接受机制
BOOTSTRAP_TOKEN: rAToYbsyCN6HoGCKDB_ENGINE: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_USER: jumpserver
DB_PASSWORD: jumpserver
DB_NAME: jumpserver# Redis配置
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379
# REDIS_PASSWORD:
--------------------------------------------------------------------------

生成数据库表结构和初始化数据
cd /opt/jumpserver/utils/
sh make_migrations.sh

解决第一个报错

cd /opt/jumpserver/apps/locale/zh/LC_MESSAGES/
rm -rf django.mo
msgfmt django.po
  • msgfmt是语言本地化的工具,用来编译语言翻译后的.po文件为.mo文件,这样系统在启动时候会扫描系统环境提取对应名字的.mo文件中的字符串替代原来的英文,实现本地化。
(py3) [root@cong13 LC_MESSAGES] mv messages.mo django.mo
(py3) [root@cong13 jumpserver] cd /opt/jumpserver/utils/
(py3) [root@cong13 utils] sh make_migrations.sh

运行 jumpserver

# 运行Jumpserver
(py3) [root@cong13 utils] cd /opt/jumpserver/#可以-d参数在后台运行 ./jms start all -d, 确保已经载入 py3 虚拟环境
(py3) [root@cong13 jumpserver] ./jms start    
编辑服务启动脚本
vim /usr/lib/systemd/system/jms.service
--------------------------------------------------------------------------------------
[Unit]
Description=jms
After=network.target mariadb.service redis.service docker.service
Wants=mariadb.service redis.service docker.service[Service]
Type=forking
Environment="PATH=/opt/py3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
ExecStart=/opt/jumpserver/jms start all -d
ExecRestart=/opt/jumpserver/jms restart all -d
ExecStop=/opt/jumpserver/jms stop[Install]
WantedBy=multi-user.target
--------------------------------------------------------------------------------------# 启动服务
systemctl daemon-reload
systemctl restart jms
systemctl enable jms# 查看端口
netstat -antup | grep 8080

4、安装 Lina 组件(源码)

Lina 是 JumpServer 的前端 UI 项目,主要使用 Vue,Element UI 完成

安装 node

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

wget https://nodejs.org/dist/v16.5.0/node-v16.5.0-linux-x64.tar.xz
tar -zxvf node-v16.5.0-linux-x64.tar.gz -C /usr/local/
chown -R root:root /usr/local/node-v16.5.0-linux-x64/
echo 'export PATH=/usr/local/node-v16.5.0-linux-x64/bin:$PATH' >>/etc/profile
source /etc/profile
node -v

安装 Lina

tar -zxvf lina-3.2.0.tar.gz -C /opt/# 安装依赖
cd /opt/lina-3.2.0/
npm install -g yarn  
# 安装所有依赖包
yarn install   
  • npm 是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展
  • Yarn 是由 Facebook 、Google、Exponent 、Tilde 联合推出的一个新的 Javascript 包管理工具,它的出现主要是为了弥补 npm 的一些缺陷。

修改 Lina 配置文件
(py3) [root@node-16 lina-3.2.0] sed -i "s@Version <strong>.*</strong>@Version <strong>v3.2.0</strong>@g" src/layout/components/Footer/index.vuecp .env.development.example .env.development
vi .env.development

构建部署 lina
# 构建lina
(py3) [root@node-16 lina-3.2.0] yarn serve
(py3) [root@node-16 lina-3.2.0] yarn build# 部署lina
(py3) [root@node-16  lina-3.2.0] cp -rf lina /opt/lina-v3.2.0

安装部署 Luna

tar -xf luna-v3.2.0.tar.gz -C /opt/

5、部署 Koko 组件

Koko 是 Go 版本的 coco,重构了 coco 的 SSH/SFTP 服务和 Web Terminal 服务。

安装 KoKo
# 安装客户端依赖
tar -xf kubectl.tar.gz
mv kubectl /usr/local/bin/rawkubectl
tar -xf helm-v3.9.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/rawhelmchmod 755 /usr/local/bin/rawkubectl /usr/local/bin/rawhelm
chown root:root /usr/local/bin/rawkubectl /usr/local/bin/rawhelm
rm -rf linux-amd64#KoKo安装
tar -zxvf koko-v3.2.0-linux-amd64.tar.gz -C /opt
cd /opt/koko-v3.2.0-linux-amd64/
mv kubectl /usr/local/bin/kubectl
修改配置文件
(py3) [root@cong13 koko-v3.2.0-linux-amd64] cp config_example.yml config.yml
(py3) [root@cong13 koko-v3.2.0-linux-amd64] vim config.yml

启动 KoKo
# &把程序调入后台运行。
(py3) [root@cong13 koko-v3.2.0-linux-amd64] ./koko & 

# 查看端口号
netstat -antup | grep 2222# 把koko加入开机自启动
echo "cd /opt/koko-v3.2.0-linux-amd64 && ./koko & " >> /etc/rc.local
6、部署 Lion 组件

Lion 使用了 Apache 软件基金会的开源项目 Guacamole,JumpServer 使用 Golang 和 Vue 重构了 Guacamole 实现 RDP/VNC 协议跳板机功能。

安装 guacamole

tar -zxvf guacamole-server-1.4.0.tar.gz # 安装依赖包
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpmyum install -y cairo-devel libjpeg-turbo-devel libjpeg-devel \
libpng-devel libtool libuuid-devel uuid-devel ffmpeg-devel \
freerdp-devel pango-devel libssh2-devel libtelnet-devel \
libvncserver-devel libwebsockets-devel pulseaudio-libs-devel \
openssl-devel libvorbis-devel libwebp-devel# 编译安装
cd guacamole-server-1.4.0/
./configure --with-init-dir=/etc/init.d
make && make install
ldconfig
安装 Lion

tar -zxvf lion-v3.2.0-linux-amd64.tar.gz -C /opt/# 修改配置文件
cd /opt/lion-v3.2.0-linux-amd64/
cp config_example.yml config.yml
vim config.yml

rAToYbsyCN6HoGCK
启动服务
(py3) [root@node-16 lion-v3.2.0-linux-amd64] /etc/init.d/guacd start
(py3) [root@node-16 lion-v3.2.0-linux-amd64] ./lion &# 设置开机自启动
chkconfig --add guacd
chkconfig guacd on
echo "cd /opt/lion-v3.2.0-linux-amd64 && ./lion & " >> /etc/rc.local
7、部署 Magus 组件
安装 wisp

tar -zxvf wisp-v0.1.6-linux-amd64.tar.gz
mv wisp-v0.1.6-linux-amd64/wisp /usr/local/bin/
chmod 755 /usr/local/bin/wisp
chown root:root /usr/local/bin/wisp
安装 Magus
tar -zxvf magnus-v3.2.0-linux-amd64.tar.gz -C /opt/
chown root:root /opt/magnus-v3.2.0-linux-amd64/magnus
chmod 755 /opt/magnus-v3.2.0-linux-amd64/magnus# 修改配置文件
cd /opt/magnus-v3.2.0-linux-amd64/
cp config_example.yml config.yml
vim wisp_config.yml
-----------------------------------------------------------
CORE_HOST: "http://127.0.0.1:8080"
BOOTSTRAP_TOKEN: rAToYbsyCN6HoGCK
WORK_DIR: "/opt/magnus-v3.2.0-linux-amd64"
COMPONENT_NAME: "magnus"
EXECUTE_PROGRAM: "/opt/magnus-v3.2.0-linux-amd64/magnus"
-----------------------------------------------------------
启动 wisp
(py3) [root@node-16 magnus-v3.2.0-linux-amd64] 
wisp --config /opt/magnus-v3.2.0-linux-amd64/wisp_config.yml &# 设置开机自启动
echo "cd /opt/magnus-v3.2.0-linux-amd64 && wisp --config /opt/magnus-v3.2.0-linux-amd64/wisp_config.yml & " >> /etc/rc.local
8、设置 Nginx 整合各个组件
安装 Nginx

这里直接使用yum安装,也可以使用源码包安装

(py3) [root@cong13 ~] yum install -y nginx
修改配置文件

Nginx主要提供反向代理功能,这里要修改主配置文件里的默认server端口

vim /etc/nginx/nginx.conf  #把80端口修改为808

创建 Jumpserver.conf 配置文件

vim /etc/nginx/conf.d/jumpserver.conf

server {listen 80;# server_name _;client_max_body_size 5000m; # 前端 Linalocation /ui/ {try_files $uri / /index.html;alias /opt/lina-v3.2.0/;expires 24h;}# Luna 配置location /luna/ {try_files $uri / /index.html;alias /opt/luna-v3.2.0/;expires 24h;}# Core data 静态资源location /media/replay/ {add_header Content-Encoding gzip;root /opt/jumpserver/data/;}location /static/ {root /opt/jumpserver/data/;expires 24h;}# KoKo Lion 配置location /koko/ {# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署# proxy_pass       http://127.0.0.1:5000;proxy_pass       http://127.0.0.1:5000;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_http_version 1.1;proxy_buffering off;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}# lion 配置location /lion/ {# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署# proxy_pass       http://127.0.0.1:8081;proxy_pass http://127.0.0.1:8081;proxy_buffering off;proxy_request_buffering off;proxy_http_version 1.1;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $http_connection;proxy_ignore_client_abort on;proxy_connect_timeout 600;proxy_send_timeout 600;proxy_read_timeout 600;send_timeout 6000;}location /ws/ {# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署# proxy_pass       http://127.0.0.1:8080;proxy_pass http://127.0.0.1:8080;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;}location ~ ^/(core|api|media)/ {# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署# proxy_pass       http://127.0.0.1:8080;proxy_pass http://127.0.0.1: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;}
}
启动 nginx
# 检查配置文件
nginx -t启动nginx
systemctl start nginx
systemctl enable nginx
登录 jumpserver

这篇关于JumpServer 简介安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787072

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud