Linux快速部署文件服务器

news2024/11/23 7:33:59

参考文档:

Linux命令之nohup详解 - 掘金

【Linux】ps -ef|grep详解-CSDN博客

有个简单想法,我的一些文件放在机器某个目录下面,可以简单提供团队内部人员浏览和下载功能,节约时间,用最简单方法实现。

注:这个方式并不安全稳定,只适合在内部测试环境运行使用。

先看看最后效果图:

1.启动文件服务器

先在终端运行如下命令就可以实现(服务器上已经安装了python3):

# 切到想要分享的目录下面
cd target_path
# 挂起运行文件服务器,服务器端口号为8000
nohup python3 -m http.server 8000 &

解释一下上面指令:

python3 -m http.server 用于启动一个基本的 HTTP 服务器,用于在开发环境中快速共享文件。这个命令通常用于本地开发和调试,不适合在生产环境中使用。

nohup Command [Arg...] [ &] 指令名称源于“no hang up”的缩写,可以忽略挂断信号的情况下运行某一条指令。这允许命令在用户注销(log out)或者有其他挂断连接的行为发生之后继续运行。总之,我们用 nohup 指令去启动http服务器,保证在shell关闭后文件服务还能正常运转。

nohup Command [Arg...] [ &]
最后的" &":表示后台运行,不霸占交互命令行

2.关闭文件服务进程

# 查找当前文件服务进程pid
ps -ef |grep python3
# 关闭服务
kill pid

如下图,第2列为进程的pid

3.开机自启

每次重启服务器,这个文件服务的进程会被关闭,还需要再次操作,比较麻烦。我们这里使用systemd配置来实现开启自启服务器的功能。

1.创建一个shell脚本

我们将配置启动时运行这个脚本,来启动文件服务。我这里命名为 share_files.sh。

这里将脚本放在/usr/local/bin目录下。

#!/bin/bash
cd /usr/apk
#echo "Starting HTTP server" >> /var/log/http_server.log
# 这里nohup将command的标准输出重定向到http_server.log
nohup /usr/bin/python3 -m http.server 8000 > /var/log/http_server.log 2>&1 &

给脚本加上可执行权限:

chomd +x share_files.sh

2.创建一个service unit文件

这个文件来对自启动服务进行配置

例如share_files.service,并将其放置在/etc/systemd/system/目录下。

[Unit]
Description=my share files shell script
After=multi-user.target

[Service]
Type=forking
WorkingDirectory=/usr/apk
ExecStart=/usr/local/bin/share_files.sh

[Install]
WantedBy=multi-user.target

3.启用服务

使用systemctl enable命令来在系统启动时自动启用这个service unit文件。

systemctl enable share_files.service

配置好之后,可以重启服务器试试看有没有生效。

4.服务其他配置

可以使用systemctl命令来启动和管理这个service unit文件。

# 启动服务
systemctl start share_files.service

# 停止服务
systemctl stop share_files.service

# 重启服务
systemctl restart share_files.service

# 查看服务状态
systemctl status share_files.service

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

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

相关文章

3Dmax灯光学习(Vray灯光应用)

