docsify项目部署(华为云+宝塔+centos+docker+nginx)踩坑指南

docsify部署(华为云+宝塔+centos+docker+nginx)

docsify项目部署(华为云+宝塔+centos+docker+nginx)踩坑指南_第1张图片

1、安装docker

首先在服务器中安装docker

sudo yum install -y yum-utils

由于之前我的python默认版本升级到了python3,但yum执行使用的是python2,就遇到报错

File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax

解决:

vim /usr/libexec/urlgrabber-ext-down

将首行/usr/bin/python改为/usr/bin/python2.

其次

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

遇到第二个类似的错误,同理

vi /usr/bin/yum-config-manager

将首行/usr/bin/python后加个2

接下来安装

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

显示版本

sudo docker --version

参考链接:(3条消息) docsify快速部署搭建个人知识库(支持本地、服务器、虚拟机运行)_docsify部署在自己服务器_是谢添啊的博客-CSDN博客

[(4条消息) Linux]File “/bin/yum-config-manager“, line 135 except yum.Errors.RepoError, e:_Freeman Z的博客-CSDN博客

docsify项目部署(华为云+宝塔+centos+docker+nginx)踩坑指南_第2张图片

2、配置nginx

# 1.创建多级目录
sudo mkdir -p /knowledgebase/nginx/conf/ /knowledgebase/nginx/html/service/

# 2.创建 nginx.conf 文件
sudo vim /knowledgebase/nginx/conf/nginx.conf

确保已开通端口号

#user  root;
error_log  /var/log/nginx/error.log notice;
worker_processes  1;

pid        /var/run/nginx.pid;

events {
  worker_connections  1024;
}
http {
  include       mime.types;
  default_type  application/octet-stream;
  sendfile        on;
  keepalive_timeout  65;

    
  server {
      listen       5004;
      # 可进行域名绑定
      server_name  localhost;
      location / {
         root   html/service;
         index  index.html index.htm;
      }
      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   html;
      }
  }
}

将项目拖到/knowledgebase/nginx/html/service中

运行

sudo docker run --name knowledgenginx \
-v /knowledgebase/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /knowledgebase/nginx/html/service:/etc/nginx/html/service \
-p 5004:5004 \
-d nginx:1.23.4

运行成功即可访问

可是我运行不成功,遇到Cannot Connect to the Docker Daemon at ‘unix:///var/run/docker.sock’

运行以下命令解决问题

systemctl daemon-reload
service docker start
sudo dockerd

参考链接:Cannot Connect to the Docker Daemon at ‘unix:///var/run/docker.sock’ 出坑方法,已经解决了_weixin_42672605的博客-CSDN博客

最终成功部署到服务器上。

docsify项目部署(华为云+宝塔+centos+docker+nginx)踩坑指南_第3张图片

文末,一个低级疑问却一直没有得到解决:

我在nginx配置了server_name 我的域名;为什么还是只能使用ip:端口号来进行访问,且尝试过重启nginx,求解!

你可能感兴趣的:(docker,centos,nginx)