Linux服务器:常用软件及配置

本文介绍了如何使用Samba在局域网中共享文件,FRP实现内网穿透让内网设备可见于公网,以及Docker部署虚拟机容器、rustdesk远程桌面和nextcloud个人网盘的方法。详细步骤包括安装、配置和启动过程。

1. samba-文件共享

用于局域网中共享文件

  1. 安装

    apt-get install samba
    
  2. 配置

    配置文件位置:/etc/samba/smb.conf

    [share]
    comment = share folder
    path = /home/xxx/xxx
    valid users = ubuntu
    browseable = yes
    public = yes
    writable = yes
    
  3. 启动

    systemctl start smbd
    
  4. 添加共享用户

    sudo smbpasswd -a xxx
    
  5. 重启

    sudo systemctl restart smbd
    

2. frp-内网穿透

用于将内网的设备暴露在公网使用

  1. 安装

    在github下载适合的架构版本或https://wwqs.lanzouo.com/b01419n9i 密码:cfz2

    解压后有 frpc(客户端) 和 frps(服务端)

    客户端在内网机器上运行,服务端在有公网IP的机器上运行

  2. 配置

    服务端配置文件,位置在解压后的文件夹内,文件名:frps.ini

    # 服务端配置
    [common]
    bind_addr = 0.0.0.0		# 绑定IP
    bind_port = 7000		# 绑定端口
    bind_udp_port = 7001
    kcp_bind_port = 7000
    

    客户端配置文件,位置在解压后的文件夹,文件名:frpc.ini

    [common]
    # 自己的frps服务器,阿里云服务器绑定的域名(国内服务器绑定的域名需要备案)或公网IP地址
    server_addr = xxx.xxx.xxx.xxx
    # frps服务端监听的端口号
    server_port = 7000
    # 令牌,和服务端一致
    # token = your_token
    
    [web_2]
    # 使用TCP协议进行转发
    type = tcp
    # 应用程序本地的IP,默认即可
    local_ip = 127.0.0.1
    # 应用程序本地的访问端口号
    local_port = 3389	# 暴露的本地端口号
    # 应用程序外网的访问端口号
    remote_port = 9001
    
    [ssh_2]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 9022
    
  3. 运行

    windows直接点击运行

    Linux执行 ./frps 或./frpc

    解决后台问题可以使用screen,在新的窗口内运行挂起即可

    常用screen参数
    screen -S session_name			# 新建一个叫session_name的session
    screen -ls(或者screen -list)	  # 列出当前所有的session
    screen -r session_name          # 回到session_name这个session
    screen -d session_name          # 远程detach某个session(类似挂起)
    screen -d -r session_name       # 结束当前session并回到session_name这个session
    
    进入screen窗口后,想暂时退出(等会还想连接这个screen窗口)
    crtl+a+d
    退出当前screen窗口,结束当前screen窗口,不想再连接回来(即杀死会话)
    exit或者ctrl+d
    
    强制杀死
    screen -wipe xxx
    
  4. 连接

    以ssh为例
    ssh -p 9022 user@xxx.xxx.xxx.xxx
    

    -p后加本地端口映射的远程端口号,@后的IP为服务器IP

更多用途可以在官网查看:https://gofrp.org/zh-cn/docs/

3. docker-虚拟机容器

用于一键部署各种应用

应用可以在docker hub找到:hub.docker.com

安装可以使用官方脚本一键部署

安装
curl -sSL https://get.docker.com/ | sh  --- 官方

添加至用户组,解决权限问题,省去每次使用sudo
sudo gpasswd -a  $USER docker
sudo systemctl restart docker

4. rustdesk-远程桌面(docker部署)

需要先安装docker,这里搭建的是中继服务器,用于提高连接速度

  1. 安装软件

    sudo docker image pull rustdesk/rustdesk-server
    
  2. 启动容器

    sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v "$PWD/data:/root" -d rustdesk/rustdesk-server hbbs -r 服务器IP或域名
    
    sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v "$PWD/data:/root" -d rustdesk/rustdesk-server hbbr
    

    hbbs和hbbr都是需要启动的,容器启动后需要设置服务器防火墙

    注:21116是udp协议,防火墙设置时要注意,否则中继会有问题

  3. 获取key

    docker hbbs容器中 key会自动生成

    进入docker容器后复制,在客户端中使用

    docker exec -it hbbs bash
    
    cat ./id_ed25519.pub
    

    如果要更改key,删除 id_ed25519 和 id_ed25519.pub 文件并重新启动 hbbs/hbbr,hbbs将会产生新的密钥对

  4. 客户端配置,以windows为例

    id与中继服务器均为服务器IP
    在这里插入图片描述

5. nextcloud-个人网盘(docker部署)

搭建网盘时需要先配置数据库,这里用docker部署mysql

  1. 拉取镜像

    sudo docker pull mysql
    sudo docker pull nextcloud
    
  2. 配置数据库

    sudo docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=xxxxx -p 3306:3306 mysql
    

    密码MYSQL_ROOT_PASSWORD自己设置,端口等也可以更改,用户名默认为root

  3. 启动nextcloud容器

    docker run -d --restart=always --name nextcloud -p 80:80 nextcloud
    

    端口可以自定义

  4. 配置nextcloud

    浏览器输入服务器地址

    在这里插入图片描述

    其中管理员账号是网盘登录管理用的

    配置数据库点MySQL,用户名默认为数据库账户root,密码为配置数据库时的密码

    数据库名自定义填nextcloud即可

    数据库主机是服务器内网的IP地址,端口配置数据库时未修改的话为3306

    最后点安装即可,加载可能需要一点时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值