跳转至

11.学习安装

1.创建虚机

192.168.3.159使用模板创建Ubuntu虚拟机。

1.1登入公司虚拟化平台

image-20250102133217361

账号:Administrator@vsphere.local

密码:联系管理员

1.2创建虚机文件夹

为了方便虚拟机的管理,需要新建一个文件夹存放属于自己的虚拟机。

选择“虚拟机和模板”-->“datacenter”-->“新建文件夹”-->“新建虚拟机和模板文件夹”

image-20250102133651134

命名规则是数字加名字,例如“12.王丹杏”,数据在已有的基础上增加 image-20250102133903349

1.3新建虚拟机

为了方便虚拟机的管理,需要在自己的文件夹下面创建属于自己的虚拟机。

选中自己的文件夹,右键点击“新建虚拟机”。

image-20250102134655739

选中从模板中部署

image-20250102134754929

模板放在数据中心datacenter-->00.模板中。

image-20250102140245200

给虚拟机命名,命名规则一般是“IP+英文名字简写+操作系统版本+用途”

image-20250102140409778

选择虚机运行的宿主机,建议存放在有空间和内存的主机。

image-20250102140535316

选择虚机存放的存储,磁盘格式选择精简置备模式(用多少分配多少),需要快速配置环境,选择ssd结尾的存储(没有配置冗余,随时可能坏掉,不建议放重要数据),为了数据安全,选择raid10的存储。

image-20250102140639727

选择是否配置虚拟机,默认就好

image-20250102140930245

点击next,完成虚拟机的配置。

image-20250102141004109

1.4修改虚拟机的配置

在自己虚机机文件夹下面找到刚刚新建的虚拟机,右击,选择编辑设置,可以调内存、cpu、网络等。

image-20250102141146209

根据需要进行设置。

image-20250102141251546

1.5注意事项

大家测试完成后,需要及时删除虚机,释放资源。

2.配置虚拟机IP

默认新建的虚拟机会分配一个dhcp的动态IP地址,会随着虚拟机的重启或者租期到期,IP地址会变更,所以需要更改为静态IP地址。

2.1查看当前IP

ip a
great@ubuntu24:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:8b:4b:0f brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.4.38/24 brd 192.168.4.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe8b:4b0f/64 scope link
       valid_lft forever preferred_lft forever

2.2修改配置文件

编辑配置文件/etc/netplan/50-cloud-init.yaml,按照下列参考参数配置成对应的IP。

vi  /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
      dhcp4: no
      addresses:
        - 192.168.4.38/24
      routes:
        - to: 0.0.0.0/0
          via: 192.168.4.1
      nameservers:
        addresses:
          - 192.168.4.1

2.3应用配置文件

netplan apply

3.安装mkdocs

3.1安装PIP、依赖软件

sudo apt-get update 
sudo apt install python3-pip
sudo apt install python3.12-venv
sudo apt install unzip
sudo apt install samba
python3 -m venv ~/.venvs/python

3.2编写安装mkdocs工具信息

vi requirements.txt
mkdocs-material==9.5.48
mkdocs-glightbox==0.4.0
mkdocs-exclude-search==0.6.6

3.3安装mkdocs

/home/great/.venvs/python/bin/python3.12 -m pip install -r requirements.txt

3.4导入案例ZIP

sudo mkdir  /data
sudo chown great:great -R /data
cd /data
unzip LinuxMirrors-main.zip
cd  /data/LinuxMirrors-main

3.5运行案例

/home/great/.venvs/python/bin/mkdocs serve --dev-addr 192.168.4.38:8000
great@ubuntu24:/data/LinuxMirrors-main$ /home/great/.venvs/python/bin/mkdocs serve --dev-addr 192.168.4.38:8000
INFO    -  Building documentation...
INFO    -  Cleaning site directory
INFO    -  mkdocs-exclude-search excluded 4 of 33 search index records. Use `mkdocs serve -v` for more details.
INFO    -  Documentation built in 1.03 seconds
INFO    -  [08:03:24] Watching paths for changes: 'docs', 'mkdocs.yml'
INFO    -  [08:03:24] Serving on http://192.168.4.38:8000/

image-20250102160419955

4.安装samba

4.1编辑配置文件

sudo vi /etc/samba/smb.conf
[global]
    workgroup = WORKGROUP
    security =  user
    map to guest = Bad User
    passdb backend = tdbsam
    hosts allow=192.168.24.0/255.255.255.0
    max connections = 0
    printing = cups
    printcap name = cups
    load printers = yes
    cups options = raw

[mkdocs]
    comment = great
    path=/data
    public = yes
    available=yes
    browseable = yes
    guest ok = yes
    writeable = yes

4.2启动samba服务

sudo systemctl  enable smbd --now   
sudo systemctl  status smbd

4.3设置用户

smbpasswd -a great

4.4Windows映射文件夹

打开资源管理器,右键此电脑,找到映射网络驱动器,按照格式填写网络文件夹信息

image-20250102163759935

填写网络文件夹信息,如:\\192.168.4.22\mkdocs,如果不会可以先填写\\192.168.4.22,然后点击右边的游览,一般可以看到网络文件夹。

image-20250102163948088

填写完验证信息后,点击完成,就可以进入网络文件夹了,可以在文件夹创建文件,修改文件。

image-20250102164003274

5.Piclist配置

5.1Piclist介绍

PicList是一个基于PicGo的图床工具,强大的功能和灵活的配置选项,可以让我们方便的上传和管理图床的图片,用户可以根据自己的需求选择合适的服务。

typora结合Piclist,可以自动生成插入图片的链接,减少相对路径的使用。

5.2Piclist安装

下载PicList-Setup-2.9.5-x64.exe

PicList-Setup-2.9.5-x64.exe有图形界面安装,根据提示完成就好。

5.3配置Piclist

公司内网使用minio作为s3存储的服务端,访问信息如下,如图所示填写:

  • accessKeyID:WlH33bJd8s5ODdoTXlz5
  • secretAccessKey:Jts9635KYmHatWbHFQKZXT61mD7g2H3yZR7yZJ9L
  • bucketName:picture
  • uploadPath:{year}/{month}/{md5}.{extName}
  • endpoint:https://www.dbaking.cn
    image-20250102165348902

S3存储配置项填写

{
  "_configName": "", // 图床配置名
  "accessKeyID": "", // accessKeyID
  "secretAccessKey": "", // secretAccessKey
  "bucketName": "", // 存储桶名称
  "uploadPath": "", // 上传路径
  "region": "", // 区域
  "endpoint": "", // 自定义终端节点
  "proxy": "", // 代理地址,仅支持http代理
  "urlPrefix": "", // 自定义域名
  "pathStyleAccess": boolean, // 是否启用S3 Path Style
  "rejectUnauthorized": boolean, // 是否拒绝未经授权的SSL证书
  "acl": "", // 权限
  "disableBucketPrefixToURL": boolean, // 是否禁用存储桶前缀
}

5.4测试图片上传

按照上述信息配置好Piclist之后,选择“上传”-->“点击上传”,之后会提示上传成功或者失败。

image-20250103151239360

6.Typora配置

61Typora介绍

Typora 是一款功能强大、操作简便的 Markdown 编辑器,让您专注于内容创作,而不被格式所困扰。无论是个人笔记、技术文档还是博客文章,Typora 都能满足您的需求,提升您的写作效率。

  • 实时预览:Typora 将所见即所得的编辑体验带入 Markdown,您在编写时就能看到最终效果,告别切换预览模式的麻烦。
  • 多格式支持:不仅支持 Markdown,还支持导入和导出多种格式,如 HTML、PDF、Word、EPUB 等,方便内容分享和发布。
  • 强大图表支持:内置对流程图、时序图、甘特图和数学公式的支持,满足技术文档和学术写作的需求。
  • 目录和大纲视图:自动生成文档目录,方便快速导航和组织内容,提升长文档编辑效率。
  • 快捷键支持:丰富的快捷键操作,极大提高写作和编辑效率,让您更快速地完成创作。
  • 自动保存和版本控制:支持自动保存功能,避免内容丢失,并提供版本控制,方便查看和恢复历史版本。

6.2Typora安装

下载typora-setup-x64.exe

typora-setup-x64.exe 有图形界面安装,根据提示完成就好。

6.3配置Typora

安装完成之后,想要插入的图片自动生成链接,需要对Typora进行配置。

点击左上角文件,找到偏好设置,然后找到图像菜单。

image-20250102165123731

配置信息如下:

上传服务中选择PicGo(app),PicGo路径选择PicList安装的路径找到可执行文件,完成配置即可。

image-20250102165600232

6.4测试插入图片

随便截张图,复制到typora编辑页面即可。如下图就说明配置成功了:

image-20250103153115085

7.安装minio

