亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker實現從零開始搭建SOLO個人博客的方法步驟

 更新時間:2021年11月15日 09:31:18   作者:陳小c  
本文主要介紹了Docker實現從零開始搭建SOLO個人博客,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、環(huán)境準備

要想在公網訪問你的博客,首先你需要一臺云服務器,也就是租用各大云廠商的服務器,像我就是花68塊買了一年青云的1核2G的服務器,你現在看到的博客就是在這臺服務器上,最好也購買一個專屬的域名。一年十幾就夠了。

二、安裝Docker

在這里插入圖片描述

因為我們是用Docker部署solo博客。所以我們首先要安裝docker,關于docker的介紹請各位同學自行百度。

配置yum源

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

安裝docker

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

啟動

systemctl enable docker --now

配置加速

這里額外添加了docker的生產環(huán)境核心配置cgroup

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

測試:

輸入 docker version 看到如下顯示就安裝成功了

image.png

三、安裝mysql主從數據庫

我們前面已經安裝了docker,這里我們直接用命令一鍵部署mysql數據庫(筆者部署的主從的mysql)

3.1、mysql環(huán)境準備

mkdir -p /data/master/data/mysql-master  &&  mkdir -p /data/master/data/mysql-slave  ##數據目錄
mkdir -p /data/master/master && mkdir -p /data/master/slave ##配置目錄

往配置目錄分別放兩個配置文件,master.cnf slave.cnf 內容分別如下:

[root@website master]# cat master/master.cnf
[mysqld]
log-bin=mysql-bin
binlog_format=row
server-id=1
log-error=/var/log/mysqld.log


[root@website master]# cat slave/slave.cnf
[mysqld]
log-bin=mysql-bin
binlog_format=row
server-id=2
log-error=/var/log/mysqld.log

3.2、啟動mysql主庫從庫

注意:這里的密碼設置為123456,將mysql的默認數據存放目錄映射給了我的/data/master/data

 docker run -itd  --name mysql-master -v /data/master/data/mysql-master:/var/lib/mysql -v /data/master/master:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.6
 docker run -itd --name mysql-slave -v /data/master/data/mysql-slave:/var/lib/mysql -v /data/master/slave:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3316:3306 mysql:5.6

3.3、登陸mysql主庫

docker ps -a ## 查看兩個mysql數據庫的狀態(tài)是否都是UP
docker exec -it mysql-master  /bin/bash
mysql -u root -p123456  ## 登陸mysql
show variables like 'log_bin'; ##查看bin-log的開啟狀態(tài),如果是ON代表開啟成功,我們主從同步是一定要開binlog
show master status; ## 查詢出的file名字與 Position要記一下,后面配置從庫會用到 
## 創(chuàng)建用戶并賦權
CREATE USER 'bakup'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'bakup'@'%'; 
create database solo;

3.4、登陸mysql從庫

 docker exec -it mysql-slave  /bin/bash  ## 進入從庫
 mysql -u root -p123456  ## 登陸mysql
 change master to master_host='192.168.1.5', master_port=3306,master_user='bakup',master_password='bakup', master_log_file='mysql-bin.000001',master_log_pos=154;  ##配置主從連接
 start slave;  ## 啟動從庫備份
 show slave status\G;  ##查看狀態(tài)

看到兩個YES大功告成!

在這里插入圖片描述

3.5、主從參數說明

  • master_host:主庫的IP地址/服務器地址
  • master_port:主庫的端口
  • master_user:主庫開放出來的用戶
  • master_password:用戶的密碼
  • master_log_file:主庫的日志文件,二進制日志文件,進行同步的。就是上面show master status 里面的File
  • master_log_pos:上面show master status 里面的Position

四、搭建solo博客

前面的準備工作都做完后,就可以開始安裝solo了
docker 啟動solo

docker run --detach --name solo      --env RUNTIME_DB="MYSQL"     --env JDBC_USERNAME="root"     --env JDBC_PASSWORD="123456"     --publish 8080:8080     --link mysql-master:mysql-master     --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver"     --env JDBC_URL="jdbc:mysql://192.168.1.5:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC"     b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=8080

docker logs solo ## 查看容器solo的日志

