From 1835c7514c5d70dac5cf90464f5a86ca0782197f Mon Sep 17 00:00:00 2001 From: zmr Date: Sun, 7 May 2023 20:18:08 +0800 Subject: [PATCH] Site updated: 2023-05-07 20:18:03 --- 2021/03/10/ansible自动部署/index.html | 2 +- 2022/01/20/centos7安装特定版本的python/index.html | 2 +- 2022/02/27/centos7安装docker/index.html | 2 +- 2022/04/21/docker搭建frp服务端和客户端/index.html | 2 +- 2022/05/27/debian安装docker/index.html | 2 +- 2022/06/10/docker配置及优化/index.html | 2 +- atom.xml | 12 ++++++------ css/link.css | 2 +- css/main.css | 2 +- css/noscript.css | 2 +- css/tag-diy.css | 2 +- search.xml | 12 ++++++------ talk/index.html | 2 +- 13 files changed, 23 insertions(+), 23 deletions(-) diff --git a/2021/03/10/ansible自动部署/index.html b/2021/03/10/ansible自动部署/index.html index 20f145b..26f8715 100644 --- a/2021/03/10/ansible自动部署/index.html +++ b/2021/03/10/ansible自动部署/index.html @@ -1,4 +1,4 @@ -ansible自动部署 | 随言碎语

随言碎语

咕叽咕叽

ansible自动部署

Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。

1.简介

  1. Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。

  2. ansible 基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

    • 连接插件connection plugins:负责和被监控端实现通信;
    • host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
    • 各种模块核心模块、command模块、自定义模块;
    • 借助于插件完成记录日志邮件等功能;
    • playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
  3. 示意图

    image-20230427145616259

2.安装与使用

  1. 环境
服务主机名称IP地址
服务端master192.168.2.3
客户端node1192.168.2.4
客户端node2192.168.2.5
  1. 服务端安装ansible

    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum install -y epel-release
    yum install ansible -y

    //查看ansible的版本
    ansible --version

    yum install -y tree
    tree /etc/ansible/

  2. 配置公私钥

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
       ssh-keygen -t rsa

    将生成的公钥发给所有机器,包括自己
    ssh-copy-id root@192.168.2.3
    ssh-copy-id root@192.168.2.4
    ssh-copy-id root@192.168.2.5

    ---这样的话从3访问4和5就都不要输入密码了

    4. 配置hosts文件

    ```shell
    vim /etc/ansible/hosts

    [webserver]
    192.168.2.4
    192.168.2.5
  3. 主机连通测试

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ansible webserver -m ping

    [root@c1 ~]# ansible webserver -m ping
    192.168.2.4 | SUCCESS => {
    "changed": false,
    "ping": "pong"
    }
    192.168.2.4 | SUCCESS => {
    "changed": false,
    "ping": "pong"
    }

  4. 常用命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ansible-doc -l  #查看支持的模块
    ansible-doc -s MODEL_NAME #查看模块用法
    ansible命令应用基础
    ansible <host-pattern> [options]
    -f fork:启动并发 线程数
    -m model_name:要使用的模块
    -a args:特有的参数

    ansible all -m ping #查看client端是否正常ping通
    ansible webserver -m setup #查看客户端信息
    ansible webserver -m copy -a 'src=/root/git_test/code.txt dest=/root/test' #copy文件到client端
    ansible webserver -m user -a "name=test state=present" #创建test用户
    ansible webserver -m user -a "name=test state=absent" #删除test用户
    ansible webserver -m yum -a 'name=epel-relese state=latest' #yum安装
    ansible webserver -m systemd -a 'name=httpd state=stopped enabled=no' #停止httpd服务
    ansible webserver -m script -a '/tmp/test,sh' #运行脚本
    ansible webserver -m command 'date' #查看时间

    3. playbook

    • 执行一些简单的任务,使用ad-hoc命令可以方便的解决问题,但是有时一个设施过于复杂,需要大量的操作的时候,执行的ad-hoc命令是不合适的,这时候最好使用playbook。
    • 就像执行shell命令与写shell脚本一样,也可以理解为批处理任务,不过playbook有自己的语法格式
    • 使用playbook可以方便的重复使用这些代码,可以移植到不同的机器上面,像函数一样,最大化的利用代码。在你使用Ansible的过程中,你也会发现,你所处理的大部分操作都是编写playbook。可以把常见的应用都编写playbook,之后管理服务器会变得很简单。

例如一个安装并运行nginx的任务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
---
- hosts: web
remote_user: root
tasks:

- name: install nginx ##安装模块,需要在被控主机里加上nginx的源
yum: name=nginx state=present
- name: copy nginx.conf ##复制nginx的配置文件过去,需要在本机的/tmp目录下编辑nginx.conf
copy: src=/tmp/nginx.conf dest=/etc/nginx/nginx.conf backup=yes
notify: reload #当nginx.conf发生改变时,通知给相应的handlers
tags: reloadnginx #打标签
- name: start nginx service #服务启动模块
service: name=nginx state=started
tags: startnginx #打标签

handlers:
- name: reload
service: name=nginx state=restarted

运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@ansible ansible]# ansible-playbook nginx.yml 

PLAY [web] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.2.3]

TASK [install nginx] ***********************************************************
changed: [192.168.2.3]

TASK [copy nginx.conf] *********************************************************
ok: [192.168.2.3]

TASK [start nginx service] *****************************************************
changed: [192.168.2.3]

PLAY RECAP *********************************************************************
192.168.2.3 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0


##查看被控主机上的nginx服务
[root@ansible ansible]# ansible web -m shell -a 'netstat -natp | grep nginx'
192.168.2.3 | CHANGED | rc=0 >>
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2720/nginx: master

以上只是一个简单的实现,使用ansible还能做更加复杂的事情。

----- The End -----
0%
ansible自动部署 | 随言碎语

随言碎语

咕叽咕叽

ansible自动部署

Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。

1.简介

  1. Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。

  2. ansible 基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

    • 连接插件connection plugins:负责和被监控端实现通信;
    • host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
    • 各种模块核心模块、command模块、自定义模块;
    • 借助于插件完成记录日志邮件等功能;
    • playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
  3. 示意图

    image-20230427145616259

2.安装与使用

  1. 环境
服务主机名称IP地址
服务端master192.168.2.3
客户端node1192.168.2.4
客户端node2192.168.2.5
  1. 服务端安装ansible

    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum install -y epel-release
    yum install ansible -y

    //查看ansible的版本
    ansible --version

    yum install -y tree
    tree /etc/ansible/

  2. 配置公私钥

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
       ssh-keygen -t rsa

    将生成的公钥发给所有机器,包括自己
    ssh-copy-id root@192.168.2.3
    ssh-copy-id root@192.168.2.4
    ssh-copy-id root@192.168.2.5

    ---这样的话从3访问4和5就都不要输入密码了

    4. 配置hosts文件

    ```shell
    vim /etc/ansible/hosts

    [webserver]
    192.168.2.4
    192.168.2.5
  3. 主机连通测试

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ansible webserver -m ping

    [root@c1 ~]# ansible webserver -m ping
    192.168.2.4 | SUCCESS => {
    "changed": false,
    "ping": "pong"
    }
    192.168.2.4 | SUCCESS => {
    "changed": false,
    "ping": "pong"
    }

  4. 常用命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ansible-doc -l  #查看支持的模块
    ansible-doc -s MODEL_NAME #查看模块用法
    ansible命令应用基础
    ansible <host-pattern> [options]
    -f fork:启动并发 线程数
    -m model_name:要使用的模块
    -a args:特有的参数

    ansible all -m ping #查看client端是否正常ping通
    ansible webserver -m setup #查看客户端信息
    ansible webserver -m copy -a 'src=/root/git_test/code.txt dest=/root/test' #copy文件到client端
    ansible webserver -m user -a "name=test state=present" #创建test用户
    ansible webserver -m user -a "name=test state=absent" #删除test用户
    ansible webserver -m yum -a 'name=epel-relese state=latest' #yum安装
    ansible webserver -m systemd -a 'name=httpd state=stopped enabled=no' #停止httpd服务
    ansible webserver -m script -a '/tmp/test,sh' #运行脚本
    ansible webserver -m command 'date' #查看时间

    3. playbook

    • 执行一些简单的任务,使用ad-hoc命令可以方便的解决问题,但是有时一个设施过于复杂,需要大量的操作的时候,执行的ad-hoc命令是不合适的,这时候最好使用playbook。
    • 就像执行shell命令与写shell脚本一样,也可以理解为批处理任务,不过playbook有自己的语法格式
    • 使用playbook可以方便的重复使用这些代码,可以移植到不同的机器上面,像函数一样,最大化的利用代码。在你使用Ansible的过程中,你也会发现,你所处理的大部分操作都是编写playbook。可以把常见的应用都编写playbook,之后管理服务器会变得很简单。

例如一个安装并运行nginx的任务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
---
- hosts: web
remote_user: root
tasks:

- name: install nginx ##安装模块,需要在被控主机里加上nginx的源
yum: name=nginx state=present
- name: copy nginx.conf ##复制nginx的配置文件过去,需要在本机的/tmp目录下编辑nginx.conf
copy: src=/tmp/nginx.conf dest=/etc/nginx/nginx.conf backup=yes
notify: reload #当nginx.conf发生改变时,通知给相应的handlers
tags: reloadnginx #打标签
- name: start nginx service #服务启动模块
service: name=nginx state=started
tags: startnginx #打标签

handlers:
- name: reload
service: name=nginx state=restarted

运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@ansible ansible]# ansible-playbook nginx.yml 

PLAY [web] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.2.3]

TASK [install nginx] ***********************************************************
changed: [192.168.2.3]

TASK [copy nginx.conf] *********************************************************
ok: [192.168.2.3]

TASK [start nginx service] *****************************************************
changed: [192.168.2.3]

PLAY RECAP *********************************************************************
192.168.2.3 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0


##查看被控主机上的nginx服务
[root@ansible ansible]# ansible web -m shell -a 'netstat -natp | grep nginx'
192.168.2.3 | CHANGED | rc=0 >>
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2720/nginx: master

以上只是一个简单的实现,使用ansible还能做更加复杂的事情。

----- The End -----
0%
centos7安装特定版本的python | 随言碎语

随言碎语

咕叽咕叽

centos7安装特定版本的python

某个第三方库只支持某个特定版本的py,因此需要在同一个环境下安装不同版本的py

安装

  1. 当前环境:
  • centos7 + python2.6 —>目标:安装py2.7.6
  1. 从官网下载Pyhon https://www.python.org/download/releases/2.7.6

    • 选择下载Gzipped source tar ball (2.7.6) (sig)
  2. 安装本地编译环境

    1
    2
    yum groupinstall -y Development tools
    yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
  3. 解压并编译

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    tar -xvf Python-2.7.6.tgz

    cd Python-2.7.6

    ./configure --prefix=/usr/local/python2.7

    make

    make install

    安装完后的Python的可执行文件目录是 /usr/local/bin
    安装完后的python安装目录路径是 /usr/local/lib/python2.7
  4. 创建链接来使系统默认python变为python2.7

    1
    ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python
  5. 查看当前的Python版本,确认已经是2.7.6