7.1minio介绍

MinIO 是一个高性能、兼容 S3 的对象存储。它专为大规模 AI/ML、数据湖和数据库工作负载而构建。它是软件定义的,可在任何云或本地基础架构上运行。MinIO 在开源 GNU AGPL v3 和商业企业许可证下获得双重许可。

7.2minio安装

(1)下载

建议从官网下载最新的。

官方下载

#amd64
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
#arm64
wget https://dl.minio.org.cn/server/minio/release/linux-arm64/minio
#执行权限
chmod +x minio
#放入执行路径
sudo mv minio /usr/local/bin/

内网下载

(2)上传到服务器

将下载的文件上传到Linux服务器。

(3)安装配置

1、创建目录
#创建安装目录、#创建图片存放目录、#授权
sudo mkdir -p /data/minio/soft
sudo mkdir -p /data/minio/data
sudo chown -R great:great /data 

2.下载安装文件
#复制二进制安装包到安装目录
mv /tmp/minio_version_RELEASE.2024-12-18T13-15-44Z /data/minio/soft/minio

3.配置参数文件
#配置参数文件,参数文件与图片位置一起
vi /data/minio/data/minio.conf
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=oracle123
MINIO_BROWSER=on  #配置的时候需要打开,完成配置后可以关闭。在投入生产环境时,最好配置 MINIO_BROWSER=off,以减少安全隐患,on表示开启页面访问


4.配置自启动文件
sudo vi /etc/systemd/system/minio.service
[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
User=admin
Group=admin

[Service]
WorkingDirectory=/data/minio/soft
EnvironmentFile=-/data/minio/data/minio.conf
ExecStart=/data/minio/soft/minio server /data/minio/data/
# User and group 用户 / 组
User=great
Group=great
PermissionsStartOnly=true

# SIGTERM signal is used to stop Minio
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=0
[Install]
WantedBy=multi-user.target

5.启动Minio
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl status minio
sudo systemctl enable minio
netstat -lnpt

7.3登入minio

使用参数文件的账号密码

MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=oracle123

登入界面

image-20250103162401048

登入后的界面 image-20250103162512070

7.4创建 Bucket

1.通过 http://ip:9000 访问 MinIO 的控制面板,使用环境变量中设置的用户名与密码进行登录

2.点击左侧的 Buckets,再点击右上角的 Create Bucket 创建一个存储桶,用于存储上传的图片

image-20250103163034367

起一个只包含小写字符、下划线、点等的名字。其他的存储桶特征选项我就默认了,这里有几个概念介绍一下:

名称 描述
存储桶 MinIO 使用存储桶来组织对象。存储桶类似于文件系统中的文件夹或目录,其中每个存储桶可以容纳任意数量的对象。
版本控制 允许将同一对象的多个版本保留在同一键下。
对象锁 可防止删除对象。需要支持保留和法定保留。只能在创建存储桶时启用。
配额 限制存储桶中的数据量。
保留 强制执行规则,以防止在一段时间内删除对象。必须启用版本控制才能设置存储桶保留策略。

创建成功 image-20250103163402390

权限设置

1.创建完成后,桶中的文件还无法进行访问,需要对其设置访问权限,进入桶的设置后,依次点击 Anonymous -> Add Access Rule 添加访问规则

image-20250103164348681

2.对于公开访问的图床,我们可以将访问权限设置为 readonly

image-20250103164440004

3.返回桶设置的首页,发现 Access Policy 处变为 custom,说明设置成功了

image-20250103164511212

4.创建访问密钥

image-20250103163523238

记住密码,配置PicList的时候需要,也就是本文章第5部分的内容。

image-20250103163613735

7.5minio测试

image-20250103165219475

8.安装nginx

直接使用/home/great/.venvs/foo/bin/mkdocs serve --dev-addr 192.168.4.22:8000打开的服务不稳定,需要编译解析成html文件,部署到nginx、apache、tomcat等web服务上,提高访问的稳定性。

在Ubuntu中,直接使用以下命令安装nginx:

sudo apt install nginx

修改nginx的配置文件,指向mkdocs解析的文件夹。

#备份旧的参数文件
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vi /etc/nginx/nginx.conf
#添加以下内容
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    server {
        listen 80;
        listen [::]:80;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
            root   /data/mkdocs/great/site;
            index  index.html index.htm;
        }
    }

}

启动nginx服务

systemctl start nginx
systemctl status nginx
systemctl enable nginx