[root@localhost ~]# tar xf Python-3.6.8.tgz -C /usr/local/src/
2)配置本地 JumpServer 的 yum
源
[root@localhost ~]# cat < /etc/yum.repos.d/jumpserver.repo
[JumpServer]
name=CentOS7
baseurl=file:///root/jumpserver-packs
enable=1
gpgcheck=0
END
[root@JumpServer ~]# yum makecache # 建立缓存
3)安装依赖包
[root@localhost ~]# yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel openldap-devel sshpass
4)编译安装
[root@localhost ~]# cd /usr/local/src/Python-3.6.8/
[root@localhost Python-3.6.8]# ./configure --prefix=/usr/local/python
[root@localhost Python-3.6.8]# make -j cat /proc/cpuinfo | grep processor | wc -l
#根据 CPU 核心数来进行编译
[root@localhost Python-3.6.8]# make install #安装
5)配置软连接优化执行路径
[root@JumpServer ~]# ln -s /usr/local/python/bin/* /usr/local/bin/
[root@JumpServer ~]# python3 -V
Python 3.6.8
[root@JumpServer ~]# pip3 -V
pip 18.1 from /usr/local/python/lib/python3.6/site-packages/pip (python 3.6)
6)配置 Python 虚拟环境
- 因为 CentOS
6/7
自带的是 Python2,而yum
等工具依赖原来的 Python,目的就是为了不扰乱原来的环境。
[root@JumpServer ~]# python3.6 -m venv /opt/py3 # 创建 Py3 虚拟环境
[root@JumpServer ~]# source /opt/py3/bin/activate # 进入 Py3 虚拟环境
(py3) [root@JumpServer ~]# echo “source /opt/py3/bin/activate” >> .bashrc # 加入到开机自启
(py3) [root@JumpServer ~]# yum -y install unzip
(py3) [root@JumpServer ~]# unzip jumpserver-master.zip -d /opt/
(py3) [root@JumpServer ~]# mv /opt/jumpserver-master/ /opt/jumpserver
(py3) [root@JumpServer ~]# yum -y install $(cat /opt/jumpserver/requirements/rpm_requirements.txt) # 安装依赖包
1)安装 Python 库
方式一:安装 Python 库(没网)
(py3) [root@JumpServer ~]# pip install --no-index --find-links=/root/pip-packs/ pyasn1 six cffi pytest-runner
(py3) [root@JumpServer ~]# pip install --no-index --find-links=/root/pip-packs/ -r /opt/jumpserver/requirements/requirements.txt
注解:
-
--no-index
:忽略包索引(仅仅从--find-links
的链接地址中去查找包) -
--find-links <url>
:如果指定为 IP 地址,就会从该地址进行查找依赖包并进行下载,如果指定的是本地文件,则直接从本地文件下载。
方式二:安装 Python 库(有网)
(py3) [root@JumpServer ~]# mkdir /root/.pip
(py3) [root@JumpServer ~]# cat < /root/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple # 指定清华源
[install]
trusted-host=mirrors.aliyun.com
END
(py3) [root@JumpServer ~]# pip install --upgrade pip # 更新 pip
(py3) [root@JumpServer ~]# pip install -r /opt/jumpserver/requirements/requirements.txt
2)安装 Redis
(py3) [root@JumpServer ~]# yum -y install redis
(py3) [root@JumpServer ~]# systemctl start redis
3)安装 MySQL
(py3) [root@JumpServer ~]# yum -y install mariadb mariadb-server mariadb-devel
(py3) [root@JumpServer ~]# systemctl start mariadb
(py3) [root@JumpServer ~]# mysql
MariaDB [(none)]> create database jumpserver default charset ‘utf8’;
MariaDB [(none)]> grant all on jumpserver.* to jumpserver@127.0.0.1 identified by ‘jumpserver’;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
4)生成密钥
(py3) [root@JumpServer ~]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo
tmctZBlMSF6TEo02tQL6qWNPDBduJ2dAN2eMO6DRDeGekDVro
(py3) [root@JumpServer ~]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16;echo
R9e1h2ZFuf8WDDbi
修改 JumpServer 配置文件
(py3) [root@JumpServer ~]# cd /opt/jumpserver/
(py3) [root@JumpServer jumpserver]# cp config_example.yml config.yml
(py3) [root@JumpServer jumpserver]# vim config.yml
配置密钥
SECRET_KEY: tmctZBlMSF6TEo02tQL6qWNPDBduJ2dAN2eMO6DRDeGekDVro
BOOTSTRAP_TOKEN: R9e1h2ZFuf8WDDbi
数据库设置
DB_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:
生成数据库表结构和初始化数据
(py3) [root@JumpServer jumpserver]# cd utils/
(py3) [root@JumpServer utils]# sh make_migrations.sh
5)运行 JumpServer
(py3) [root@JumpServer ~]# 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
(py3) [root@JumpServer ~]# systemctl daemon-reload
(py3) [root@JumpServer ~]# systemctl start jms
登录验证:http://192.168.1.1:8080
- 这里只是部署了 JumpServer,没有 Web Terminal,所以访问 Web Terminal(Web Linux 终端)会报错。
(py3) [root@JumpServer ~]# ls
anaconda-ks.cfg koko-master-6d4e69b-linux-amd64.tar.gz …
(py3) [root@JumpServer ~]# tar xf koko-master-6d4e69b-linux-amd64.tar.gz -C /opt/
(py3) [root@JumpServer ~]# chown -R root:root /opt/kokodir/
(py3) [root@JumpServer ~]# cd /opt/kokodir/
(py3) [root@JumpServer kokodir]# cp config_example.yml config.yml
(py3) [root@JumpServer kokodir]# vim config.yml #密钥要跟 JumpServer 密钥一致
BOOTSTRAP_TOKEN: R9e1h2ZFuf8WDDbi
SECRET_KEY: tmctZBlMSF6TEo02tQL6qWNPDBduJ2dAN2eMO6DRDeGekDVro
(py3) [root@JumpServer kokodir]# nohup ./koko & #后台运行
(py3) [root@JumpServer kokodir]# netstat -anpt | egrep ‘2222|5000’
将 KoKo 加入到开启自启
(py3) [root@JumpServer kokodir]# echo “cd /opt/kokodir && nohup ./koko &” >> /etc/rc.local
(py3) [root@JumpServer kokodir]# chmod +x /etc/rc.local
验证:
- 有了 Web Terminal 以后,我们便可以远程堡垒机,然后通过堡垒机来登录内部服务器来进行管理。
(py3) [root@JumpServer ~]# ls
anaconda-ks.cfg luna.tar.gz …
(py3) [root@JumpServer ~]# tar xf luna.tar.gz -C /opt/
(py3) [root@JumpServer ~]# chown -R root:root /opt/luna/
(py3) [root@JumpServer ~]# yum -y install nginx
(py3) [root@JumpServer ~]# vim /etc/nginx/nginx.conf
server {
…
client_max_body_size 100m; #录像及文件上传大小限制
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/;
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/; #录像位置
}
location /static/ {
root /opt/jumpserver/data; #静态资源
}
location /socket.io/ {
proxy_pass http://localhost:5000/socket.io/;
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;
}
location /coco/ {
proxy_pass http://localhost:5000/coco/;
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 / {
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;
}
…
(py3) [root@JumpServer ~]# nginx -t #检查配置文件是否正确
(py3) [root@JumpServer ~]# systemctl start nginx #启动 Nginx 服务
登录 JumpServer
==================================================================================
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
如何快速更新自己的技术积累?
- 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
- 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
- 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
- 学习以后不知道有没有学成,则可以通过面试去检验。
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
ity.csdnimg.cn/images/e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />
如何快速更新自己的技术积累?
- 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
- 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
- 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
- 学习以后不知道有没有学成,则可以通过面试去检验。
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目
[外链图片转存中…(img-oHhRagXo-1713449698813)]
[外链图片转存中…(img-AXwdBHKI-1713449698814)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!