1
python –V
  1. 修改yum配置(若yum无法正常运行)

    1
    2
    3
    vi /usr/bin/yum

    将第一行的#!/usr/bin/python修改为系统原有的python版本地址#!/usr/bin/python2.6

问题

1. 安装 python3.7 时No module named _ssl

  1. 错误信息

    1
    2
    import _ssl       # if we can't import it, let the error propagate
    ImportError: No module named _ssl

    原因:openssl版本最低为1.0.2,但是centos 默认的为1.0.1,所以需要重新更新openssl

  2. 升级openssl

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 安装依赖库
    yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

    wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
    tar -zxvf openssl-1.1.1.tar.gz
    cd openssl-1.1.1
    ./config --prefix=$HOME/openssl shared zlib
    make && make install

  3. 设置环境变量LD_LIBRARY_PATH

    1
    2
    echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
    source $HOME/.bash_profile
  4. 安装的时候指定刚才安装的openssl

    1
    2
    3
    4
    5
    6
    7
    8
    # 解压py安装包
    tar -zxvf Python-3.7.0.tgz

    # 进去解压后的目录,安装时指定刚才 openssl 的位置
    ./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl
    make && make install
    echo $HOME

  5. 至此python3.7就安装完了,来检验下ssl模块能否被导入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# echo $HOME
    /root
    [root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# cd /root/Py37/
    [root@izbp12am8wqrn7t6wzgmydz bin]# ./python3
    Python 3.7.0 (default, Sep 16 2018, 14:12:43)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import ssl
    >>> import _ssl
    >>>
----- The End -----
0%
centos7安装特定版本的python | 随言碎语

随言碎语

咕叽咕叽

centos7安装特定版本的python

某个第三方库只支持某个特定版本的py,因此需要在同一个环境下安装不同版本的py

安装

  1. 当前环境:
  • centos7 + python2.6 —>目标:安装py2.7.6
  1. 从官网下载Pyhon https://www.python.org/download/releases/2.7.6

    • 选择下载Gzipped source tar ball (2.7.6) (sig)
  2. 安装本地编译环境

    1
    2
    yum groupinstall -y Development tools
    yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
  3. 解压并编译

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    tar -xvf Python-2.7.6.tgz

    cd Python-2.7.6

    ./configure --prefix=/usr/local/python2.7

    make

    make install

    安装完后的Python的可执行文件目录是 /usr/local/bin
    安装完后的python安装目录路径是 /usr/local/lib/python2.7
  4. 创建链接来使系统默认python变为python2.7

    1
    ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python
  5. 查看当前的Python版本,确认已经是2.7.6

1
python –V
  1. 修改yum配置(若yum无法正常运行)

    1
    2
    3
    vi /usr/bin/yum

    将第一行的#!/usr/bin/python修改为系统原有的python版本地址#!/usr/bin/python2.6

问题

1. 安装 python3.7 时No module named _ssl

  1. 错误信息

    1
    2
    import _ssl       # if we can't import it, let the error propagate
    ImportError: No module named _ssl

    原因:openssl版本最低为1.0.2,但是centos 默认的为1.0.1,所以需要重新更新openssl

  2. 升级openssl

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 安装依赖库
    yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

    wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
    tar -zxvf openssl-1.1.1.tar.gz
    cd openssl-1.1.1
    ./config --prefix=$HOME/openssl shared zlib
    make && make install

  3. 设置环境变量LD_LIBRARY_PATH

    1
    2
    echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
    source $HOME/.bash_profile
  4. 安装的时候指定刚才安装的openssl

    1
    2
    3
    4
    5
    6
    7
    8
    # 解压py安装包
    tar -zxvf Python-3.7.0.tgz

    # 进去解压后的目录,安装时指定刚才 openssl 的位置
    ./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl
    make && make install
    echo $HOME

  5. 至此python3.7就安装完了,来检验下ssl模块能否被导入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# echo $HOME
    /root
    [root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# cd /root/Py37/
    [root@izbp12am8wqrn7t6wzgmydz bin]# ./python3
    Python 3.7.0 (default, Sep 16 2018, 14:12:43)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import ssl
    >>> import _ssl
    >>>
----- The End -----
0%
centos7安装docker | 随言碎语

随言碎语

咕叽咕叽

centos7安装docker

在cenos7上安装docker和docker-compose

1. 安装docker

  1. 确认内核版本符合要求(docker官方说至少3.8以上,建议3.10以上)

    1
    2
    3
    [root@zmr-service ~]# uname -a
    Linux zmr-service 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    [root@zmr-service ~]#
  2. 安装需要的软件包

    1
    2
    3
    [root@zmr-service ~]#  yum install -y yum-utils device-mapper-persistent-data lvm2

    yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
  3. 设置docker安装的yum源

    1
    2
    # 阿里仓库
    [root@zmr-service ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  4. 查看所有仓库中所有docker版本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [root@localhost ~]# yum list docker-ce --showduplicates | sort -r
    已加载插件:fastestmirror
    可安装的软件包
    * updates: mirrors.cn99.com
    Loading mirror speeds from cached hostfile
    * extras: mirrors.aliyun.com
    docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
    docker-ce.x86_64 3:19.03.1-3.el7
    ... ...


  5. 安装Docker,

    1
    2
    3
    [root@localhost ~]# yum install docker-ce  -y

    表示直接安装最新的docker
  6. 验证安装是否成功

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    [root@zmr-service ~]# docker version
    Client: Docker Engine - Community
    Version: 23.0.3
    API version: 1.42
    Go version: go1.19.7
    Git commit: 3e7cbfd
    Built: Tue Apr 4 22:04:18 2023
    OS/Arch: linux/amd64
    Context: default

    Server: Docker Engine - Community
    Engine:
    Version: 23.0.3
    API version: 1.42 (minimum version 1.12)
    Go version: go1.19.7
    Git commit: 59118bf
    Built: Tue Apr 4 22:02:01 2023
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.6.20
    GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
    runc:
    Version: 1.1.5
    GitCommit: v1.1.5-0-gf19387a
    docker-init:
    Version: 0.19.0
    GitCommit: de40ad0


  7. 启动并加入开机启动

    1
    2
    [root@localhost ~]# systemctl start docker
    [root@localhost ~]# systemctl enable docker

    2.安装docker-compose

    1. 下载最新版本的 docker-compose 到 /usr/bin 目录下

      1
      2
      3
      4
      curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

      #
      chmod +x /usr/bin/docker-compose
    2. 给 docker-compose 授权

      1
      chmod +x /usr/local/bin/docker-compose
    3. 检查docker compose版本

      1
      2
      [root@zmr-service ~]# docker-compose -v
      docker-compose version 1.25.0, build 0a186604

3.配置及优化

docker配置及优化
----- The End -----
0%
centos7安装docker | 随言碎语

随言碎语

咕叽咕叽

centos7安装docker

在cenos7上安装docker和docker-compose

1. 安装docker

  1. 确认内核版本符合要求(docker官方说至少3.8以上,建议3.10以上)

    1
    2
    3
    [root@zmr-service ~]# uname -a
    Linux zmr-service 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    [root@zmr-service ~]#
  2. 安装需要的软件包

    1
    2
    3
    [root@zmr-service ~]#  yum install -y yum-utils device-mapper-persistent-data lvm2

    yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
  3. 设置docker安装的yum源

    1
    2
    # 阿里仓库
    [root@zmr-service ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  4. 查看所有仓库中所有docker版本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [root@localhost ~]# yum list docker-ce --showduplicates | sort -r
    已加载插件:fastestmirror
    可安装的软件包
    * updates: mirrors.cn99.com
    Loading mirror speeds from cached hostfile
    * extras: mirrors.aliyun.com
    docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
    docker-ce.x86_64 3:19.03.1-3.el7
    ... ...


  5. 安装Docker,

    1
    2
    3
    [root@localhost ~]# yum install docker-ce  -y

    表示直接安装最新的docker
  6. 验证安装是否成功

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    [root@zmr-service ~]# docker version
    Client: Docker Engine - Community
    Version: 23.0.3
    API version: 1.42
    Go version: go1.19.7
    Git commit: 3e7cbfd
    Built: Tue Apr 4 22:04:18 2023
    OS/Arch: linux/amd64
    Context: default

    Server: Docker Engine - Community
    Engine:
    Version: 23.0.3
    API version: 1.42 (minimum version 1.12)
    Go version: go1.19.7
    Git commit: 59118bf
    Built: Tue Apr 4 22:02:01 2023
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.6.20
    GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
    runc:
    Version: 1.1.5
    GitCommit: v1.1.5-0-gf19387a
    docker-init:
    Version: 0.19.0
    GitCommit: de40ad0


  7. 启动并加入开机启动

    1
    2
    [root@localhost ~]# systemctl start docker
    [root@localhost ~]# systemctl enable docker

    2.安装docker-compose

    1. 下载最新版本的 docker-compose 到 /usr/bin 目录下

      1
      2
      3
      4
      curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

      #
      chmod +x /usr/bin/docker-compose
    2. 给 docker-compose 授权

      1
      chmod +x /usr/local/bin/docker-compose
    3. 检查docker compose版本

      1
      2
      [root@zmr-service ~]# docker-compose -v
      docker-compose version 1.25.0, build 0a186604

3.配置及优化

docker配置及优化
----- The End -----
0%
docker搭建frp服务端和客户端 | 随言碎语

随言碎语

咕叽咕叽

docker搭建frp服务端和客户端

使用docker-compose来搭建frps和frpc

1.搭建frps服务端

  1. 创建FRP目录

    1
    2
    3
    mkdir /opt/docker-compose-data/frp #默认为root用户

    cd /opt/docker-compose-data/frp
  2. 创建 Docker-compose.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # vim docker-compose.yml

    version: '3.3'
    services:
    frps:
    restart: always
    network_mode: host
    volumes:
    - './frps.ini:/etc/frp/frps.ini'
    container_name: frps
    image: snowdreamtech/frps

  3. 创建frps.ini文件

    1
    2
    3
    4
    5
    6
    7
    8
    # vim frps.ini
    [common]
    bind_port=5400 #监听端口

    subdomain_host = xxx.xxx #主域名
    max_pool_count = 5 #最大连接数

    token = pwd12345 #服务端与客户端的认证密钥,要改一个复杂一点的
  4. 启动容器

    1
    2
    3
    4
    5
    #启动容器
    docker-compose up -d

    #查看是否启动成功
    docker ps

1.搭建frpc客户端

  1. 创建FRP目录

    1
    2
    3
    mkdir /opt/docker-compose-data/frp #默认为root用户

    cd /opt/docker-compose-data/frp
  2. 创建 Docker-compose.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # vim docker-compose.yml

    version: '3.3'
    services:
    frpc:
    restart: always
    network_mode: host
    volumes:
    - './frpc.ini:/etc/frp/frpc.ini'
    container_name: frpc
    image: snowdreamtech/frpc

  3. 创建frpc.ini文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # vim frpc.ini
    [common]
    server_addr= 121.1.20.1 #服务端服务器的公网ip
    server_port= 5400 #监听端口
    token = pwd123 #服务端与客户端的认证密钥


    [jellyfin] #如果有多个,这个名称不能重复
    type = tcp
    local_ip = 127.0.0.1
    local_port = 8096 #本地服务端口
    remote_port = 6001 #远程服务器端口
    subdomain = jellyfin
  4. 启动容器

    1
    2
    3
    4
    5
    #启动容器
    docker-compose up -d

    #查看是否启动成功
    docker ps

问题

  1. 服务端不是docker的方式安装的,通过systemd启动frps服务后,想代理tcp 80、443端口,但是一直报错port unavailable,其他tcp端口9000、9001等都能正常被代理。

    服务端配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [Unit]
    Description=Frp Server Service
    After=network.target

    [Service]
    Type=simple
    User=nobody
    Restart=on-failure
    RestartSec=5s
    ExecStart=/usr/bin/frps -c ./frps.ini --log_file ./frps.log
    LimitNOFILE=1048576

    [Install]
    WantedBy=multi-user.target

    报错信息:

    1
    2
    [control.go:447] [54351724c0c3c4be] new proxy [nginx_80] error: port unavailable
    [control.go:447] [54351724c0c3c4be] new proxy [nginx_443] error: port unavailable

    原因:

    User使用nobody没有权限使用80、443端口资源。将其改为root即可。

----- The End -----
0%
docker搭建frp服务端和客户端 | 随言碎语

随言碎语

咕叽咕叽

docker搭建frp服务端和客户端

使用docker-compose来搭建frps和frpc

1.搭建frps服务端

  1. 创建FRP目录

    1
    2
    3
    mkdir /opt/docker-compose-data/frp #默认为root用户

    cd /opt/docker-compose-data/frp
  2. 创建 Docker-compose.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # vim docker-compose.yml

    version: '3.3'
    services:
    frps:
    restart: always
    network_mode: host
    volumes:
    - './frps.ini:/etc/frp/frps.ini'
    container_name: frps
    image: snowdreamtech/frps

  3. 创建frps.ini文件

    1
    2
    3
    4
    5
    6
    7
    8
    # vim frps.ini
    [common]
    bind_port=5400 #监听端口

    subdomain_host = xxx.xxx #主域名
    max_pool_count = 5 #最大连接数

    token = pwd12345 #服务端与客户端的认证密钥,要改一个复杂一点的
  4. 启动容器

    1
    2
    3
    4
    5
    #启动容器
    docker-compose up -d

    #查看是否启动成功
    docker ps

1.搭建frpc客户端

  1. 创建FRP目录

    1
    2
    3
    mkdir /opt/docker-compose-data/frp #默认为root用户

    cd /opt/docker-compose-data/frp
  2. 创建 Docker-compose.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # vim docker-compose.yml

    version: '3.3'
    services:
    frpc:
    restart: always
    network_mode: host
    volumes:
    - './frpc.ini:/etc/frp/frpc.ini'
    container_name: frpc
    image: snowdreamtech/frpc

  3. 创建frpc.ini文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # vim frpc.ini
    [common]
    server_addr= 121.1.20.1 #服务端服务器的公网ip
    server_port= 5400 #监听端口
    token = pwd123 #服务端与客户端的认证密钥


    [jellyfin] #如果有多个,这个名称不能重复
    type = tcp
    local_ip = 127.0.0.1
    local_port = 8096 #本地服务端口
    remote_port = 6001 #远程服务器端口
    subdomain = jellyfin
  4. 启动容器

    1
    2
    3
    4
    5
    #启动容器
    docker-compose up -d

    #查看是否启动成功
    docker ps

问题

  1. 服务端不是docker的方式安装的,通过systemd启动frps服务后,想代理tcp 80、443端口,但是一直报错port unavailable,其他tcp端口9000、9001等都能正常被代理。

    服务端配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [Unit]
    Description=Frp Server Service
    After=network.target

    [Service]
    Type=simple
    User=nobody
    Restart=on-failure
    RestartSec=5s
    ExecStart=/usr/bin/frps -c ./frps.ini --log_file ./frps.log
    LimitNOFILE=1048576

    [Install]
    WantedBy=multi-user.target

    报错信息:

    1
    2
    [control.go:447] [54351724c0c3c4be] new proxy [nginx_80] error: port unavailable
    [control.go:447] [54351724c0c3c4be] new proxy [nginx_443] error: port unavailable

    原因:

    User使用nobody没有权限使用80、443端口资源。将其改为root即可。

----- The End -----
0%
debian安装docker | 随言碎语

随言碎语

咕叽咕叽

debian安装docker

在debian上安装docker和docker-compose

1. 安装docker

  1. 切换成root用户,安装一些必要的软件包

    1
    2
    3
    4
    5
    6
    # 切换成root用户
    sudo -i
    # 安装一些必要的软件包
    apt update
    apt upgrade -y
    apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
  2. 然后加入 Docker 的 GPG 公钥和 apt 源(官方和清华的二选一

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    官方的
    -----------

    # 获取公钥
    curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg

    # 添加apt源
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

    清华TUNA的
    ------------------
    # 获取公钥
    curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg

    # 添加apt源
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
  3. 更新系统后即可安装 Docker CE

    1
    2
    apt update
    apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  4. 使用 docker version 命令检查是否安装成功

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    root@debian ~ # docker version
    Client: Docker Engine - Community
    Version: 20.10.22
    API version: 1.41
    Go version: go1.18.9
    Git commit: 3a2c30b
    Built: Thu Dec 15 22:28:22 2022
    OS/Arch: linux/amd64
    Context: default
    Experimental: true

    Server: Docker Engine - Community
    Engine:
    Version: 20.10.22
    API version: 1.41 (minimum version 1.12)
    Go version: go1.18.9
    Git commit: 42c8b31
    Built: Thu Dec 15 22:26:14 2022
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.6.14
    GitCommit: 9ba4b250366a5ddde94bb7c9d1def331423aa323
    runc:
    Version: 1.1.4
    GitCommit: v1.1.4-0-g5fd4c4d
    docker-init:
    Version: 0.19.0
    GitCommit: de40ad0

2. 安装docker-compose

因为我们已经安装了 docker-compose-plugin,所以 Docker 目前已经自带 docker compose 命令,基本上可以替代 docker-compose

1
2
root@debian ~ # docker compose version
Docker Compose version v2.14.1

如果某些镜像或命令不兼容,则我们还可以单独安装 Docker Compose:

我们可以使用 Docker 官方发布的 Github 直接安装最新版本:

1
2
3
4
5
6
7
8
# 下载docker-compose
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
# 赋权限
chmod +x /usr/local/bin/docker-compose

# 命令检查是否安装成功:
root@debian ~ # docker-compose version
Docker Compose version v2.14.2

3.配置及优化

docker配置及优化
----- The End -----
0%
debian安装docker | 随言碎语

随言碎语

咕叽咕叽

debian安装docker

在debian上安装docker和docker-compose

1. 安装docker

  1. 切换成root用户,安装一些必要的软件包

    1
    2
    3
    4
    5
    6
    # 切换成root用户
    sudo -i
    # 安装一些必要的软件包
    apt update
    apt upgrade -y
    apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
  2. 然后加入 Docker 的 GPG 公钥和 apt 源(官方和清华的二选一

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    官方的
    -----------

    # 获取公钥
    curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg

    # 添加apt源
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

    清华TUNA的
    ------------------
    # 获取公钥
    curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg

    # 添加apt源
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
  3. 更新系统后即可安装 Docker CE

    1
    2
    apt update
    apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  4. 使用 docker version 命令检查是否安装成功

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    root@debian ~ # docker version
    Client: Docker Engine - Community
    Version: 20.10.22
    API version: 1.41
    Go version: go1.18.9
    Git commit: 3a2c30b
    Built: Thu Dec 15 22:28:22 2022
    OS/Arch: linux/amd64
    Context: default
    Experimental: true

    Server: Docker Engine - Community
    Engine:
    Version: 20.10.22
    API version: 1.41 (minimum version 1.12)
    Go version: go1.18.9
    Git commit: 42c8b31
    Built: Thu Dec 15 22:26:14 2022
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.6.14
    GitCommit: 9ba4b250366a5ddde94bb7c9d1def331423aa323
    runc:
    Version: 1.1.4
    GitCommit: v1.1.4-0-g5fd4c4d
    docker-init:
    Version: 0.19.0
    GitCommit: de40ad0

2. 安装docker-compose

因为我们已经安装了 docker-compose-plugin,所以 Docker 目前已经自带 docker compose 命令,基本上可以替代 docker-compose

1
2
root@debian ~ # docker compose version
Docker Compose version v2.14.1

如果某些镜像或命令不兼容,则我们还可以单独安装 Docker Compose:

我们可以使用 Docker 官方发布的 Github 直接安装最新版本:

1
2
3
4
5
6
7
8
# 下载docker-compose
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
# 赋权限
chmod +x /usr/local/bin/docker-compose

# 命令检查是否安装成功:
root@debian ~ # docker-compose version
Docker Compose version v2.14.2

3.配置及优化

docker配置及优化
----- The End -----
0%
docker配置及优化 | 随言碎语

docker配置及优化

docker配置国内源,开启容器的 IPv6 功能,以及限制日志文件大小等

1. 安装

centos7安装docker debian安装docker

2.docker配置

2.1 配置国内加速源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mkdir -p /etc/docker

cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://registry.hub.docker.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://419bd6w5.mirror.aliyuncs.com",
"https://registry.docker-cn.com"
]
}
EOF

# 修改完成后,再重加载配置文件
sudo systemctl daemon-reload
sudo systemctl restart docker

2.2 开启容器的 IPv6 功能,以及限制日志文件大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 注意!!!! 上面那个是同一个配置文件,如果也配置了上面的,这里要把这两个合并一下。或者是用vim打开后手动添加

cat > /etc/docker/daemon.json << EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF

# 修改完成后,再重加载配置文件
sudo systemctl daemon-reload
sudo systemctl restart docker

2.3 修改存储位置

docker镜像默认是放在/var/lib/docker目录下面的,如果有需要可以更改后做软连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 停掉Docker服务
$ service docker stop

# 移动原有的内容
$ mv /var/lib/docker /opt/data/docker

# 进行链接
$ ln -sf /opt/data/docker /var/lib/docker

# 重新reload配置文件
$ sudo systemctl daemon-reload

# 重启docker服务
$ sudo systemctl restart docker.service
----- The End -----
0%
docker配置及优化 | 随言碎语

docker配置及优化

docker配置国内源,开启容器的 IPv6 功能,以及限制日志文件大小等

1. 安装

centos7安装docker debian安装docker

2.docker配置

2.1 配置国内加速源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mkdir -p /etc/docker

cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://registry.hub.docker.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://419bd6w5.mirror.aliyuncs.com",
"https://registry.docker-cn.com"
]
}
EOF

# 修改完成后,再重加载配置文件
sudo systemctl daemon-reload
sudo systemctl restart docker

2.2 开启容器的 IPv6 功能,以及限制日志文件大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 注意!!!! 上面那个是同一个配置文件,如果也配置了上面的,这里要把这两个合并一下。或者是用vim打开后手动添加

cat > /etc/docker/daemon.json << EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF

# 修改完成后,再重加载配置文件
sudo systemctl daemon-reload
sudo systemctl restart docker

2.3 修改存储位置

docker镜像默认是放在/var/lib/docker目录下面的,如果有需要可以更改后做软连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 停掉Docker服务
$ service docker stop

# 移动原有的内容
$ mv /var/lib/docker /opt/data/docker

# 进行链接
$ ln -sf /opt/data/docker /var/lib/docker

# 重新reload配置文件
$ sudo systemctl daemon-reload

# 重启docker服务
$ sudo systemctl restart docker.service
----- The End -----
0%
碎碎念念 | 随言碎语

随言碎语

咕叽咕叽

碎碎念念

一些诗词摘抄、一些美言佳句、一些感悟、还有一些emo…

时间轴

2023-4-02 [诗词]

我将玫瑰藏于身后,
风起花落,
从此鲜花赠自己,
纵马踏花向自由。
从此不再问候,
纵使你阅人何其多,
也再无一人恰似我。

2023-3-16 [随笔]

好想和你走在傍晚的这种小路上的🤪

2023-3-14 [佳句] 罗翔

我知道我是如此爱她,我也知道她是我一生挚爱,但是我放弃了。我为什么放弃了?不是因为她不好,也不是因为我不爱她,而是因为我放弃了,我被迫放弃了。 --罗翔

2023-2-25 [诗词]

晚风吹人醒,万事藏于心。

2023-2-25 [歌曲] 五月天《温柔》

天边风光,身边的我,都不在你眼中
你的眼中藏着什么,我从来都不懂
没有关系,你的世界就让你拥有
不打扰,是我的温柔

2022-11-20 [诗词]《下雨和见你》

《下雨和见你》
世界上美好的东西不太多,
傍晚从河畔吹来的微风,
远在天边的晚霞,
和二十来岁笑起来要人命的你。

2022-07-11 [诗词]

指如削葱根,口如含朱丹。纤纤作细步,精妙世无双。

2022-7-03 [歌曲] 五月天

你 不在乎我的过往
看到了我的翅膀
你说被火烧过
才能出现凤凰
逆风的方向 更适合飞翔
我不怕千万人阻挡
只怕自己投降

2022-2-6 [句子] 央视文案

  1. 从此烟雨落金城,一人撑伞两人行。
  2. 是微风,是晚霞,是无可替代。
  3. 初见乍欢,久处亦怦然。
  4. 万千荣耀不如日日晨昏中的琐细
  5. 鸿是江边鸟,你是心上人。
  6. 遇见你仿佛是一种神奇的安排,他是一切的开始。
  7. 幸得识卿桃花面,从此阡陌多暖春。
  8. 深深的话我们浅浅说,长长的路我们满满走。
  9. 我曾踏月而来,只因你在山中。
  10. 朝暮与岁月并往,与你一同行至天光。
  11. 你是我的半截诗,不允许别人更改一个字。
  12. 浪漫的东西不是昙花一现,而是持之以恒。
  13. 海上月是天上月,眼前人是心上人。
  14. 落俗不可避免,浪漫至死不渝。
  15. 山海远阔,人间星河,无一是你,无一不是你。
  16. 始于初见,止于终老。
  17. 你是我绕过人间烟海,才找到的人间烟火。

2021-12-30 [诗词] <<假如我们坐在世界的屋脊>>

<<假如我们坐在世界的屋脊>>
这种速度有些不真实,缓慢,仿佛不曾发生
消失的太阳
头发一天比一天衰老
我们去西藏
面对蓝天和云朵,试图去妥协
那么,窗户挡不住时间的伤
没有丝毫停顿,阳光比远方和异乡更遥远
请记得旅途和远景
请记得回忆和幸福
早晨和夜晚很刻意,它们永远不会看见彼此
人间四月,花朵越开越美
何时才能到达?看看少数人的愿望,和我们的蓝天

2021-12-30 [诗词] <<死在火星上>>

<<死在火星上>>

我终将死亡,
在群星闪耀的夜晚,
请将我埋葬。
不要问我从何处来,
来处遥隔千万里,
不要问我往哪里去,
前途无尽路茫茫,
不要为我悲伤,不要为我哭泣,
终有一日,
春风拂过,
枯木上会开出鲜艳的花,
你一定要来看看我啊,
当那一天来临,
我的墓碑上会有翠鸟张开翅膀,
撒下一片阳光。
当那一天来临,
请带上我的双眼,
穿越亿万光年的漫漫长河,
抵达宇宙的尽头,
你会看到那颗黯淡的蓝点,
在此处,
请将我的灵魂放逐。
如果你要问,
这是哪儿啊?
遥望一亿五千万平方公里的辽阔土地,
我会告诉你啊,
这是我的家园。

2021-03-25 [诗词]

本是青灯不归客,却因浊酒恋红尘。

2021-01-24 [音乐]

0%
碎碎念念 | 随言碎语

随言碎语

咕叽咕叽

碎碎念念

一些诗词摘抄、一些美言佳句、一些感悟、还有一些emo…

时间轴

2023-4-02 [诗词]

我将玫瑰藏于身后,
风起花落,
从此鲜花赠自己,
纵马踏花向自由。
从此不再问候,
纵使你阅人何其多,
也再无一人恰似我。

2023-3-25 [歌曲] 张杰《想见你想见你想见你》

想见你只想见你
未来过去我只想见你
穿越了千个万个时间线里
人海里相依
用尽了逻辑心机
推理爱情最难解的谜
会不会你也和我一样
在等待一句我愿意

2023-3-16 [随笔]

好想和你走在傍晚的这种小路上的🤪

2023-3-14 [佳句] 罗翔

我知道我是如此爱她,我也知道她是我一生挚爱,但是我放弃了。我为什么放弃了?不是因为她不好,也不是因为我不爱她,而是因为我放弃了,我被迫放弃了。 --罗翔

2023-2-25 [诗词]

晚风吹人醒,万事藏于心。

2023-2-20 [歌曲] 五月天《温柔》

天边风光,身边的我,都不在你眼中
你的眼中藏着什么,我从来都不懂
没有关系,你的世界就让你拥有
不打扰,是我的温柔

2023-2-14 [emo]

一个人并不可怕,可怕的是有个人突然闯进你的生活,得也得不到, 忘也忘了掉,进一步没资格,退一步舍不得, 连吃醋都要名不正言不顺

2022-1-30 [emo]

再遇到喜欢的人,想来只觉得非常遗憾,早几年遇见就好了,那些热烈,欢喜,年少轻狂和桀骜不驯连同整个世界都想要送给你。可你来的太晚了,我已经学会了一个人送走落日,一个人等待星光,我的热烈早已在无数个孤立无援的时刻里消耗殆尽。

2022-11-20 [诗词]《下雨和见你》

《下雨和见你》
世界上美好的东西不太多,
傍晚从河畔吹来的微风,
远在天边的晚霞,
和二十来岁笑起来要人命的你。

2022-07-11 [诗词]

指如削葱根,口如含朱丹。纤纤作细步,精妙世无双。

2022-7-03 [歌曲] 五月天

你 不在乎我的过往
看到了我的翅膀
你说被火烧过
才能出现凤凰
逆风的方向 更适合飞翔
我不怕千万人阻挡
只怕自己投降

2022-2-6 [句子] 央视文案

  1. 从此烟雨落金城,一人撑伞两人行。
  2. 是微风,是晚霞,是无可替代。
  3. 初见乍欢,久处亦怦然。
  4. 万千荣耀不如日日晨昏中的琐细
  5. 鸿是江边鸟,你是心上人。
  6. 遇见你仿佛是一种神奇的安排,他是一切的开始。
  7. 幸得识卿桃花面,从此阡陌多暖春。
  8. 深深的话我们浅浅说,长长的路我们满满走。
  9. 我曾踏月而来,只因你在山中。
  10. 朝暮与岁月并往,与你一同行至天光。
  11. 你是我的半截诗,不允许别人更改一个字。
  12. 浪漫的东西不是昙花一现,而是持之以恒。
  13. 海上月是天上月,眼前人是心上人。
  14. 落俗不可避免,浪漫至死不渝。
  15. 山海远阔,人间星河,无一是你,无一不是你。
  16. 始于初见,止于终老。
  17. 你是我绕过人间烟海,才找到的人间烟火。

2021-12-30 [诗词] <<假如我们坐在世界的屋脊>>

<<假如我们坐在世界的屋脊>>
这种速度有些不真实,缓慢,仿佛不曾发生
消失的太阳
头发一天比一天衰老
我们去西藏
面对蓝天和云朵,试图去妥协
那么,窗户挡不住时间的伤
没有丝毫停顿,阳光比远方和异乡更遥远
请记得旅途和远景
请记得回忆和幸福
早晨和夜晚很刻意,它们永远不会看见彼此
人间四月,花朵越开越美
何时才能到达?看看少数人的愿望,和我们的蓝天

2021-12-30 [诗词] <<死在火星上>>

<<死在火星上>>

我终将死亡,
在群星闪耀的夜晚,
请将我埋葬。
不要问我从何处来,
来处遥隔千万里,
不要问我往哪里去,
前途无尽路茫茫,
不要为我悲伤,不要为我哭泣,
终有一日,
春风拂过,
枯木上会开出鲜艳的花,
你一定要来看看我啊,
当那一天来临,
我的墓碑上会有翠鸟张开翅膀,
撒下一片阳光。
当那一天来临,
请带上我的双眼,
穿越亿万光年的漫漫长河,
抵达宇宙的尽头,
你会看到那颗黯淡的蓝点,
在此处,
请将我的灵魂放逐。
如果你要问,
这是哪儿啊?
遥望一亿五千万平方公里的辽阔土地,
我会告诉你啊,
这是我的家园。

2021-03-25 [诗词]

本是青灯不归客,却因浊酒恋红尘。

2021-01-24 [音乐]

0%