预说明

本站志在,为折腾某个项目的朋友,提供详细、可行、本人实践过的、保持更新的流程说明,不一定最优,但确保能走通流程,真正在生活和工作中用得上。

有些文章也会加上曾经用过的项目,这些都不会再关注和更新


本页还在补充内容



下面的是为新手准备的,以实用为主要目的,以快速走通一个项目为目标,尽可能了解最少的内容,因此并不全面,但相信在玩 Linux 的过程中,也会自然接触到相关的。

大佬和有经验的可以关闭窗口了,也欢迎指点不足。

Linux 相关的文章

第一次接触Linux:抱歉还没写文章


同一代码块中的命令,大部分都属于【右上角一键复制】-【终端粘贴执行】这种,不管行多行少。这样不必手动划选,方便。不过这不意味着所有代码块无脑粘贴执行就可以,需要自定义的会有说明,可选自定义的不说明。

所有的前提是,站长只用过 Debian 系发行版,包括 Ubuntu 和 Armbian。

vim

如果不会也不想用 vim,将本文所有 vim 改成会用的编辑器即可(其实我用 vim 的原因是不会用 nano)。

学习的话,会 3 点就能用,假设要编辑的文件名是 file.yml :

  1. 打开并编辑文件: vim file.yml 。可以使用方向键移动光标,但不能输入内容
  2. 进入编辑模式,英文小写输入法下,按一下 i ,这时就可以用删除键删除,也能输入字母了,可是怎么保存退出?
  3. 按键盘左上角的 ‘ESC’ 退出编辑模式,如果不想保存刚才的操作,或者弄乱了,在英文大写输入法下,按 ZQ 这两个字母,就能不保存退出
  4. 如果要保存,按 ZZ

怎么复制,键盘上 Shift + insert 。


Docker 相关

本站文章中关于使用 Docker 安装的项目大多数都是下面的流程。安装结构分三部分:

第一部分: 定义变量 myserve,它会是项目根目录的名称,还有开放防火墙端口。如果你没有自己的使用习惯,这个代码块【一键复制执行】即可

myserve="smokeping"   # 项目名称,可选自定义,本站都使用相应开源项目原本的名称,没必要改
# 8899,就是开放的端口,跟下一步的 .yml 文件中定义的需要一致,不冲突的话没必要改
sudo ufw allow 8899/tcp comment $myserve && sudo ufw reload
# 项目根目录在当前用户家目录下的 myserve 下面,
mkdir -p ~/myserve/$myserve && cd ~/myserve/$myserve
# 以这个为例
# 若用户是 root,那么项目根目录是 /root/myserve/smokeping
# 若是普通用户,名为 putong,那么项目根目录是 /home/putong/myserve/smokeping

第二部分,创建 docker-compose.yml 文件。这个代码块,也是【一键复制执行】即可创建 .yml 文件,不过很多时候还需要根据注释自定义一点字符,一般要改的是 environment、volumes、ports 三个下面的内容。 .yml 文件对格式很严格,只能使用空格缩进。

cat > docker-compose.yml << EOF
version: "2.1"
services:
  smokeping:
    image: lscr.io/linuxserver/smokeping:latest
    container_name: smokeping
    restart: unless-stopped
    environment:
      - PUID=1000   # 配置运行容器的用户,可以是用户名,也可以是 UID,如果不懂,填 root。 第一个普通用户的 UID 默认是 1000 
      - PGID=1000   # 类似上面,只不过是用户组
      - TZ=Asia/Shanghai   # 时区,在大陆的就填这个
      # 这里是环境变量,不同项目可以自定义的环境变量也不同,可能没有,也可能一堆,根据实际注释改就行
    volumes:
      - ./config:/config   # 映射目录的,一般本站这部分没必要动,本文以少为好,所以不多说
      - ./data:/data
    ports:
      - 8899:80   # 映射端口的,如果端口没被其他程序占用,没必要改,改得话,改左边的8899,右边绝对不能改
EOF
  1. version,services 自然不必说,不用改。smokeping 随意,没必要改
  2. image,后面是镜像的地址,没必要改
  3. container_name,容器名,没必要改
  4. restart,重启设置,没必要改
  5. environment、volumes、ports 看代码块里的说明。

第三部分:这部分命令,必须在项目根目录下执行,也就是 docker-compose.yml 所在目录,把几个常用的写下。

拉取容器镜像

docker compose pull

启动容器(这时可以通过 http://ip_addr_or_domain:8899 访问网页,8899 取决于上面配置的)

docker compose up -d

停止容器

docker compose down

查看容器日志($myserve 改成容器名(container_name),这个例子是 smokeping)

docker logs $myserve

第四部分:有些项目还需要配置一些文件,这部分位置一般在第三部分和第二部分中间,根据实际说明操作。

systemd 相关

使用 systemd 守护进程,它能实现程序的后台运行、开机自启、崩溃重启等。Docker 也是它管理的,或者说, Debian 系的进程都是它管理的。

使用它,只需要创建一份配置文件放在 /etc/systemd/system,如下,创建 prometheus.service 文件,文件名随意:

sudo vim /etc/systemd/system/prometheus.service

将配置的内容复制进去,这个根据说明,可能需要改 User、Group、ExecStart

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/prometheus \
    --config.file /etc/prometheus/prometheus.yml   # 省略了一些内容

[Install]
WantedBy=multi-user.target

说明:

  • ExecStart :就是在终端手动运行程序的命令,只不过要用绝对路径。

配置文件创建好后,先重新加载 systemctl 生效。

sudo systemctl daemon-reload

注意,以下命令最后以配置文件名称结尾,这里是 prometheus,实际使用时要修改的,任何目录下都可以运行

这条既设置了开机自启,也使得程序立即启动运行

sudo systemctl enable --now prometheus

如果先不想开机自启,使用这个启动程序

sudo systemctl start prometheus

如果想取消开机自启,使用这个启动程序

sudo systemctl disable prometheus

还想立马停止程序运行:

sudo systemctl stop prometheus

重启

sudo systemctl restart prometheus

查看状态,按一下 q 退出

sudo systemctl status prometheus

常用的就上面几个,就几个单词有变化,很好理解


显示所有的 systemctl 日志,这个是多个服务混合的,一般在刚启动完成一个 service 的时候进行查看比较方便

journalctl -f

单独看一个

journalctl -u 服务名

寻求帮助之前

推荐先问 ChatGPT 等大语言模型,它们懂得比我多。

邮箱: com2fly@163.com


原文链接: https://yanh.tech/2023/07/preamble/
版权声明:本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 承飞之咎 (yanh.tech)

如果你认为我的文章有帮助,欢迎使用 RSS 订阅,也欢迎留言指正。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