作者: admin

  • linux centos安装docker

    使用存储库安装docker

    一,首次安装需要设置docker引擎的话,需要设置docker的存储库,可以通过这个存储库安装和更新docker

    sudo yum install -y yum-utils
    sudo yum-config-manager \
        --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

    二, 安装docker

    sudo yum install docker-ce docker-ce-cli containerd.io

    安装途中会问到yes/no,一路yes

    三, 启动docker

    sudo systemctl start docker

    四, 验证docker

    sudo docker run hello-world

    五,查看docker 版本

    docker -v

    安装指定版本的docker

    一,查询docker的版本列表

    yum list docker-ce --showduplicates | sort -r

    显示如下

    docker-ce.x86_64            3:20.10.9-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.8-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.8-3.el7                    @docker-ce-stable
    docker-ce.x86_64            3:20.10.7-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.6-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.5-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.4-3.el7                    docker-ce-stable 

    二,安装指定版本

    sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

    卸载老版本docker

    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine

    linux centos如何安装docker-compose

    官方文档 https://docs.docker.com/engine/install/centos/

  • thinkphp6.0 多应用路由配置以及支持多级控制器

    thinkphp6.0如果需要配置多应用,需要composer 下载依赖

    composer require topthink/think-multi-app

    默认的路由配置在根目录下的route目录

    ├─app 应用目录
    │  ├─controller         控制器目录
    │  ├─model              模型目录
    │  ├─view               视图目录
    │  └─ ...               更多类库目录
    │
    ├─public                WEB目录(对外访问目录)
    │  ├─index.php          入口文件
    │  ├─router.php         快速测试文件
    │  └─.htaccess          用于apache的重写
    │
    ├─view                  视图目录
    ├─config                应用配置目录
    ├─route                 路由定义目录
    ├─runtime               应用的运行时目录

    多应用模式路由需要放在应用目录中

    ├─app 应用目录
    │  ├─index              主应用
    │  │  ├─controller      控制器目录
    │  │  ├─model           模型目录
    │  │  ├─view            视图目录
    │  │  ├─config          配置目录
    │  │  ├─route           路由目录
    │  │  └─ ...            更多类库目录
    │  │ 
    │  ├─admin              后台应用
    │  │  ├─controller      控制器目录
    │  │  ├─model           模型目录
    │  │  ├─view            视图目录
    │  │  ├─config          配置目录
    │  │  ├─route           路由目录
    │  │  └─ ...            更多类库目录
    │
    ├─public                WEB目录(对外访问目录)
    │  ├─admin.php          后台入口文件
    │  ├─index.php          入口文件
    │  ├─router.php         快速测试文件
    │  └─.htaccess          用于apache的重写
    │
    ├─config                全局应用配置目录
    ├─runtime               运行时目录
    │  ├─index              index应用运行时目录
    │  └─admin              admin应用运行时目录

    二,多级控制器,比如我给api接口要加版本好

    ├─api 应用目录
    │  ├─index              主应用
    │  │  ├─controller      控制器目录
    │  │  │  ├─v1           多级目录
    │  │  │  │  ├─Index.php 控制器文件
    │  │  │  │  ├─Blog.php  控制器文件
    │  │  ├─model           模型目录
    │  │  ├─view            视图目录
    │  │  ├─config          配置目录
    │  │  ├─route           路由目录
    │  │  └─ ...            更多类库目录
    │  │ 

    下面是api应用的路由设置

    Route::get('blog/:id','v1.Blog/read');
    或者
    Route::get('blog/:id',':version.Blog/read');
  • docker-compose thinkphp连接mysql出现错误(HY000/2002): Connection refused

    db:
        image: mysql:5.7
        volumes:
          - ./mysql:/var/lib/mysql
        restart: always

    根据doker-compose.yml里面文件数据库的配置命名db,php中连接的 mysql 地址就是 db,不用 localhost 或127.0.0.1

    如果是thinkphp5的话,修改config/database.php里面数据库的地址为db

    如果是thinkphp6的话,修改根目录下的.env文件

    APP_DEBUG = true
    
    [APP]
    DEFAULT_TIMEZONE = Asia/Shanghai
    
    [DATABASE]
    TYPE = mysql
    HOSTNAME = db //这里改成docker中数据库的命名
    DATABASE = mydatebase
    USERNAME = root
    PASSWORD = password
    HOSTPORT = 3306
    CHARSET = utf8
    DEBUG = true
    
    [LANG]
    default_lang = zh-cn
  • thinkphp6只能打开首页,或者服务器500错误

    根据官方文档,把nginx配置文件改成

    location / {
      if (!-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=/$1  last;
      }
    }  
  • koa的常用插件

    • bodyparser
    • koa-router
  • 记事本

    命令行

    • 光标移动到命令行最前面/后面 ctrl+a/ctrl+e

    Chrome浏览器

    • 撤销刚刚关闭的页面 command+shift+T
  • next.js如何使用axios请求数据

    next.js官方的demo中使用的fetch来获取异步数据,那么问题来了,如何使用axios请求数据?

    
    export default function Home({articles}) {
      return (
        <div>
          {articles.data.map(item=><div>{item.title}</div>)}
        </div>
      )
    }
    export async function getStaticProps() {
      // Call an external API endpoint to get posts
      const articles = await Axios({
        method: 'get',
        url: '/articlelist?page=1',
      })
    
      return {
        props: {
          articles:articles.data,
        },
      }
    }
    

    常见错误如下:

    Error: Error serializing `.articles` returned from `getStaticProps` in “/”. Reason: `undefined` cannot be serialized as JSON. Please use `null` or omit this value.

    如果 Axios前面忘记写 await 会出现这个错误提示

  • docker-compose安装wordpress

    1,新建目录wordpress

    2,在wordpress目录下创建 docker-compose.yml

    version: '3.1'
    services:
      wordpress:
        image: wordpress
        restart: always
        ports:
          - 8080:80
        environment:
          WORDPRESS_DB_HOST: db
          WORDPRESS_DB_USER: exampleuser
          WORDPRESS_DB_PASSWORD: examplepass
          WORDPRESS_DB_NAME: exampledb
        volumes:
          - ./wordpress:/var/www/html
      db:
        image: mysql:5.7
        restart: always
        environment:
          MYSQL_DATABASE: exampledb
          MYSQL_USER: exampleuser
          MYSQL_PASSWORD: examplepass
          MYSQL_RANDOM_ROOT_PASSWORD: '1'
        volumes:
          - ./db:/var/lib/mysql

    4,进入wordpress目录下,启动docker-compose

    docker-compose up -d

    5,关闭

    docker-compose down
  • centos如何安装docker-compose

    上面的文章是centos如何安装docker

    一,判断是否安装docker-compose

    docker-compose version

    二,如果你在windows或者mac安装了docker desktop或者toolbox,说明你已经安装了docker compose,可以直接使用。

    三,如果你是linux,你需要再安装docker compose

    1 运行下面的命令,下载docker compose的当前稳定版本

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    2 可执行操作

    sudo chmod +x /usr/local/bin/docker-compose

    参考: https://docs.docker.com/compose/install/

  • next.js安装antd

    example@example.com
    123-456-7890

    东长安街1号
    北京市东城区,100000