[INFO ]-[2021-11-12 18:30:32]-[org.b3log.solo.Server:254]: Solo is booting [ver=4.3.1, os=Linux, isDocker=true, inJar=false, luteAvailable=false, pid=1, runtimeDatabase=MYSQL, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:mysql://192.168.1.5:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC]
[INFO ]-[2021-11-12 18:30:34]-[org.b3log.solo.service.InitService:177]: It's your first time setup Solo, initialize tables in database [MYSQL]
[WARN ]-[2021-11-12 18:30:36]-[org.b3log.solo.service.InitService:150]: Solo has not been initialized, please open your browser to init Solo

當出現Solo has not been initialized, please open your browser to init Solo,代表solo安裝成功,但是未進行初始化,可以看到我們前面啟動的端口是8080,我們用域名加端口感覺很low,所以我們用nginx去轉發(fā)一下。

五、Nginx實現反向代理solo博客

關于nginx的安裝,在這里就不在贅述,同學們可以去百度一哈
上配置文件:

http {
    sendfile on;
    include       mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;
    gzip  on;
    upstream backend {
      server localhost:8080;
    }
    server {
        listen       80;
        server_name  yunxue521.top;
       location / {
        proxy_pass http://backend$request_uri;
        proxy_set_header  Host $http_host;
        proxy_set_header  X-Real-IP $remote_addr;
        }
}

可以看到我們定義了一個backend的地址指向我們本機的8080端口,nginx監(jiān)聽80端口,當我們去訪問80端口時,就會都轉發(fā)到8080端口,進而實現端口的轉發(fā)!

六、成果展示

在這里插入圖片描述

到此這篇關于Docker實現從零開始搭建SOLO個人博客的文章就介紹到這了,更多相關Docker實現從零開始搭建SOLO個人博客內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • Docker將鏡像文件發(fā)布到阿里云的詳細過程

    Docker將鏡像文件發(fā)布到阿里云的詳細過程

    這篇文章主要介紹了Docker將鏡像文件發(fā)布到阿里云的操作,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • docker如何查看已安裝的Redis版本

    docker如何查看已安裝的Redis版本

    這篇文章主要介紹了docker如何查看已安裝的Redis版本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 解決Docker容器下不能使用vim命令的問題

    解決Docker容器下不能使用vim命令的問題

    這篇文章介紹了解決Docker容器下不能使用vim命令的問題,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • Docker?隔離與限制原理介紹

    Docker?隔離與限制原理介紹

    這篇文章主要介紹了Docker?隔離與限制原理,對于?Docker?等大多數?Linux?容器來說,Cgroups?技術是用來制造約束的主要手段,而?Namespace?技術則是用來修改進程視圖的主要方法,下文相關介紹,需要的朋友可以參考一下
    2022-04-04
  • docker 部署prometheus+grafana的過程詳解

    docker 部署prometheus+grafana的過程詳解

    這篇文章主要介紹了docker 部署prometheus+grafana的過程,本文通過示例圖文相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Docker容器compose容器集群的快速編排方式

    Docker容器compose容器集群的快速編排方式

    這篇文章主要介紹了Docker容器compose容器集群的快速編排方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • mac docker如何修改daemon.json文件

    mac docker如何修改daemon.json文件

    這篇文章主要介紹了mac docker如何修改daemon.json文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker網絡配置及部署SpringCloud項目詳解

    Docker網絡配置及部署SpringCloud項目詳解

    bridge模式是Docker默認的網絡設置,此模式會為每一個容器分配Network Namespace、設置IP等,并將一個主機上的Docker容器連接到一個虛擬網橋上,下面這篇文章主要給大家介紹了關于Docker網絡配置及部署SpringCloud項目的相關資料,需要的朋友可以參考下
    2023-01-01
  • Docker部署Java應用程序的實現步驟

    Docker部署Java應用程序的實現步驟

    本文主要介紹了Docker部署Java應用程序的實現步驟,通過將Java應用程序打包成一個Docker鏡像,可以實現快速部署、資源隔離和靈活擴展,感興趣的可以了解一下
    2024-03-03
  • 基于docker-compose構建Mongodb副本集的示例詳解

    基于docker-compose構建Mongodb副本集的示例詳解

    副本集是?MongoDB?高可用性和數據安全性策略的基礎,適用于對數據安全性和服務可用性有較高要求的場景,本文給大家介紹了如何基于docker-compose構建Mongodb副本集,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2024-01-01

最新評論