渲染效果图可以用渲染100哦,最高支持max2024,cr11,vr6.2,支持LUT和Acescg工作流等常用插件,同时森林插件7.43也进行了支持,注册填邀请码【7788】即可免费测试! 灯光应用 普通灯光/标准灯光(外景…

PostgreSQL 中的 JSON:彻底改变数据库中的数据灵活性

在这篇文章中,我们将介绍 PostgreSQL 对 JSON 对象的实现和处理方法。拥有一些 Linux、Postgres 和 JSON 方面的经验是必要的,因为我们不仅要介绍这些新功能,还要介绍如何实现它们。 本文使用在 Ubuntu 23.04 上运行的 PostgreSQL 16&#x…

springcloud Ribbon负载均衡服务调用

文章目录 代码下载地址简介测试 Ribbon负载均衡算法手写RoundRobinRule源码8001/8002微服务改造80订单微服务改造测试 代码下载地址 地址:https://github.com/13thm/study_springcloud/tree/main/days6_Ribbon 简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端…

eNSP学习——部分VLAN间互通、部分VLAN间隔离、VLAN内用户隔离(MUX-VLAN)

MUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制 的机制。通过MUX VLAN提供的二层流量隔离的机制可以实现企业内部员 工之间互相通信,而企业外来访客之间的互访是隔离的。 特点: 一、主VLAN端口可以和所有VLAN通信 二…

云原生演进中的AI算力高效使用

0 1 云原生技术的普及与发展 云原生技术是一种基于容器技术的轻量级、高可用的应用架构,具有弹性扩展、快速部署、统一管理等特点。随着企业对敏捷开发和快速迭代的需求不断增加,云原生技术的普及与发展已成为不可逆转的趋势。 图1. 云原生技术发展之路…

给Windows电脑设置一个还原点,电脑出错可快速恢复使用

前言 离不开电脑的小伙伴们经常会有这种烦恼:Windows系统不知道什么时候会崩溃。 电脑一旦重装系统,就不是一件简单的事情。 其实重装系统并不麻烦,但麻烦的是需要把自己经常使用的电脑软件一并装上,这就是一件非常大的工程。电…

adb 配对+无线连接

配对 打开手机开发者选项-无线调试-使用配对码配对设备 出现ip端口和配对码后,电脑输入命令: adb pair ip:端口 eg:adb pair 192.168.137.244:39683 提示输入配对码:就按照手机上的输入。 此时配对成功 连接 再使用命令adb connect ip:port…

Nginx深度解析

Nginx是一个开源的高性能Web服务器,广泛用于提供HTTP服务。 它以其高效能、稳定性和低资源消耗而闻名。 Nginx的核心特性 异步非阻塞事件驱动架构:Nginx的主要优势之一是它的异步非阻塞处理方式,这使得它在处理大量并发连接时非常高效。轻量…

flutter 环境搭建异常记录

flutter 环境搭建异常记录 1.执行flutter doctor自检报错 排查Android studio里配置的sdk是哪个 SDK Platforms选中 8.0 SDkTools也只勾选8.0 2.bash_profile 文件配置 没有的话 在根目录新建 export PUB_HOSTED_URLhttps://pub.flutter-io.cn export FLUTTER_STORAGE_…

用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 论文阅读

论文链接:https://arxiv.org/pdf/2401.06305.pdf 论文题目:用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 1 摘要 本文介绍了用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP)。…

Spring MVC——Spring MVC(3)

1.拦截器 1.1.什么是拦截器? ​ Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、判断用户是否登录等。 ​…

[二]rtmp服务器搭建

[二]rtmp服务器搭建 一.测试二.使用Nginx搭建自己的rtmp服务器1.nginx是什么?2.环境准备 三、搭建过程1.安装编译 nginx 所需要的库2.下载 nginx-1.21.6.tar.gz3.下载 nginx-rtmp-module 4.解压5.编译6.启动nginx,检测nginx是否能成功运行7.配置nginx使用…

k8s---ingress对外服务(traefik)

目录 ingress的证书访问 traefik traefik的部署方式: deamonset deployment nginx-ingress与traefix-ingress相比较 nginx-ingress-controller ui访问 deployment部署 ingress的证书访问 ingress实现https代理访问: 需要证书和密钥 创建证书 密钥 secre…

漏洞扫描的原理是什么,分为几个阶段进行

网络漏洞扫描主要通过扫描已知的网络缺陷、不正确的网络设置和过时的网络应用版本来检测漏洞。漏洞扫描主要分为哪三个阶段?对于企业来说,创建持续监控容器并查找安全漏洞的服务。 漏洞扫描的原理 一、信息收集 漏洞扫描器首先会收集目标系统的相关信息…

CMU15-445-Spring-2023-分布式DBMS初探(lec21-24)

Lecture #21_ Introduction to Distributed Databases Distributed DBMSs 分布式 DBMS 将单个逻辑数据库划分为多个物理资源。应用程序(通常)并不知道数据被分割在不同的硬件上。系统依靠单节点 DBMS 的技术和算法来支持分布式环境中的事务处理和查询执…

Spring(19) ThreadPoolTaskExecutor 线程池的使用

目录 一、线程池简介1.1 为什么使用线程池1.2 线程池为什么需要使用队列1.3 线程池为什么要使用阻塞队列而不是用非阻塞队列1.4 如何配置线程池1.5 execute() 和 submit() 方法 二、ThreadPoolTaskExecutor 线程池简介2.1 简介2.2 核心参数配置2.3 ThreadPoolTaskExecutor 内部…

[设计模式Java实现附plantuml源码~创建型] 确保对象的唯一性~单例模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

Unity之四元数

欧拉角 万向节死锁 四元数是什么 Unity中四元数的初始化 四元数和欧拉角的互相转换 补充 四元数相乘代表旋转四元数

Linux设备驱动开发学习笔记(等待队列,锁,字符驱动程序,设备树,i2C...)

1. 内核工具和辅助函数 1.1宏container_of container_of函数可以通过结构体的成员变量检索出整个结构体 函数原型: /* pointer 指向结构体字段的指针 container_type 结构体类型 container_field 结构体字段名称 返回值是一个指针 */ container_of(pointer, con…

ARP相关

ARP报文格式: 目的以太网地址,48bit,发送ARP请求时,目的以太网地址为广播MAC地址,即0xFF.FF.FF.FF.FF.FF。 源以太网地址,48bit。 帧类型,对于ARP请求或者应答,该字段的值都为0x08…