开源项目RuoYi-Cloud-Plus学习笔记------主目录(持续更新)https://blog.csdn.net/grd_java/article/details/146400626 |
---|
文章目录
一、虚拟机和镜像下载
目前截止25年10月12号,VMware Workstation已经免费,大家可以直接去官网下载最新版安装。参考文章https://blog.csdn.net/2501_90980289/article/details/148897568
嫌麻烦的可以直接访问我分享的百度网盘链接下载VMware Workstation 17pro虚拟机和Ubuntu 24版本的镜像(一个是名称包含desktop的,有可视化界面的,一个是没有可视化界面)
https://pan.baidu.com/s/1MfUCNKQhcEfcyxrB-3YzKw?pwd=ebw2
有了虚拟机,我们就需要系统镜像了,Ubuntu 24.04.3 LTS 桌面版(有可视化界面)官方下载:https://cn.ubuntu.com/download/desktop
如果上面的网站进不去的话,阿里云提供了各类系统的镜像服务https://developer.aliyun.com/mirror/
这里我选择使用Ubuntu系统,进入下载地址
选择Ubuntu安装源(ubuntu-releases)
点击其提供的下载地址
选择24.04版本,无论选择哪个,都会是最新版本
然后下载iso镜像即可,我这里选择带桌面,有图形界面的版本ubuntu-24.04.3-desktop-amd64.iso
同理如果你想选择centos7,可以选择https://mirrors.aliyun.com/centos/7/isos/x86_64/
二、创建虚拟机
创建新的虚拟机,并且选择自定义配置
选择硬件兼容性,高版本向下兼容
操作系统可以稍后安装,先配置硬件
选择自己需要的操作系统,我这里选择Ubuntu 64位
设置虚拟机名称,和虚拟机位置
给虚拟机分配cpu资源,先要搞清楚我们cpu有多少个逻辑处理器和内核数量,其中插槽代表我们CPU处理器的数量
我们的家用主机一般都是1个P(处理器数量,插槽),所有我们可以多配点C内核数量,而不是加P的数量,除非你要模拟多处理器环境。
我的内存是64G的,所有直接选择分配32G上去
选择网络类型为桥接网络模式(NAT也可以)
桥接模式让虚拟机成为局域网中的独立设备,与宿主机同网段(如192.168.1.x),可直接与局域网内其他设备互访,适合需要低延迟或对外提供服务的场景。
NAT模式则通过宿主机共享上网,虚拟机使用私有IP(如192.168.x.x),外部无法直接访问,适合开发测试或需隔离的场景
选择I/O,用系统推荐的即可
磁盘类型也选择系统推荐的
给虚拟机分配磁盘,我这里选择创建新的虚拟磁盘(说明:分配大小不是直接从你电脑拿出一块空间,是可以配置的,我们可以选择最大容量,也就是你虚拟机使用过程中用多少,实际就用多少,上限为你设置的值。当然也可以选择直接分配这么多空间,效率更高。)
选择立即分配磁盘空间,会直接将分配空间容量使用,而选择拆分多个文件,会动态分配空间,初始很小,数据越多,它越大。
选择虚拟磁盘位置
点击"完成"后,检查自己的电脑是否开启虚拟化(win10系统可以直接在任务管理器查看,win7可以百度一下怎么开启)
三、安装系统
点击刚才创建的虚拟机的CD/DVD,选择我们刚下载的镜像
编辑虚拟机设置-选项-高级-为启用了Hyper-V的主机禁用侧通道缓解,勾选上
启动虚拟机即可,等待一会后,语言按照自己需求进行选择
辅助的一些设置,一般默认即可
键盘布局使用默认的US即可
先选择不连接因特网
选择不进行更新
选择安装Ubuntu
交互式安装
只安装默认的一些组件应用
不安装专有软件
选择擦除当前磁盘所有内容进行安装Ubuntu系统,如果你不想删除现有磁盘内容,就选第二个选项
设置用户名密码,并选择登录的时候需要输入密码
时区选择上海
选择install安装即可
安装成功后,需要重启系统,此时我们已经将iso文件安装到物理磁盘了,所有需要改一下虚拟机设置。
进入虚拟机设置
将CD/DVD里面的启动时连接选项取消掉。
然后返回虚拟机内部,按回车即可
跳过使用Ubuntu Pro
不分享系统数据
点击finish完成即可
然后打开浏览器,访问百度测试一下网络
四、内网穿透
1、云服务器配置
首先,确保你有一台云服务器,拥有固定的公网ip
连接到我们的服务器,输入
cd /
命令进入根目录,输入ls
命令查看目录
1.1 frp下载
https://github.com/fatedier/frp/releases,我这里是Linux系统,所以我下载Linux系统的版本。
- 创建/home/frp目录(存放目录您可以根据自己需求更改位置),加上-p参数,避免目录存在而报错
shell
sudo mkdir -p /home/frp
- 进入目录
shell
cd /home/frp
- 下载 frp 压缩包
shell
sudo wget https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_linux_amd64.tar.gz
如果使用命令无法下载,就我们手动下载后,用Xftp工具上传到服务器即可
- 解压下载好的文件
shell
sudo tar -xzf frp_0.65.0_linux_amd64.tar.gz
- 查看解压后内容
shell
ls
1.2 配置并启动
- 解压后进入文件夹
shell
cd frp_0.65.0_linux_amd64
这里有几个文件,c结尾的frpc和frpc.toml是客户端Client,代表被控设备,我们这里是云服务是Server服务端,所以删除这两个文件
- 删除c结尾的文件
shell
rm -f frpc
rm -f frpc.toml
- vim工具配置frps.toml文件
shell
vim frps.toml
输入的内容如下
shell
#frps.toml当中的内容(直接复制此文本):
#-----------------客户端和服务端绑定的端口-----------------#
#将在控制端通过公网ip+此端口号的形式进行穿透访问
bindPort = 7000
#-----------------客户端和服务端绑定的端口-----------------#
#-----------------控制面板Dashboard配置-----------------#
# Dashboard 监听的地址,0.0.0.0 表示允许所有 IP 访问(默认为 0.0.0.0)
webServer.addr = "0.0.0.0"
# 将通过公网ip+此端口号访问frp控制面板(默认为 7500)
#例如在浏览器网址输入http://<你的服务器IP>:7500(例如http://1.2.3.4:7500)
webServer.port = 7500
# 访问控制面板Dashboard的账号和密码(根据自己需要更改)
webServer.user = "admin"
webServer.password = "admin"
#-----------------控制面板Dashboard配置-----------------#
#-----------------frp身份认证配置-----------------#
# 下面两行是 frp 中用于客户端与服务端之间身份认证的核心配置,它们定义了如何验证连接的合法性,防止未经授权的客户端接入你的 frp 服务器。
# auth.method:指定认证方式。"token" 表示使用 Token 静态密钥认证。这是最常用、最简单的认证方式,适用于大多数场景。
# auth.token:设置用于身份验证的共享密钥(Token)。客户端(frpc)连接服务端(frps)时,必须提供相同的 token,否则连接会被拒绝。这个值可以是任意字符串,但建议使用足够长且随机的字符串以提高安全性(例如:aB3kQ9xL2mR8nT7w)
#身份认证方式
auth.method="token"
#使用token下设置静态密钥
auth.token = "aB3kQ9xL2mR8nT7w"
#-----------------frp身份认证配置-----------------#
#-------------更多配置内容请自行访问frp官方文档查看-------------#
编写完毕后,按下esc键进入普通模式,输入
:wq
保存并退出编辑
- 配置文件中,我们使用了7000和7500端口,需要在服务器防火墙开启此端口
进入安全组,配置规则,快速添加一个规则,或者选择旁边手动添加一个规则,我这里选择手动添加
添加7500后同理添加一个7000
- 端口开发完成后,使用命令启动服务
shell
./frps -c frps.toml
出现如下4行提示表示成功
因为我们将管理dashboard面板配置在了7500端口,所以现在访问公网ip:7500端口即可进入管理面板,输入我们刚才配置文件中配置的用户名和密码即可进入如下页面
1.3 systemd配置
参考官方文档,推荐我们使用systemd进行frp的管理(这里只演示frps服务端的配置,frpc客户端也是同样的步骤)
Ubuntu系统一般会自带systemd,如果没有需要自行安装
shell
# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd
# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd
systemd启动后台进程挂载服务并设置开机自启
- 创建service文件
shell
# 服务端frps
vim /etc/systemd/system/frps.service
# 客户端frpc
vim /etc/systemd/system/frpc.service
- 复制如下配置,然后esc到普通模式,:wq保存并退出
shell
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type=simple
#--------------------------#
#这是启动地址,需要根据你的实际地址做修改,如果你是跟着本文一步一步来的,那么直接复制
# 客户端这里frps改成frpc
ExecStart = /home/frp/frp_0.65.0_linux_amd64/frps -c /home/frp/frp_0.65.0_linux_amd64/frps.toml
#--------------------------#
ExecStop=/bin/kill $MAINPID
Restart=always
RestartSec=5
[Install]
WantedBy = multi-user.target
- 运行frps
shell
#客户端把frps改成frpc
systemctl start frps
- 查看运行状态
shell
#客户端把frps改成frpc
systemctl status frps
- 其它相关命令
shell
# 重新加载Units,如果上面你的配置文件修改了,需要这个命令
sudo systemctl daemon-reload
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
- Ctrl+C终止查看后,软件开机自启动
shell
sudo systemctl enable frps
- 查看是否开启成功
shell
systemctl is-enabled frps
2、虚拟机配置
步骤和上面服务端配置基本一样
2.1 用xshell和xftp远程连接虚拟机
这一步主要是为了上传frp压缩包到虚拟机里面
进入虚拟机,点击编辑选项卡,选择虚拟网络编辑器
控制面板中,可以查看我们当前上网的网卡
配置虚拟机桥接到我们的网卡
确保我们目标虚拟机网络适配器配置,勾选了桥接模式和复制物理网络连接状态
回到虚拟机,进入命令行模式
buntu没有默认提供ssh服务,因此首先安装ssh服务。如图,ssh和openssh-server, 二者缺一不可。可以使用sudo apt-get install xxx语句来安装,用whereis进行检查。
shell
sudo apt-get install ssh
sudo apt-get install openssh-server
如果安装完后该服务没有自动启动,则考虑手工启动:
shell
sudo /etc/init.d/ssh start
关闭防火墙
shell
sudo ufw disable:关闭防火墙
sudo ufw default allow: 外来访问默认允许
sudo ufw allow 22:允许访问22端口
安装net-tools
shell
sudo apt install net-tools
使用命令ifconfig查看ip地址inet,我这里是192.168.0.184
此时进入xshell,新建一个连接,主机输入我们上面的ip地址,端口号22
输入虚拟机的用户名和密码即可连接成功
切换到root用户
忘了密码就用命令sudo passwd root重新设置密码
开启root权限登录
shell
cd /etc/ssh
sudo vim sshd_config
找到PermitRootLogin 解除注释,改为 yes
重启ssh
shell
sudo /etc/init.d/ssh start
通过xshell可以直接使用xftp进行连接,方便后续传输文件,记住用root用户登录才能上传
2.2 配置并启动
1、先将frp压缩包放到虚拟机上
2、解压
shell
sudo tar -xzf frp_0.65.0_linux_amd64.tar.gz
3、进入文件夹,删除frps和frps.toml,因为我们这里是Client客户端
4、编辑frpc.toml文件,大家根据下面的代码片,自行配置即可
shell
vim frpc.toml
shell
#frpc.toml当中的内容(直接复制此文本):
#---------------------配置服务器连接服务---------------------#
#你的云服务器公网ip
serverAddr = "8.130.xxx.xxx"
#连接到云服务器端口,需要和frps.toml配置文件中端口一致
serverPort = 7000
#配置连接认证方式,需要和云服务器的frps.toml配置文件中端口一致
auth.method = "token"
#配置连接密钥,需要和云服务器的frps.toml配置文件中端口一致
auth.token = "aB3kQ9xL2mR8nT7w"
#---------------------配置服务器连接服务---------------------#
#---------------------配置穿透连接服务(本机/本地网络穿透)---------------------#
#开放端口连接
[[proxies]]
#设置连接名称(根据自己需求)
name = "test-tcp1"
#设置连接种类(根据自己需求)
type = "tcp"
#配置本机网络穿透
localIP = "127.0.0.1"
#本机被穿透端口(根据自己需求)
localPort = 8080 # 这里改成22,就可以通过公网+6100端口,远程用xshell连接虚拟机了
#访问端口(根据自己需求)
remotePort = 6100
#127.0.0.1地址指代本机/本地网络,例如本机的数据库、ssh、Nginx、Python 服务等等
#意思就是说当你在其他设备访问公网+6100端口时,则会访问到被控机的127.0.0.1+8080端口以完成网络穿透
#---------------------配置穿透连接服务(本机/本地网络穿透)---------------------#
#---------------------配置穿透连接服务(本地局域网穿透)---------------------#
#开放端口连接
[[proxies]]
#设置连接名称(根据自己需求)
name = "test-tcp2"
#设置连接种类(根据自己需求)
type = "tcp"
#配置本机网络穿透(根据自己需求)
localIP = "192.168.1.123"
#本机被穿透端口(根据自己需求)
localPort = 80
#访问端口(根据自己需求)
remotePort = 6200
#192.168.1.123根据自己需求更改为局域网内的网络设备,例如局域网的NAS、摄像头等等局域网当中的设备
#意思就是说当你在其他设备访问公网+6200端口时,则会访问到被控机局域网当中的192.168.1.123+80端口以完成内网局域网的网络穿透
#---------------------配置穿透连接服务(本机网络)---------------------#
#---------------------配置文件穿透服务---------------------#
#共享文件访问
[[proxies]]
#设置连接名称(根据自己需求)
name = "G_drive"
#设置连接种类(根据自己需求)
type = "tcp"
#访问端口(根据自己需求)
remotePort = 6001
[proxies.plugin]
#设置连接类别
type = "static_file"
# 设置要对外穿透暴露的目录(根据自己需求)
localPath = "G:\\"
# 设置访问路径名,当访问http://x.x.x.x:6001/123/的时候则会访问本地的对外穿透暴露的目录(根据自己需求)
stripPrefix = "123"
#设置用户名和密码
httpUser = "1234" # 用户名
httpPassword = "12341234" # 密码
#意思就是说当你在其他设备访问公网+6001/123/时(http://x.x.x.x:6001/123/),则会访问到被控机的"G:\\"文件夹下,以完成本地文件夹的对外穿透服务
#---------------------配置文件穿透服务---------------------#
#-------------这里只列举三种常见服务,其余服务请翻阅frp文档进行配置-------------#
注意
:上面配置文件中开启的端口,例如6001,需要去云服务器防火墙中开启端口(参考上面云服务器配置中的配置)
最后,启动客户端即可
shell
./frpc -c frpc.toml
2.3 通过公网ip使用xshell访问虚拟机
首先我们xshell访问虚拟机需要22端口,所以我们内网穿透需要配置22号端口,这里我将22号端口映射到云服务器的6100端口,此时就可以通过公网ip的6100端口穿透到虚拟机22号端口
上一小节给出的配置中,将映射从8080改为22号端口
记住一定要把自己的公网ip配置好
此时通过xshell建立连接即可,记住主机填公网ip,端口号是我们配置文件中配置的6100
此时就会通过公网穿透到虚拟机的22号端口上了