百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Ubuntu18.04搭建jumpserver(ubuntu搭建http服务器)

nanshan 2024-11-15 22:46 26 浏览 0 评论

安装 ubuntu18.04

1 install默认安装即可

jumpserver

堡垒机简介

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

用户可以通过 Web 页面进行资产登录, 文件管理等操作koko 为 SSH Server 和 Web Terminal Server 。用户可以使用自己的账户通过 SSH 或者 Web Terminal 访问 SSH 协议和 Telnet 协议资产

Luna 为 Web Terminal Server 前端页面, 用户使用 Web Terminal 方式登录所需要的组件Guacamole

为 RDP 协议和 VNC 协议资产组件, 用户可以通过 Web Terminal 来连接 RDP 协议和 VNC 协议资产

(暂时只能通过 Web Terminal 来访问)

Jumpserver 默认端口为 8080/tcp 配置文件 jumpserver/config.yml

koko 默认 SSH 端口为 2222/tcp, 默认 Web Terminal 端口为 5000/tcp 配置文件在 koko/config.yml

Guacamole 默认端口为 8081/tcp, 配置文件 /config/tomcat9/conf/server.xml

Nginx 默认端口为 80/tcp

Redis 默认端口为 6379/tcp

Mysql 默认端口为 3306/tcp

Protocol Server name Port

TCP Jumpserver 8080

TCP koko 2222, 5000

TCP Guacamole 8081

TCP Db 3306

TCP Redis 6379

TCP Nginx 80

1、 创建python3.6虚拟环境

2、 安装python3.6

1 安装依赖包:

配置apt源

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

cd /etc/apt/sources.list.d/

安装vim

apt-get install vim

sudo vim aliyun.list(不做也可以)

(deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

更新升级

设置root密码

sudo passwd root

安装openssh-server

Sudo apt-get install openssh-server

配置IP地址

apt-get update && apt-get -y upgrade

apt-get -y install wget gcc libffi-dev git

修改字符集

apt-get -y install language-pack-zh-hans

echo 'LANG="zh_CN.UTF-8"' > /etc/default/locale

重新打开终

端验证 echo $LANG

2 安装python3.6 (ubuntu安装了python3.6.9)

apt-get -y install python3.6 python3.6-dev python3.6-venv

3 建立python虚拟环境

cd /opt

apt-get install python3-venv -y

python3.6 -m venv py3

source /opt/py3/bin/activate

此时提示符发生变化

4 自动载入python虚拟环境

cd /opt

git clone

echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc

source ~/.bashrc

5 下载安装Jumpserver

cd /opt

source /opt/py3/bin/activate

git clone

echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env

安装jumpserver依赖包

cd /opt/jumpserver/requirements

#首次进入会有按Y提示

apt-get -y install $(cat deb_requirements.txt)

6 安装 Python 库依赖

pip install --upgrade pip setuptools

pip install -r requirements.txt

# 如果下载速度很慢, 可以换国内源

(pipinstall–upgradepipsetuptools-i

pipinstall-rrequirements.txt-i )

这一步可能会报错(执行apt-get install python3.6-dev libmysqlclient-dev)

在执行pip install -r requirements.txt,如果报超时错误,多执行几遍直到完全安装

7 安装Redis,jumpserver使用Redis做cache

apt-get -y install redis-server

3、 安装数据库

1. 安装并初始化数据库

apt-get -y install mysql-server

初始化mysql, mysql_secure_installation

之后会有一下提示,选择自己合适的

root@localhost:/# sudo mysql_secure_installation (修改root密码)

Securing the MySQL server deployment.

Enter password for user root:

VALIDATE PASSWORD PLUGIN can be used to test passwords

and improve security. It checks the strength of password

and allows the users to set only those passwords which are

secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: y(是否安装密码安全插件,开发环境可以选n)

There are three levels of password validation policy:

LOW Length >= 8

MEDIUM Length >= 8, numeric, mixed case, and special characters

STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: (安全模式0低,1中等,2强)

Invalid option provided.

There are three levels of password validation policy:

LOW Length >= 8

MEDIUM Length >= 8, numeric, mixed case, and special characters

STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

Using existing password for root.

Estimated strength of the password: 25

Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

… skipping.

By default, a MySQL installation has an anonymous user,

allowing anyone to log into MySQL without having to have

a user account created for them. This is intended only for

testing, and to make the installation go a bit smoother.

You should remove them before moving into a production

environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : n(是否删除匿名用户)

… skipping.

Normally, root should only be allowed to connect from

'localhost'. This ensures that someone cannot guess at

the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n(是否禁止root远程登录)

… skipping.

By default, MySQL comes with a database named 'test' that

anyone can access. This is also intended only for testing,

and should be removed before moving into a production

environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n(是否删除测试数据库)

… skipping.

Reloading the privilege tables will ensure that all changes

made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y(是否重新加载权限)

Success.

All done!

到此MySql数据库安装完成!

2. 创建数据库jumpserver并授权

mysql -uroot -p

create database jumpserver default charset 'utf8';

grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456';(密码有复杂度要求)(jumpserver为数据库名称)

flush privileges;

quit

3. 修改jumpserver配置文件

cd /opt/jumpserver

cp config_example.yml config.yml

vim config.yml

如下:(记住你的BOOTSTRAP_TOKEN:*******随机选项数字加字母)

# SECURITY WARNING: keep the secret key used in production secret!

# 加密秘钥 生产环境中请修改为随机字符串,请勿外泄, 可使用命令生成

# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo

SECRET_KEY: W5Ic3fMXNZ0p5RIy5DhJYJllppTfcfkW8Yuf94VBMfpcssbfu

# SECURITY WARNING: keep the bootstrap token used in production secret!

# 预共享Token coco和guacamole用来注册服务账号,不在使用原来的注册接受机制

BOOTSTRAP_TOKEN: zxffNymGjP79j6BN

# Development env open this, when error occur display the full process track, Production disable it

# DEBUG 模式 开启DEBUG后遇到错误时可以看到更多日志

DEBUG: false

# DEBUG, INFO, WARNING, ERROR, CRITICAL can set. See https://docs.djangoproject.com/en/1.10/topics/logging/

# 日志级别

LOG_LEVEL: ERROR

# LOG_DIR:

# Session expiration setting, Default 24 hour, Also set expired on on browser close

# 浏览器Session过期时间,默认24小时, 也可以设置浏览器关闭则过期

# SESSION_COOKIE_AGE: 86400

SESSION_EXPIRE_AT_BROWSER_CLOSE: true

# Database setting, Support sqlite3, mysql, postgres ....

# 数据库设置

# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases

# SQLite setting:

# 使用单文件sqlite数据库

# DB_ENGINE: sqlite3

# DB_NAME:

# MySQL or postgres setting like:

# 使用Mysql作为数据库

DB_ENGINE: mysql

DB_HOST: 127.0.0.1

DB_PORT: 3306

DB_USER: jumpserver

DB_PASSWORD: rBi41SrDqlX4zsx9e1L0cqTP(数据库中创建的密码)

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: ZhYnLrodpmPncovxJTnRyiBs

# REDIS_DB_CELERY: 3

# REDIS_DB_CACHE: 4

# Use OpenID authorization

# 使用OpenID 来进行认证设置

# BASE_SITE_URL: http://localhost:8080

# AUTH_OPENID: false # True or False

# AUTH_OPENID_SERVER_URL: https://openid-auth-server.com/

# AUTH_OPENID_REALM_NAME: realm-name

# AUTH_OPENID_CLIENT_ID: client-id

# AUTH_OPENID_CLIENT_SECRET: client-secret

# AUTH_OPENID_IGNORE_SSL_VERIFICATION: True

# AUTH_OPENID_SHARE_SESSION: True

# Use Radius authorization

# 使用Radius来认证

# AUTH_RADIUS: false

# RADIUS_SERVER: localhost

# RADIUS_PORT: 1812

# RADIUS_SECRET:

# CAS 配置

# AUTH_CAS': False,

# CAS_SERVER_URL': "http://host/cas/",

# CAS_ROOT_PROXIED_AS': 'http://jumpserver-host:port',

# CAS_LOGOUT_COMPLETELY': True,

# CAS_VERSION': 3,

# LDAP/AD settings

# LDAP 搜索分页数量

# AUTH_LDAP_SEARCH_PAGED_SIZE: 1000

#

# 定时同步用户

# 启用 / 禁用

# AUTH_LDAP_SYNC_IS_PERIODIC: True

# 同步间隔 (单位: 时) (优先)

# AUTH_LDAP_SYNC_INTERVAL: 12

# Crontab 表达式

# AUTH_LDAP_SYNC_CRONTAB: * 6 * * *

#

# LDAP 用户登录时仅允许在用户列表中的用户执行 LDAP Server 认证

# AUTH_LDAP_USER_LOGIN_ONLY_IN_USERS: False

#

# LDAP 认证时如果日志中出现以下信息将参数设置为 0 (详情参见:https://www.python-ldap.org/en/latest/faq.html)

# In order to perform this operation a successful bind must be completed on the connection

# AUTH_LDAP_OPTIONS_OPT_REFERRALS: -1

# OTP settings

# OTP/MFA 配置

# OTP_VALID_WINDOW: 0

# OTP_ISSUER_NAME: Jumpserver

# Perm show single asset to ungrouped node

# 是否把未授权节点资产放入到 未分组 节点中

# PERM_SINGLE_ASSET_TO_UNGROUP_NODE: false

#

# 启用定时任务

# PERIOD_TASK_ENABLE: True

#

# 启用二次复合认证配置

# LOGIN_CONFIRM_ENABLE: False

#

# Windows 登录跳过手动输入密码

#WINDOWS_SKIP_ALL_MANUAL_PASSWORD: True

完成

启动jumpserver服务

cd /opt/jumpserver

./jms start -d

4、 正常部署KOKO组件

1. 安装部署koko

cd /opt && \

wgethttps://github.com/jumpserver/koko/releases/download/v2.0.2/koko-v2.0.2-linux-amd64.tar.gz

解压

tar -xf koko-v2.0.2-linux-amd64.tar.gz && \

mv koko-v2.0.2-linux-amd64 koko && \

chown -R root:root koko && \

cd koko

2. 配置config.yml文件

cp config_example.yml config.yml && \

vi config.yml

如下 (BOOTSTRAP_TOKEN为jumpserver中的一致)

# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复

# NAME: {{ Hostname }}

# Jumpserver项目的url, api请求注册会使用

CORE_HOST: http://127.0.0.1:8080

# Bootstrap Token, 预共享秘钥, 用来注册coco使用的service account和terminal

# 请和jumpserver 配置文件中保持一致,注册完成后可以删除

BOOTSTRAP_TOKEN: zxffNymGjP79j6BN

# 启动时绑定的ip, 默认 0.0.0.0

# BIND_HOST: 0.0.0.0

# 监听的SSH端口号, 默认2222

# SSHD_PORT: 2222

# 监听的HTTP/WS端口号,默认5000

# HTTPD_PORT: 5000

# 项目使用的ACCESS KEY, 默认会注册,并保存到 ACCESS_KEY_STORE中,

# 如果有需求, 可以写到配置文件中, 格式 access_key_id:access_key_secret

# ACCESS_KEY: null

# ACCESS KEY 保存的地址, 默认注册后会保存到该文件中

# ACCESS_KEY_FILE: data/keys/.access_key

# 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]

LOG_LEVEL: ERROR

# SSH连接超时时间 (default 15 seconds)

# SSH_TIMEOUT: 15

# 语言 [en,zh]

# LANG: zh

# SFTP的根目录, 可选 /tmp, Home其他自定义目录

# SFTP_ROOT: /tmp

# SFTP是否显示隐藏文件

# SFTP_SHOW_HIDDEN_FILE: false

# 是否复用和用户后端资产已建立的连接(用户不会复用其他用户的连接)

# REUSE_CONNECTION: true

# 资产加载策略, 可根据资产规模自行调整. 默认异步加载资产, 异步搜索分页; 如果为all, 则资产全部加载, 本地搜索分页.

# ASSET_LOAD_POLICY:

# zip压缩的最大额度 (单位: M)

# ZIP_MAX_SIZE: 1024M

# zip压缩存放的临时目录 /tmp

# ZIP_TMP_PATH: /tmp

# 向 SSH Client 连接发送心跳的时间间隔 (单位: 秒),默认为30, 0则表示不发送

# CLIENT_ALIVE_INTERVAL: 30

# 向资产发送心跳包的重试次数,默认为3

# RETRY_ALIVE_COUNT_MAX: 3

# 会话共享使用的类型 [local, redis], 默认local

SHARE_ROOM_TYPE: redis

# Redis配置

REDIS_HOST: 127.0.0.1

REDIS_PORT: 6379

#REDIS_PASSWORD: ZhYnLrodpmPncovxJTnRyiBs

# REDIS_CLUSTERS:

REDIS_DB_ROOM: 6

完成

启动服务 ./koko -d

3. 正常部署 Guacamole 组件

下载

cd /opt && \wget -O docker-guacamole-v2.1.1.tar.gz https://github.com/jumpserver/docker-guacamole/archive/master.tar.gz

解压

mkdir /opt/docker-guacamole && \

tar -xf docker-guacamole-v2.1.1.tar.gz -C /opt/docker-guacamole --strip-components 1 && \

rm -rf /opt/docker-guacamole-v2.1.1.tar.gz && \

cd /opt/docker-guacamole && \

wget http://download.jumpserver.org/public/guacamole-server-1.2.0.tar.gz && \

tar -xf guacamole-server-1.2.0.tar.gz && \

wget http://download.jumpserver.org/public/ssh-forward.tar.gz && \

tar -xf ssh-forward.tar.gz -C /bin/ && \

chmod +x /bin/ssh-forward

cd /opt/guacamole/guacamole-server-1.2.0

./configure --with-init-dir=/etc/init.d && \

make && \

make install

5、 部署tomcat

1. 安装java环境

apt-get -y install default-jre default-jdk

mkdir -p /config/guacamole /config/guacamole/extensions /config/guacamole/record /config/guacamole/drive && \

chown daemon:daemon /config/guacamole/record /config/guacamole/drive && \

cd /config

2. 配置Tomcat9

下载

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.36/bin/apache-tomcat-9.0.36.tar.gz

tar -xf apache-tomcat-9.0.36.tar.gz && \

mv apache-tomcat-9.0.36 tomcat9 && \

rm -rf /config/tomcat9/webapps/* && \

sed -i 's/Connector port="8080"/Connector port="8081"/g' /config/tomcat9/conf/server.xml && \

echo "java.util.logging.ConsoleHandler.encoding = UTF-8" >> /config/tomcat9/conf/logging.properties

wget

tar -xf guacamole-client-v2.1.1.tar.gz

rm -rf guacamole-client-v2.1.1.tar.gz

cp guacamole-client-v2.1.1/guacamole-*.war /config/tomcat9/webapps/ROOT.war

cp guacamole-client-v2.1.1/guacamole-*.jar /config/guacamole/extensions/

mv /opt/docker-guacamole/guacamole.properties /config/guacamole/

rm -rf /opt/docker-guacamole

3. 设置 Guacamole 环境

export JUMPSERVER_SERVER=http://127.0.0.1:8080

echo "export JUMPSERVER_SERVER=http://127.0.0.1:8080" >> ~/.bashrc

export BOOTSTRAP_TOKEN={jumpserver的一致}

echo "export BOOTSTRAP_TOKEN={jumpserver的一致}" >> ~/.bashrc

export JUMPSERVER_KEY_DIR=/config/guacamole/keys

echo "export JUMPSERVER_KEY_DIR=/config/guacamole/keys" >> ~/.bashrc

export GUACAMOLE_HOME=/config/guacamole

echo "export GUACAMOLE_HOME=/config/guacamole" >> ~/.bashrc

export GUACAMOLE_LOG_LEVEL=ERROR

echo "export GUACAMOLE_LOG_LEVEL=ERROR" >> ~/.bashrc

export JUMPSERVER_ENABLE_DRIVE=true

echo "export JUMPSERVER_ENABLE_DRIVE=true" >> ~/.bashrc

环境变量说明

JUMPSERVER_SERVER 指 core 访问地址

BOOTSTRAP_TOKEN 为 Jumpserver/config.yml 里面的 BOOTSTRAP_TOKEN 值

JUMPSERVER_KEY_DIR 认证成功后 key 存放目录

GUACAMOLE_HOME 为 guacamole.properties 配置文件所在目录

GUACAMOLE_LOG_LEVEL 为生成日志的等级

JUMPSERVER_ENABLE_DRIVE 为 rdp 协议挂载共享盘

启动Guacamole

/etc/init.d/guacd start

sh /config/tomcat9/bin/startup.sh

4. 下载Lina luna组件

lina

cd /opt

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

wget

tar -xf lina-v2.0.2.tar.gz

mv lina-v2.0.2 lina

chown -R nginx:nginx lina

luna

cd /opt

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

tar -xf luna-v2.0.2.tar.gz

mv luna-v2.0.2 luna

chown -R nginx:nginx luna

6、 安装nginx整合组件

1. 安装nginx

$ apt-get update

$ apt-get -y install nginx

2. 准备配置文件

$ rm -rf /etc/nginx/conf.d/default.conf

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

如下

server {

listen 80;

client_max_body_size 100m; # 录像及文件上传大小限制

location /ui/ {

try_files $uri / /index.html;

alias /opt/lina/;

}

location /luna/ {

try_files $uri / /index.html;

alias /opt/luna/; # luna 路径, 如果修改安装目录, 此处需要修改

}

location /media/ {

add_header Content-Encoding gzip;

root /opt/jumpserver/data/; # 录像位置, 如果修改安装目录, 此处需要修改

}

location /static/ {

root /opt/jumpserver/data/; # 静态资源, 如果修改安装目录, 此处需要修改

}

location /koko/ {

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;

}

location /guacamole/ {

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/ {

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;

}

}

完成

重启nginx服务

nginx -t

nginx -s reload

  1. 七、测试

打开Google 输入http://IP:8080登陆jumpserver 默认用户admin 密码 admin

如果出现nginxwelcome界面 编辑vim /etc/nginx/nginx.conf 只保留include /etc/nginx/conf.d/*.conf;项

如果登录客户端是 macOS 或 Linux, 登录语法如下

$ ssh -p2222 admin@IP

$ sftp -P2222 admin@IP

密码: admin

如果登录客户端是 Windows, Xshell Terminal 登录语法如下

$ ssh admin@192.168.0.49 2222

$ sftp admin@192.168.0.49 2222

密码: admin

如果能登陆代表部署成功

sftp默认上传的位置在资产的 /tmp 目录下

windows拖拽上传的位置在资产的 Guacamole RDP上的 G 目录下

相关推荐

提升网络安全 cisco asa5512-k8防火墙促

(中关村在线网络安全行情)ciscoasa5512-k8为标准下一代防火墙,能够为中小型网络提供出色的安全防护和流量管控服务。最近这款防火墙设备在京东商城的促销价格为14299元,有需要的用户可以关注...

太一星晨:负载均衡性能参数如何测评?

海外网2014-08-0816:03:568月6日消息,当前,在云计算和大数据为主导的需求环境下,负载均衡和应用交付已为大型企业数据中心“保驾护航”的必备品。不过,负载均衡作为一种比较“新奇”的设备...

Nginx架构揭秘:如何用5大核心机制扛住百万级并发

1.灵魂拷问:为什么全球Top1000网站中65%选择Nginx?17Nginx不仅是Web服务器,更是高并发架构的核武器。其单机支持10万+并发连接的秘密,源于三大设计哲学:事件驱动模型:非阻塞...

高并发场景下,Nginx性能如何提升10倍?

大家好,我是mikechen。在高并发场景,Nginx是流量入口的第一道防线,如果想拦截亿级流量,需要Nginx合理调优才能应对@mikechen。本文作者:陈睿|mikechen文章来源:mike...

紧急避坑!数据库突现数十GB临时文件?原因与根治方案揭秘

引言:某天深夜,运维小王突然收到磁盘爆满的告警,追踪发现Kingbase数据库的syssql_tmp目录竟堆积了数十GB的临时文件!这些神秘文件为何产生?会引发哪些风险?如何彻底根治?本文将带你深入探...

互联网大厂后端必看!3 步搞定 Nginx IP 限流,服务器扛住百万流量

作为互联网大厂的后端开发人员,你是否曾遇到过这样的场景:服务器突然涌入大量请求,服务响应速度急剧下降,甚至出现崩溃?这时候,Nginx的IP访问限流策略就显得尤为重要。然而,不少开发者在配置N...

MySQL max_connections 达到最大值 – 我们如何解决它

您的网站是否显示MySQLmax_connections达到最大限制错误?通常,当我们尝试连接到MySQL服务器时,MySQLmax_connections值不足会导致“Tooma...

Nginx百万并发背后技术揭秘!(nginx并发能力是多少)

在互联网业务高速发展的今天,用户访问量呈指数级增长,服务器面临的并发压力也越来越大。一个高并发的网站,如果处理不当,可能会出现请求超时、服务器宕机、用户体验下降等问题。Nginx作为当前最流行的高性...

Nginx底层原理:一文解析Nginx为什么并发数可以达到3w!

Nginx以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。本文从底层原理分析Nginx为什么这么快!Nginx的进程模型Nginx服务器,正常运行过程中:多进程:一个Mast...

Nginx合集-并发连接能力优化(nginx高并发调优)

一、前言nginx服务器老是报告TIME_WAIT告警,ESTABLISHED告警,检查nginx配置和系统网络配置发现现有的配置并发能力太弱,无法满足现有的并发请求的需求。二、解决方法改进方法...

开源OS上安装Gnome Flashback经典桌面

1安装GnomeFlashback对于用户来说,相比Unity桌面,GnomeFlashback桌面环境是一个简单的并且不错的选择,可以让你找回过去经典的桌面。GnomeFlashback基于G...

新手篇 — 虚拟机系统的使用与常见问题

本文章会详细介绍虚拟机系统的使用与常见问题,有很多读者都会遇到这样的情况,软件装不上,自己的电脑中软件很多,又不想换电脑系统,那么虚拟机可以帮你解决这个烦恼,由于文章内容写的比较详细,内容会比较多,可...

VMware虚拟机与主机之间无法复制粘贴解决

问题:VMware安装系统后发现无法直接与主机之间进行复制粘贴了,怎么办?解决办法:按照以下3步进行1、设置中客户机隔离检查2、重新安装VMwareTools3、重启电脑...

实现VMware虚拟机与物理主机共享文件夹

在安装虚拟机之后,难免会遇到需要将文件从主机拷到虚拟机当中,但是很尴尬的事情就是不能直接将文件从主机拖到虚拟机中,所以只能借助U盘,但是频繁的插拔U盘非常的繁琐。为了解决这一需求,就可以将物理主机和...

在 Windows 11 或 10 上安装 Virt-viewer 的单行命令

Virt-Viewer(或RemoteViewer)是Redhat提供的一个开源程序,允许用户控制和查看运行在本地或远程服务器上的虚拟机。它体积轻巧,并提供了一个简单的图形用户界面来访问由L...

取消回复欢迎 发表评论: